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