Docmost MCP
轻量级HTTP MCP服务器,通过HTTP公开的工具与DocMost实例交互。它不依赖于外部包,只依赖Node.js(V18+)。
当前版本: 0.1.2 (反映在 package.json 并在MCP描述符中提供)。
要求
- Node.js 18或更高
fetch本地) - 环境变量:
- DOCMOST_BASE_URL:DocMost实例的基本URL(例如。 https://demo.docmost.com). - 认证: 这两种选择之一 - DOCMOST_API_TOKEN:承载器身份验证令牌。 - DOCMOST_EMAIL y DOCMOST_PASSWORD:自动获取cookie的凭据 authToken 德博士。 - PORT (可选):服务器将侦听的端口。默认为3000。 - READ_ONLY (可选):如果值得的话 true,不公开编写(创建/更新页面)的工具。
安装
没有外部依赖。只需克隆存储库并定义环境变量即可。
# Opción 1: token
export DOCMOST_BASE_URL="https://demo.docmost.com"
export DOCMOST_API_TOKEN=""
export PORT=3000
export READ_ONLY=false
# Opción 2: login automático por email/contraseña (obtiene authToken)
export DOCMOST_BASE_URL="https://demo.docmost.com"
export DOCMOST_EMAIL="robot@example.com"
export DOCMOST_PASSWORD="tu_clave"
export PORT=3000
export READ_ONLY=false使用
运行服务器:
npm start检查状态:
curl http://localhost:3000/health发现可用的MCP工具:
curl http://localhost:3000/mcp/tools运行工具(tool-call):
curl -X POST http://localhost:3000/mcp/tool-call \
-H "Content-Type: application/json" \
-d '{
"tool": "search_pages",
"params": { "query": "onboarding" }
}'Docker/Docker编写
公共形象: ghcr.io/makespacemadrid/docmost-mcp:latest (每个提交的特定标签: ghcr.io/makespacemadrid/docmost-mcp:).
您还可以使用Docker Compose运行服务器。复制 .env.example 一 .env 并完成值:
cp .env.example .env是.env它已经存在(测试团队),它会复制您对它所做的任何更改env.example然后重建以测试:docker compose buildydocker compose up -d.
启动服务(下载发布的图像或在您更改代码的情况下重建):
# usar la imagen publicada
docker compose up -d
# o forzar pull si ya existe
docker compose up -d --pull always
# si modificaste código local y quieres construir
docker compose up --buildAPI将在 http://localhost:3000.停止服务 docker compose down.
暴露的工具
list_spaces:返回可用空间。list_pages:需要spaceId,列出空间页面。get_page:需要pageId,获取页面内容。search_pages:需要query,按文本搜索页面。create_page:需要title,contentyspaceId; 承认folderId.update_page:需要pageIdypayload要修改的字段。
主要端点
GET /health:生命检查。GET /mcp/tools:工具目录。POST /mcp/tool-call:运行带有JSON主体的工具{ tool, params }.GET /.well-known/mcp:MCP服务器的最小描述符。- Json-rpc(用于客户端streatf HTTP):
POST /mcp(别名/mc,/m,/)接受initialize,list_tools,call_tool。例如:
curl -s http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize"}'发展
npm start:启动服务器。npm run dev:在开发模式下启动服务器(仅更改变量NODE_ENV).npm run lint:验证密钥文件是否存在。
与MCP代理和Notes的集成
- 建议的基本URL:
http(s)://:3000(Prod中的示例:https://docmost-mcp.mksmad.org). - 可用的MCP描述符
/.well-known/mcpy/mcp/.well-known/mcp;包括名称和版本(0.1.2). - 一些客户发布了根(
/);也回答了JSON-RPCinitialize/list_tools/call_tool英语/,/mcp,/mc,/m. - 是
READ_ONLY=true,写作工具(create_page,update_page)它们不会发布,给它们的电话将被拒绝。 - 通往DocMost的路线采用最传统的终点(例如。
/api/spaces,/api/pages)哦。调整src/docmostClient.js如果你的实例不同。 - 快速检查:
curl -i https://docmost-mcp.mksmad.org/.well-known/mcp
curl -s https://docmost-mcp.mksmad.org/mcp -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize"}'服务器日志打印 [req] MÉTODO URL y [headers] {...} 跟踪客户的要求。
