前言¶
在 DSH 中使用 MCP 服務器時,如果只在配置裏靜態接入,增刪服務器、啓停連接或重連通常都需要改配置並重啓。dsh-mcp-manager 爲 DSH 提供運行時 MCP 服務器管理能力,把添加、刪除、啓停和重連放到插件內完成,並把服務器註冊表持久化到本地 JSON 文件。
下面介紹它的功能、安裝方式、典型用法和需要注意的邊界。
這是什麼¶
dsh-mcp-manager 是一個 DeepSeek Harness(DSH)插件組合包,用於爲 dsh 提供運行時 MCP 服務器管理能力。
它支持兩種傳輸方式:
stdio
streamable-http
橋接工具沿用以下命名契約:
mcp__<serverName>__<rawName>
這與 @deepseek-ai/dsh-mcp-client 保持一致。
許可證爲 MIT。package.json 聲明 engines 要求:
node >=20
核心功能¶
運行時管理¶
插件支持在運行過程中添加、刪除、啓停和重連 MCP 服務器。
服務器註冊表使用持久化 JSON,默認路徑爲:
$DSH_HOME/mcp-manage/servers.json
重啓後會自動重連。
智能體工具¶
插件提供六個智能體工具:
mcp_manage_list
mcp_manage_add
mcp_manage_remove
mcp_manage_set_enabled
mcp_manage_reload
mcp_manage_tools
這些工具用於在會話中對 MCP 服務器做管理操作。
Web UI¶
Web UI 提供:
設置 → MCP 服務器
頁面可以可視化添加、編輯、啓停、重連和刪除服務器,並查看狀態、錯誤與工具列表。
運行細節¶
env、headers和url支持${VAR}展開。- 註冊表文件採用原子寫入。
- 斷線後按指數退避重連。
- 監聽 MCP
tools/list_changed,進行工具列表熱同步。 - stdio 子進程環境會剔除憑據形狀變量與全部
DSH_*變量,再合併顯式env。
安裝與啓用¶
安裝命令如下:
dsh plugin --profile <name> add github:HenC49/dsh-mcp-manager
安裝後,重啓該 profile(例如 dsh web 等)生效。當前生產 Web profile 的 HMR 默認關閉,新增或更新插件包後需要重啓宿主。
卸載命令:
dsh plugin --profile <name> remove dsh-mcp-manager
注意,卸載不會刪除:
$DSH_HOME/mcp-manage/servers.json
其中可能包含 env/headers 等敏感信息。如果不再需要該配置,徹底清理時手動刪除:
$DSH_HOME/mcp-manage/
典型用法¶
在會話中添加服務器¶
可以直接在會話中描述需求:
幫我添加一個 filesystem MCP 服務器,命令 npx -y @modelcontextprotocol/server-filesystem /Users/me/project
模型會調用 mcp_manage_add 來添加該服務器。
在 Web UI 中維護¶
進入 Web UI 的:
設置 → MCP 服務器
可以添加、編輯、啓停、重連或刪除服務器,並查看連接狀態、錯誤信息和已註冊工具。
手工編輯註冊表¶
手工編輯:
$DSH_HOME/mcp-manage/servers.json
改動會在下一次宿主重啓或 mcp_manage_reload 後生效。該註冊表文件沒有文件監聽。
運行測試¶
pnpm install
pnpm test
適用場景與注意¶
dsh-mcp-manager 適合需要在會話或 Web UI 中維護 MCP 服務器、並儘量減少改配置和重啓的場景。它也適合希望保持 @deepseek-ai/dsh-mcp-client 工具命名一致的 DSH 部署。
使用前需要明確:該插件會運行在當前 dsh 宿主進程中。安裝前應檢查源碼與許可證,確認其權限模型符合本機安全要求。
具體注意:
mcp_manage_add可以讓智能體在宿主進程中 spawn 任意命令,與 bash 工具權限同級。如果部署上需要收緊,建議通過權限預設啓用審批。${VAR}展開讀取dsh宿主進程環境變量。不要把宿主敏感憑據變量名透傳給不可信 MCP 服務器。- 當前僅橋接 tools。MCP resources 與 prompts 與
dsh-mcp-client一樣暫緩。 - HTTP 傳輸的可達性錯誤按請求逐次暴露,不觸發 stdio 式進程守護重啓。
- 配置頁當前每次打開時讀取一次列表,操作成功後刷新,不主動訂閱其它瀏覽器標籤頁的即時變化。
鏈接¶
倉庫地址:
https://github.com/HenC49/dsh-mcp-manager