MCP 使用文档

密钥管理

简介

DocShare 内置零依赖的 MCP 服务器(Node ≥ 18,stdio 传输),把开放平台 API 包装成 MCP 工具。CodeBuddy / Claude Desktop / Cursor 等 AI 客户端可直接创建、检索、更新文档(含思维导图 / 画板 / drawio 画布)与管理项目、分类、模板。

权限与 Web 端一致:密钥属主即文档所有者,viewer 密钥只能操作自己的资源。

快速开始

MCP 服务器脚本位于仓库 mcp/ 目录(单文件、零依赖): GitHub · mcp/

四步接入:

  1. 在「API 密钥」页创建密钥,得到 AppKey(ak_ 开头)与 Secret(sk_ 开头,仅创建时显示一次)。
  2. 在 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"
      }
    }
  }
}
  1. 也可不用环境变量,改为在 mcp/ 目录创建 mcp.config.json(参考 mcp/mcp.config.example.json,已被 .gitignore 忽略)。
  2. 重载 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_doc
docshare_update_doc
docshare_delete_doc
文档增删改;type 支持 markdown / mindmap / board / drawio(更新时 content 整体覆盖)
docshare_create_html_page
docshare_get_html_page
docshare_replace_html_page
单页 HTML(试卷/简历等):JSON 传入完整自包含页面(CSS/JS 内联);读回 / 整页替换;多文件整站请用 zip 上传
docshare_upload_html上传 zip 创建多文件 HTML 整站(本地 zip 路径)
docshare_import_from_url从公网链接抓取正文,创建可编辑的 Markdown 文档
docshare_list_projects
docshare_create_project 等 4 个
项目管理(删除后其下文档回到未分组)
docshare_list_categories
docshare_create_category 等 4 个
分类管理(删除后其下文档变为未分类)
docshare_list_templates
docshare_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 读一篇同类文档作为范例;次要字段可省略,渲染端有默认值兜底。