前言¶
在 DeepSeek Harness(DSH)里接 MCP,常见做法是维护一份 JSON,列出各 MCP 服务器的 command、url、args、env 等字段。配置写错时,问题往往要到真正启动客户端、握手或连网之后才会暴露,排查成本高。
dsh-mcp-doctor 针对的是「配置文件本身」:在不启动 MCP 服务、不做握手、不发起网络请求的前提下,对本地 JSON 做静态检查。下面介绍它的定位、检查项、用法与边界。
这是什么¶
- 插件名称:lengrufeng2008/dsh-mcp-doctor(npm 包名
dsh-mcp-doctor) - 维护者:lengrufeng2008
- 分类:工作流(社区目录 SkillHub 标注;该站点为社区插件目录,与 DeepSeek / 幻方无官方从属关系)
- 版本(资料记载):0.1.0
- 许可证:MIT
- 运行环境:Node.js >= 20
一句话:对本地 MCP JSON 做静态校验,核对结构、命令/URL、类型与命名等,避免把明显错误留到运行阶段。
核心功能¶
校验逻辑覆盖 README 中列出的项(均为静态分析,非运行时探测):
- 根结构:是否存在
mcpServers、mcp.servers或servers等约定块。 - 必填字段:各服务器条目是否具备
command或url。 - 命令可执行性:
command是否在 PATH 中可找到,或为绝对路径且指向可执行文件(使用当前 shell 环境查找,而非 MCP 客户端进程环境)。 - URL:语法与协议是否符合预期。
- 类型:
args、env等字段类型是否合理。 - 命名:空名称、重复名称。
明确不做的事(Limits):
- 仅支持 JSON 配置文件。
- 不进行真实 MCP 握手、工具枚举或鉴权验证。
- 不是安全审计工具。
安装与启用¶
已抓取资料中未给出形如 dsh plugin add … 的完整安装命令;请勿凭仓库名自行拼接。插件在 SkillHub 标注为可安装、版本 v0.1.0,可从目录页与 GitHub 仓库获取源码与说明:目录页、GitHub。
作为 DSH 插件启用后,通过 Harness 调用校验能力;独立使用时可在克隆或安装包后,用 Node 直接跑 CLI(见下一节)。
安装或启用前,建议自行查看仓库源码与 MIT 许可证;插件以当前 DSH / Node 进程权限运行,校验命令是否存在时也会读取你本机 PATH,与 MCP 客户端实际运行环境可能不一致,需心里有数。
典型用法¶
命令行¶
在仓库或已安装包目录下,对指定配置文件执行校验。人类可读输出:
node bin/dsh-mcp-doctor.mjs ./mcp.json
需要机器可读结果时加 --json:
node bin/dsh-mcp-doctor.mjs ./mcp.json --json
在 DSH 内¶
README 给出的 Harness 用法示例:
Use mcp_doctor on ./mcp.json.
将 ./mcp.json 换成你实际的 MCP 配置文件路径即可。
开发与自测¶
维护者提供的测试入口:
npm test
(对应 node --test test/*.test.mjs。)
适用场景与注意¶
适合:
- 改完 MCP JSON 后、提交或部署前,快速扫一遍结构与明显错误。
- 在 CI 或本地脚本里对固定路径的配置做静态 gate(可配合
--json解析结果)。
注意:
- 通过校验不代表 MCP 服务一定能握手成功;端口、鉴权、网络策略等仍需在真实客户端里验证。
command是否存在取决于执行 doctor 时的环境,若 MCP 只在容器或另一用户下安装,可能出现「doctor 报找不到命令、客户端却能跑」的情况。- 仅 JSON;若你用的是其他格式,需先转换或换工具。
结尾¶
dsh-mcp-doctor 把 MCP 配置里常见笔误和结构问题前移到编辑阶段,适合作为 DSH 工作流里的一小步静态检查。需要细节与更新时,以仓库 README 为准。