MCP 接入指南
MCP(Model Context Protocol)是一套开放协议,让 AI 助手以标准方式调用外部工具和数据源。本框架的文档中心提供 MCP 服务,接入后 AI 助手(WorkBuddy、Claude、Cursor 等)可以直接检索和查询全部文档,不用翻网页。
线上地址:https://msmf.yulovehan.top/mcp
服务提供什么
三个工具,覆盖「浏览 → 检索 → 阅读」的完整查询路径:
| 工具 | 参数 | 说明 |
|---|---|---|
list_docs | 无 | 列出全部文档(路径、标题、分类、摘要),共 14 篇 |
search_docs | query | 按关键词全文检索,返回命中文档、章节与片段 |
get_doc | path | 读取指定文档的完整 Markdown 内容 |
文档源与官网同源(都是仓库 docs/ 目录),官网看到什么,MCP 就能查到什么。官网更新文档后,MCP 检索结果同步更新。
search_docs 返回带评分排序,示例(检索「标题栏 按钮」):
[
{ "path": "examples/examples.md", "title": "示例集", "score": 101,
"snippets": [{ "heading": "带标题栏按钮的操作模块", "line": "…" }] },
{ "path": "guide/shell.md", "title": "外壳集成", "score": 73, "snippets": ["…"] }
]接入方式一:云端 HTTP(推荐)
文档官网部署在 EdgeOne Pages 上,自带 MCP 端点(Streamable HTTP 传输,无状态),一次部署所有人共用。
WorkBuddy:MCP 配置文件 ~/.workbuddy/mcp.json:
{
"mcpServers": {
"meteor-docs": {
"type": "http",
"url": "https://msmf.yulovehan.top/mcp"
}
}
}保存后在连接器管理页信任并启用该服务。
Claude / Cursor 等通用客户端:在各自的 MCP 配置里写同样的 type: http + url 结构即可。
接入方式二:本地 stdio
不方便暴露公网、或想在离线环境使用时,直接挂本机进程。服务脚本是仓库里的 mcp-server/docs-server.mjs(Node.js 18+,零依赖)。
WorkBuddy:~/.workbuddy/mcp.json:
{
"mcpServers": {
"meteor-docs": {
"command": "node",
"args": ["<仓库绝对路径>/mcp-server/docs-server.mjs"]
}
}
}Claude Desktop(claude_desktop_config.json)与 Cursor(mcp.json)写法相同:command 用 node,args 指向脚本绝对路径。
stdio 版直接读仓库 docs/ 目录,文档改动即时生效,无需重启。
验证是否接通
配置完成后,在 AI 助手里问一句:
流星雨模块框架怎么注册标题栏按钮?
正常的反应是:调用 search_docs 检索 → 引用 外壳集成 的内容,给出 ctx.push_titlebar 的用法。
也可以先用命令行直接验证端点是否存活:
curl -X POST https://msmf.yulovehan.top/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'返回包含 list_docs / search_docs / get_doc 的 JSON 即正常。
排错
| 现象 | 原因 | 处理 |
|---|---|---|
| 客户端里看不到 meteor-docs | 配置未生效 / 服务未信任 | 检查 JSON 语法;WorkBuddy 需在连接器管理页信任启用 |
| 云端端点 404 | EdgeOne 构建未同步 edge-functions | 确认最新代码已推送并触发重新部署;edge-functions/ 必须在仓库根 |
| 云端端点 500 | 数据包与函数版本不一致 | 重新构建推送(edge-functions/mcp-data.js 由构建生成,勿手改) |
get_doc 报文档不存在 | path 写错 | 先 list_docs 拿到准确路径再取 |
| 检索结果为空 | 关键词太偏 | 换同义词,或先 list_docs 浏览分类 |
| stdio 版启动失败 | Node 版本低于 18 或路径错误 | node -v 确认版本;args 必须是绝对路径 |
两种方式怎么选
| 场景 | 建议 |
|---|---|
| 团队共用、多设备 | 云端 HTTP:一次部署,所有人只配一个 URL |
| 个人使用、文档本地迭代中 | 本地 stdio:改动即时生效,不走网络 |
| 离线环境 | 本地 stdio |