前言¶
在 DeepSeek Harness(DSH)里做智能体时,若希望模型能调用外部业务能力——例如查券、点餐——通常要自己写 MCP 客户端、维护工具列表,并在凭证变更时改代码。麦当劳中国已提供官方 MCP 端点(https://mcp.mcd.cn),但 DSH 不会自动识别远端工具。维护者 4KAForever11 的 dsh-mcd-mcp 插件负责:你在本机粘贴一次自己生成的 Token,远端工具会动态注册为带 mcd_ 前缀的 DSH 原生工具,模型即可在对话里按工具 schema 调用,而无需为每个远端接口手写封装。
这是什么¶
dsh-mcd-mcp 是 DSH 社区目录中的「联网工具」类插件(GitHub:4KAForever11/dsh-mcd-mcp)。它把麦当劳中国 MCP 以最小 MCP 客户端(JSON-RPC 2.0 + Streamable HTTP)接入 Harness:握手、tools/list、tools/call,并兼容 application/json 与 text/event-stream 两种响应。插件仓库不含任何 Token;凭证需你在 open.mcd.cn/mcp 自行申请。
核心功能¶
下面按层次说明插件在 Harness 里实际提供的能力。
动态工具注册¶
远端 MCP 上的工具会在 DSH 里注册为 mcd_<原名>。远端增删工具后,重启 DSH 即可同步,无需改插件代码。
常驻管理与兜底工具¶
即使尚未配置 Token,下列工具仍可用(未配置时会明确提示):
mcd_status— 是否已配置、已注册工具数量、最近一次同步或错误信息mcd_test— 握手并拉取工具清单,返回耗时、工具数量或失败原因mcd_tools— 列出远端全部工具名称与说明mcd_call— 按远端原名直接调用,参数原样透传
设置页还提供「测试连接」按钮,与 mcd_test 同类自检能力。
端点、鉴权与限流¶
- 默认端点
https://mcp.mcd.cn,可在 设置 → 麦当劳 MCP 中修改。 - 无 Token 或 Token 无效时,远端返回 401/403;插件会翻译为「Token 无效或已过期」,而不是返回空清单。
- 遇到 429(官方约 600 次/分钟)会自动退避重试两次;其他错误不重试,避免重复下单等副作用。
凭证存储¶
Token 保存在本机 ~/.dsh/dsh-mcd-mcp.json,文件权限为 0600,不进入对话上下文,也不写入设置 patch。开发侧用 mock 与 npm run check:secrets 扫描被 git 跟踪的文件,防止误提交凭证。
安装与启用¶
先把插件目录放到本机,再按 profile 安装。官方 README 给出的命令如下:
dsh plugin --profile <你的 profile> add ./dsh-mcd-mcp
也可以在 DSH 内通过 plugin_manager(action: install_bundle)指向该目录。
安装完成后重启一次 dsh web,打开 设置 → 麦当劳 MCP,粘贴 Token 并点击「保存并连接」。Token 需在 https://open.mcd.cn/mcp 生成。
运行环境要求 Node.js >=22.13.0(见 package.json 的 engines 字段)。当前插件版本为 0.1.0,许可证 MIT。
典型用法¶
经过上面的配置步骤后,模型在对话中可直接调用已注册的 mcd_* 工具,实现 README 所述的下单、查券、点餐等远端能力(具体工具名以 mcd_tools 或 mcd_test 返回为准)。
排查连通性时,可先调用 mcd_status 看配置与注册数量,再调用 mcd_test 或设置页「测试连接」确认握手与清单是否正常。若需调用尚未单独暴露为 mcd_* 的远端接口,可用 mcd_call 传入远端原名与参数。
适用场景与注意¶
适合已在 DSH 中开发智能体、并希望把麦当劳中国 MCP 能力交给模型调用的开发者。插件以当前 dsh 进程权限运行,Token 落在用户主目录;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的安全与合规要求。
DSH 生态强调「一切皆插件」;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。