一个与HackMD API交互的模型上下文协议(MCP)服务器,允许LLM客户端访问和与HackMD笔记、团队、用户资料和历史数据进行交互。
mcp.json / claude_desktop_config.json中:{
"mcpServers": {
"hackmd": {
"command": "npx",
"args": ["-y", "hackmd-mcp"],
"env": {
"HACKMD_API_TOKEN": "your_api_token"
}
}
}
}
如果需要使用不同的HackMD API端点,您还可以选择设置HACKMD_API_URL环境变量。
按照本地开发中的说明设置项目,然后运行:
pnpm run start:http
默认情况下,这将在8081端口启动服务器。您可以通过设置PORT环境变量来更改端口。
您可以将此MCP服务器部署到支持Node.js服务器应用程序的任何云平台上。
您也可以通过MCP平台如Smithery进行部署。
当使用STDIO传输或托管HTTP传输服务器时,可以通过环境变量传递配置:
HACKMD_API_TOKEN:HackMD API令牌(所有操作都需要)HACKMD_API_URL:(可选) HackMD API URL(默认为https://api.hackmd.io/v1)[!警告] 如果您在托管HTTP传输服务器时预配置了令牌,请确保保护您的端点并在允许用户访问之前实现身份验证。否则,任何人都可以使用您的HackMD令牌访问您的MCP服务器。
当使用HTTP传输时,用户可以通过HTTP头传递配置:
Hackmd-Api-Token:HackMD API令牌(所有操作都需要)Hackmd-Api-Url:(可选) HackMD API URL(默认为https://api.hackmd.io/v1)如果用户在头部提供了令牌,而服务器也设置了HACKMD_API_TOKEN,则头部值将优先。
要获取API令牌,请执行以下步骤:
.env文件或环境变量中。你能帮我管理我的HackMD笔记吗?
请列出我所有的笔记。
创建一个标题为“会议记录”的新笔记,内容如下:
```
# 会议记录
讨论要点:
- 事项1
- 事项2
```
显示我所属的所有团队,并列出第一个团队中的笔记。
该项目使用pnpm作为其包管理器。
克隆仓库并安装依赖项:
git clone https://github.com/yuna0x0/hackmd-mcp.git
cd hackmd-mcp
pnpm install
.env文件:cp env.example .env
.env文件并添加您的HackMD API令牌:HACKMD_API_TOKEN=your_api_token
您可以使用MCP Inspector来测试和调试HackMD MCP服务器:
npx @modelcontextprotocol/inspector -e HACKMD_API_TOKEN=your_api_token npx hackmd-mcp
# 当本地开发时使用这个
pnpm run inspector
然后在提供的URL(通常是http://localhost:6274)打开浏览器以访问MCP Inspector界面。在那里,您可以:
这对于在连接到MCP客户端(如Claude Desktop)之前测试您的设置特别有用。
从Docker Hub拉取:
docker pull yuna0x0/hackmd-mcp
Docker构建(本地开发):
docker build -t yuna0x0/h_ackmd-mcp .
Docker多平台构建(本地开发):
docker buildx build --platform linux/amd64,linux/arm64 -t yuna0x0/hackmd-mcp .
此MCP服务器接受您的HackMD API令牌在.env文件、环境变量或HTTP头中。请确保这些信息的安全性,切勿将其提交到版本控制中。
本项目根据MIT许可证发布 - 详情见LICENSE文件。