dsh-mcp-inspector:在 DeepSeek Harness Web UI 中查看與管理 MCP 服務

前言

在 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 語言(中/英)。

環境與前置條件

  1. DeepSeek Harness 0.2.x(Web GUI 或桌面版)。
  2. Profile 需加載 base 與 web-app bundles。
  3. 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,但沒有對應配置行

典型用法

  1. 在 profile 中按上文示例配置至少一個 @deepseek-ai/dsh-mcp-client 條目並完成插件安裝。
  2. 打開 Web UI,點擊側邊欄 MCP servers,確認各行狀態是否符合預期(例如 Failed 時對照 Configuration 中的 command/args)。
  3. 展開某行查看 Methods,覈對 Agent 側可見的工具名與參數是否與 MCP 服務文檔一致。
  4. 臨時停用某個服務:使用該行開關;確認狀態變爲 Disabled,且重啓 Harness 後仍保持禁用(因寫入 cordis.patch.yml)。
  5. 需要改 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 目錄頁 查看條目信息。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜