MCP 使用文档
密钥管理简介
DocShare 内置零依赖的 MCP 服务器(Node ≥ 18,stdio 传输),把开放平台 API 包装成 MCP 工具。CodeBuddy / Claude Desktop / Cursor 等 AI 客户端可直接创建、检索、更新文档(含思维导图 / 画板 / drawio 画布)与管理项目、分类、模板。
权限与 Web 端一致:密钥属主即文档所有者,viewer 密钥只能操作自己的资源。
快速开始
MCP 服务器脚本位于仓库 mcp/ 目录(单文件、零依赖): GitHub · mcp/
四步接入:
- 在「API 密钥」页创建密钥,得到 AppKey(ak_ 开头)与 Secret(sk_ 开头,仅创建时显示一次)。
- 在 MCP 客户端的 mcpServers 配置中加入(地址替换为你的站点地址):
{
"mcpServers": {
"docshare": {
"command": "node",
"args": ["/path/to/doc-share/mcp/mcp-server.js"],
"env": {
"DOC_SHARE_BASE_URL": "https://22qalpohd8v7x.app.jcloudcs.com",
"DOC_SHARE_APP_KEY": "ak_xxx",
"DOC_SHARE_SECRET": "sk_xxx"
}
}
}
}
- 也可不用环境变量,改为在 mcp/ 目录创建 mcp.config.json(参考 mcp/mcp.config.example.json,已被 .gitignore 忽略)。
- 重载 MCP 客户端,工具列表出现 docshare_* 即接入成功。
AI 自动配置
把下面这段提示语发给你的 AI 客户端(CodeBuddy / Cursor 等),它会自动完成下载与配置:
🤖
AI 自动配置 · Prompt
请帮我配置 DocShare 的 MCP 服务:
1. 下载 https://raw.githubusercontent.com/3thinkthendoit/doc-share/main/mcp/mcp-server.js 并保存为 ~/.docshare/mcp-server.js(目录不存在则创建);
2. 在我的 MCP 客户端配置文件的 mcpServers 中添加:{"docshare":{"command":"node","args":["~/.docshare/mcp-server.js"],"env":{"DOC_SHARE_BASE_URL":"https://22qalpohd8v7x.app.jcloudcs.com","DOC_SHARE_APP_KEY":"<待填写>","DOC_SHARE_SECRET":"<待填写>"}}};
3. AppKey/Secret 需要我在 https://22qalpohd8v7x.app.jcloudcs.com/console/apikeys 创建,如果我还没创建,请提醒我并把获得的值填入上面的 env;
4. 完成后重载客户端,验证 docshare_* 工具可用。
工具清单
共 25 个工具:
| 工具 | 说明 |
|---|---|
docshare_list_docs | 分页列出文档(不含正文),可按项目 / 分类过滤 |
docshare_get_doc | 读取文档完整内容(Markdown 正文 / 画布 JSON / drawio mxfile XML;html 为站点 manifest) |
docshare_create_docdocshare_update_docdocshare_delete_doc | 文档增删改;type 支持 markdown / mindmap / board / drawio(更新时 content 整体覆盖) |
docshare_create_html_pagedocshare_get_html_pagedocshare_replace_html_page | 单页 HTML(试卷/简历等):JSON 传入完整自包含页面(CSS/JS 内联);读回 / 整页替换;多文件整站请用 zip 上传 |
docshare_upload_html | 上传 zip 创建多文件 HTML 整站(本地 zip 路径) |
docshare_import_from_url | 从公网链接抓取正文,创建可编辑的 Markdown 文档 |
docshare_list_projectsdocshare_create_project 等 4 个 | 项目管理(删除后其下文档回到未分组) |
docshare_list_categoriesdocshare_create_category 等 4 个 | 分类管理(删除后其下文档变为未分类) |
docshare_list_templatesdocshare_create_template 等 5 个 | 文档模板管理:维护可复用的文档初始内容(markdown / 思维导图 / 画板 / drawio),可绑定项目与分类,项目成员可共用 |
画布文档格式
画布类文档的 content 是结构化文本,AI 按以下格式生成即可直接渲染:
思维导图(type=mindmap)— simple-mind-map 节点树:
{
"data": { "text": "中心主题" },
"children": [
{ "data": { "text": "分支" }, "children": [] }
]
}
画板(type=board)— 标准 Excalidraw scene:
{
"type": "excalidraw", "version": 2, "source": "doc-share",
"elements": [
{ "type": "rectangle", "id": "r1", "x": 100, "y": 80,
"width": 180, "height": 70, "backgroundColor": "#a5d8ff" }
],
"appState": { "viewBackgroundColor": "#ffffff" }, "files": {}
}
drawio 图表(type=drawio)— 未压缩 mxfile XML:
<mxfile host="doc-share"> <diagram id="page-1" name="Page-1"> <mxGraphModel> <root> <mxCell id="0"/><mxCell id="1" parent="0"/> <mxCell id="2" value="开始" style="rounded=1;" vertex="1" parent="1"> <mxGeometry x="80" y="60" width="120" height="48" as="geometry"/> </mxCell> </root> </mxGraphModel> </diagram> </mxfile>
拿不准格式时,先用 docshare_get_doc 读一篇同类文档作为范例;次要字段可省略,渲染端有默认值兜底。