使用说明
Docmost MCP服务器
MCP(模型上下文协议)服务器,作为MCP工具提供对Docmost REST API的访问。
特性
- 将Docmost REST API实现为MCP工具
- 支持stdio和HTTP传输
- 服务器端凭据配置
- 为空间、页面、用户、工作区、评论、组和搜索提供完整的API覆盖范围
安装
go build -o docmost-mcp ./cmd/server
码头工人
docker build -t docmost-mcp .
docker run -e DOCMOST_URL=https://docmost.example.com -e DOCMOST_USER=admin -e DOCMOST_PASS=your_password -p 8080:8080 docmost-mcp
用法
命令行选项
./docmost-mcp [options]
选项:
-transport-运输类型:stdio(默认)或http-port-HTTP服务器端口(默认值:8080,仅用于http传输)-docmost-url-Docmost服务器URL(必需或设置DOCMOST_URL任何人)-docmost-user-Docmost用户名(必填或设置DOCMOST_USER任何人)-docmost-pass-Docmost密码(必填或设置DOCMOST_PASS任何人)
示例
标准传输(适用于MCP客户端)
export DOCMOST_PASS=your_password
./docmost-mcp -transport stdio -docmost-url https://docmost.example.com -docmost-user admin
HTTP传输
export DOCMOST_PASS=your_password
./docmost-mcp -transport http -port 8080 -docmost-url https://docmost.example.com
可用工具
空间工具
spaces_list-列出所有空间space_info-获取空间信息space_create-创建新空间space_update-更新空间space_delete-删除空格space_members-获取空间成员space_members_add-向空间添加成员space_members_remove-从空间中删除成员space_members_change_role-更改空间中的成员角色
用户工具
user_me-获取当前用户信息user_update-更新用户信息
工作区工具
workspace_info-获取工作区信息workspace_public-获取公共工作区信息workspace_members-获取工作区成员workspace_update-更新工作区设置workspace_members_change_role-更改工作区成员角色workspace_invites-获取工作区邀请workspace_invites_create-创建工作区邀请workspace_invites_resend-重新发送工作区邀请workspace_invites_revoke-撤销工作区邀请workspace_invites_info-获取工作区邀请信息
页面工具
page_create-创建新页面page_info-获取页面信息page_update-更新页面page_delete-删除页面page_move-移动页面page_sidebar_pages-获取侧边栏页面page_breadcrumbs-获取页面面包屑page_recent-获取最新页面page_export-导出页面(html/markdown)page_history-获取页面历史记录page_history_info-获取页面历史信息
评论工具
comment_create-创建评论comment_list-列出页面的评论comment_info-获取评论信息comment_update-更新评论comment_delete-删除评论comment_resolve-解决或取消解决评论
组工具
group_list-列出组group_info-获取组信息group_create-创建组group_update-更新组group_delete-删除组group_members-获取组成员group_members_add-向组中添加成员group_members_remove-从组中删除成员
搜索工具
search-搜索内容search_suggest-获取搜索建议
延伸
要添加更多Docmost API端点,请执行以下操作:
- 在中添加输入结构类型
internal/mcp/tools.go或创建新文件 - 使用添加工具注册
mcp.AddTool()在适当的register*Tools()函数 - 遵循API调用的现有模式
例子:
type CommentCreateInput struct {
Content string `json:"content" jsonschema:"description:Comment content,required"`
PageID string `json:"page_id" jsonschema:"description:Page ID,required"`
}
func (s *Server) registerCommentTools() {
mcp.AddTool(s.server, &mcp.Tool{
Name: "comment_create",
Description: "Create a comment",
}, func(ctx context.Context, req *mcp.CallToolRequest, input CommentCreateInput) (*mcp.CallToolResult, Output, error) {
client := s.getClientFromArgs(map[string]any{})
body := url.Values{}
body.Set("content", input.Content)
body.Set("pageId", input.PageID)
resp, err := client.post("/comments/create", body, nil)
if err != nil {
return nil, Output{}, err
}
return nil, Output{Text: string(resp)}, nil
})
}
api参考
请参阅 Docmost API邮差系列 获取完整的API文档。
本地副本也可在 docmost-api/docmost api.postman_collection.json.
许可证
麻省理工学院