前言¶
在 DeepSeek Harness(DSH)裏接入多個 MCP 服務時,配置通常寫在 profile 的 cordis.patch.yml 中,通過 @deepseek-ai/dsh-mcp-client 聲明 transport、命令與參數。排查連接是否正常、當前暴露了哪些工具、或臨時關掉某個服務而不改 YAML,往往要翻配置文件、看日誌或重啓進程。
dsh-mcp-inspector 是維護者 zwgblue 提供的客戶端類 DSH 插件:在 Web UI 左側邊欄增加「MCP servers」入口,列出當前 profile 下已配置的 MCP 服務、實時狀態,並可展開查看配置與方法列表,運行時開關單個服務。項目在 SkillHub 插件目錄 歸類爲客戶端;當前 package 版本爲 0.0.2,許可證爲 MIT。
這是什麼¶
一句話:面向 DeepSeek Harness Web UI 的側邊欄面板,只讀展示 MCP 清單與工具方法,並通過 Host 提供的 loopback 接口做按服務啓停,變更會寫回 profile 的 cordis.patch.yml。
插件由 Host 半(index.js:清單與 toggle 路由)與 Client 半(client.js:React 面板)組成,隨 bundle 的 cordis.patch.yml 注入 Host 行 mcp-inspector。
核心功能¶
下面按 README 已說明的能力歸納,不展開未在資料中出現的行爲。
側邊欄與列表¶
- 左側邊欄出現 MCP servers 圖標,點擊進入全局面板。
- 每個服務一行,狀態取值包括:Connected、No tools yet、Disabled、Failed、Runtime-registered(含義見下文「狀態含義」)。
展開單個服務¶
- Configuration:傳輸類型徽章(
stdio/streamable-http)、command、arguments(逐行)、工作目錄、endpoint URL;header 與 environment 僅顯示名稱(值不向面板傳出);call timeout、instruction cap、啓動失敗策略、重連策略、entry id。 - Methods:列出該 MCP 暴露的每個 tool,含名稱、完整描述與參數(必填項高亮)。
運行時開關¶
- 可對單個服務啓用或禁用:禁用會關閉 MCP 連接並註銷其 tools;啓用會重連。
- 實現走 Host 官方的
pluginManager.setPluginEnabled(),寫入當前 profile 的cordis.patch.yml,重啓後仍有效。
刷新與界面¶
- 打開面板時讀取一次,之後每 15 秒輪詢;切換開關後立即刷新,並在服務重連期間額外讀一次。
- UI 使用 Host 主題 token(亮/暗),文案跟隨 Host 語言(中/英)。
環境與前置條件¶
- DeepSeek Harness 0.2.x(Web GUI 或桌面版)。
- Profile 需加載 base 與 web-app bundles。
- MCP 服務須在 profile 中通過
@deepseek-ai/dsh-mcp-client聲明,例如在cordis.patch.yml:
- insert:
- id: mcp-github
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: github
transport: stdio
command: npx
args: ['-y', '@modelcontextprotocol/server-github']
安裝與啓用¶
README 說明:先將本倉庫放到本地目錄,再任選一種方式安裝進 Harness(資料原文爲 clone 後安裝;此處只寫安裝入口,不執行 clone)。
Web UI:Settings → Plugins → Add → 指向倉庫的絕對路徑,然後啓用插件。
Agent / CLI:由 Harness agent 執行 plugin_manager 的 install_bundle,目標爲倉庫路徑;或執行:
dsh plugin --profile <profile> add /absolute/path/to/dsh-mcp-inspector
安裝成功後,左側邊欄應出現 MCP servers。若只改了客戶端代碼,需在 Plugins 頁面禁用再啓用該插件,或重啓 Harness。
Host 路由與安全¶
Host 半註冊兩條僅 loopback 的路由,無用戶可配項:
| 方法與路徑 | 用途 |
|---|---|
GET /mcp-inspector/servers |
只讀清單:已配置服務、狀態、配置、methods |
POST /mcp-inspector/toggle |
啓停一行;body 爲 { "entryId": "<Loader entry id>", "enabled": true } |
安全相關說明(摘自 README):
- 綁定在 Harness 自有 loopback Web 服務上,不額外開端口。
env與請求headers的值不離開 Host;面板只顯示名稱。toggle僅接受 POST,需請求頭x-mcp-inspector-action: toggle;拒絕跨站sec-fetch-site;僅允許切換清單中認定爲 MCP 服務的行。
狀態含義¶
| 狀態 | 含義 |
|---|---|
| Connected | 條目已啓用,且當前已註冊 methods |
| No tools yet | 條目已啓用,但尚無 method(仍在連接或服務未暴露 tools) |
| Disabled | 條目已禁用(面板開關或 patch 中 disabled: true) |
| Failed | 激活失敗(例如啓動命令錯誤) |
| Runtime-registered | 有已註冊 methods,但沒有對應配置行 |
典型用法¶
- 在 profile 中按上文示例配置至少一個
@deepseek-ai/dsh-mcp-client條目並完成插件安裝。 - 打開 Web UI,點擊側邊欄 MCP servers,確認各行狀態是否符合預期(例如 Failed 時對照 Configuration 中的 command/args)。
- 展開某行查看 Methods,覈對 Agent 側可見的工具名與參數是否與 MCP 服務文檔一致。
- 臨時停用某個服務:使用該行開關;確認狀態變爲 Disabled,且重啓 Harness 後仍保持禁用(因寫入
cordis.patch.yml)。 - 需要改 transport、命令或環境變量時,仍應編輯 profile 配置;本面板側重觀測與運行時啓停,不替代完整配置編輯。
適用場景與注意¶
適合:在同一 DSH profile 下維護多個 MCP 服務、需要在瀏覽器裏快速看連通性與工具列表、或想在不手改 YAML 的情況下關掉單個服務的開發者。
注意:
- 插件邏輯在當前 DSH 進程權限下運行;安裝前應閱讀倉庫源碼並確認 MIT 許可證與行爲是否符合你的環境策略。
- Toggle 與清單數據來自 Host loopback,面向本機已登錄的 Harness 會話;勿將 loopback 服務暴露到公網。
- 社區目錄 SkillHub 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態倡導「一切皆插件」,本件爲社區客戶端擴展。
結尾¶
dsh-mcp-inspector 把當前 profile 下的 MCP 服務集中到側邊欄:狀態一目瞭然,配置與方法可展開覈對,開關會持久化到 cordis.patch.yml。若要試用或貢獻,可從 GitHub 倉庫 獲取源碼,並在 SkillHub 目錄頁 查看條目信息。