前言¶
在 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 爲準。