dsh-mcp-manager:在 DSH 側欄裏管理 MCP 服務,不必手改 YAML

前言

在 DeepSeek Harness(DSH)裏接 MCP(Model Context Protocol)時,常見做法是把各 server 寫進 profile 的 YAML:改一行就要找配置、重啓或等插件掛載,連接是否成功也要靠日誌或對話裏試工具。對需要經常換 server、調參數、驗證握手的開發者來說,入口偏深、狀態不直觀。

下面介紹社區插件 dsh-mcp-manager(維護者 HalcyonAzure)。它在 DSH 左側欄提供 MCP servers 面板,用表單增刪改 server,並在保存前做 Test connection;與 Settings → MCP servers、Plugins → MCP servers → Configure 共用同一套編輯器。分類上屬於 客戶端 插件(client.js 註冊側欄與主區 UI),主機側則用 @deepseek-ai/dsh-mcp-client 掛載各 server。

這是什麼

dsh-mcp-manager 的定位是:在 DSH 圖形界面裏管理 MCP server 列表,替代反覆手改 profile YAML。Server 列表保存在該插件行的 config.servers 中,由 UI 經 DSH 配置編輯器寫入。

當前 package 版本爲 1.1.0,許可證 MIT。DSH 社區目錄頁:https://www.skillhub.cn/plugins/HalcyonAzure/dsh-mcp-manager;源碼與說明:https://github.com/HalcyonAzure/dsh-mcp-manager(倉庫另有 README.zh.md)。

核心功能

經 README 覈實,插件提供的能力包括:

  1. 側欄入口:左側 MCP servers 打開主欄全頁,server 狀態一步可達,不必只在 Settings 裏翻。
  2. 兩種傳輸:stdio(本地命令)與 streamable HTTP(URL)。
  3. 保存前測試:Test connection 執行 MCP 握手並列出 server 暴露的工具。
  4. 運行態:每行有啓用開關;狀態爲 connected / connecting / failed / disabled;單次調用超時可設 1–600 秒,默認 60 秒。
  5. 密鑰與配置分離:普通環境變量、Header 寫在行配置裏;密鑰環境變量與 Secret Header 的值進 DSH credential store,行裏只保留 credential 密鑰名。
  6. 只讀 Agent 工具:mcp_servers(list / test),模型可查看連接情況,不能增刪改 server 配置。
  7. 工具命名:遵循 mcp__<server-name>__<tool-name>。

依賴說明:需要帶 sidebar.panellist、main 槽位以及 @deepseek-ai/dsh-mcp-client 的 DSH 構建;README 寫明當前 DSH 發行版均具備。

安裝與啓用

官方步驟如下,請按界面操作,不要自行拼接未在文檔出現的 CLI 安裝串。

  1. 打開 Plugins → Add plugin,粘貼倉庫地址:
https://github.com/HalcyonAzure/dsh-mcp-manager
  1. 在左側欄點 MCP servers(或 Settings → MCP servers)。
  2. 點 Add server,填寫連接信息,Test connection,再 Save。

注意:Save 會重啓該插件行,所有 server 會重連,進行中的 MCP 調用會被打斷。

添加 server

stdio(本地程序)

字段 含義
Name 字母、數字、-、_,最多 32 字符;作爲工具名前綴
Command 絕對路徑或命令名,例如 npx 或 /usr/local/bin/my-server
Arguments 每行一個參數
Environment variables 非密鑰的普通值
Secret environment variables credential 鍵名 + 值(值寫入憑證庫)
Working directory 可選

streamable HTTP(遠程)

字段 含義
Name 規則同上
URL http:// 或 https:// 的 MCP 端點
Headers 普通請求頭
Secret headers credential 鍵名 + 值,存入憑證庫

密鑰值留空表示保留已存儲的值。

行狀態指示

每行有點狀標記與工具數量:connected(綠)、connecting(琥珀)、failed / not connected(紅)、disabled(灰)。失敗時會在行下顯示 server 返回的錯誤文本。

典型配置示例

除 UI 外,也可在 profile patch 中直接寫入插件行配置(與 README 一致):

- id: mcp-manager
  name: dsh-mcp-manager
  config:
    servers:
      - name: filesystem
        enabled: true
        transport: stdio
        command: npx
        args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp']

stdio 示例中,command 爲 npx,args 拉起 @modelcontextprotocol/server-filesystem 並指定目錄;保存後插件會爲每個啓用的 server 掛載一個 @deepseek-ai/dsh-mcp-client 子實例。

架構與安全

主機側(index.js)維護 server 列表,爲每個啓用的 server 掛載子 client,並向 UI 提供 api/mcp-manager.servers 與 api/mcp-manager.test。客戶端(client.js)註冊側欄、主面板、Settings 分區與插件行頁,爲通過 DSH 客戶端模塊加載的純 JavaScript,無構建步驟。

使用前建議知曉:

  • stdio server 以你當前用戶身份執行你配置的命令,權限等同本機賬戶;只添加可信來源。
  • 增刪改 server 僅限用戶在 UI 操作;Agent 工具不能改配置。
  • 交給 stdio 進程的環境會剔除名稱匹配 *KEY*、*PASSWORD*、*SECRET*、*TOKEN* 以及 DSH_* 的變量。
  • 密鑰在插件 mount 時解析;缺失時會在行上報錯,不會靜默用空值頂替。

適用場景與注意

適合需要在 DSH 裏頻繁試用、開關、調試多個 MCP server 的開發者:側欄一鍵看狀態、保存前握手測工具列表,比純 YAML 迭代更快。

安裝社區插件前,習慣上應自行查看源碼與 MIT 許可證,並確認與當前 DSH 版本匹配。DSH 生態強調「一切皆插件」;skillhub.cn 上的插件目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係,本文介紹的倉庫亦屬社區維護(HalcyonAzure)。

本地二次開發時,README 說明可將檢出目錄作爲本地 bundle 在 Plugins → Add plugin 中選擇路徑安裝,改文件後刷新頁面即可,無需 bundler。

結尾

dsh-mcp-manager 把 MCP server 列表從 YAML 編輯搬到側欄與 Settings 的統一 UI:支持 stdio 與 HTTP、連接測試、憑證庫託管密鑰,併爲 Agent 提供只讀的 mcp_servers 查詢。

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

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

小夜