在 DeepSeek Harness (DSH) 的开发工作流中,管理 MCP 服务器(@deepseek-ai/dsh-mcp-client)通常涉及手动编辑配置文件、处理 YAML 语法,并重启 Web 进程才能生效。dsh-mcp-manager 插件为这一过程提供了 Web 界面,支持增删改查(CRUD)和实时连接状态监控,并通过热重载机制实现零重启更新。
核心功能¶
该插件在 DSH Web 设置面板中新增了独立的“MCP 服务”页面,主要包含以下能力:
- 设置入口:页面位于“设置 → MCP 服务”,与通用设置、模型、插件同级。
- 完整增删改:支持 stdio 和 streamable-http 两种传输协议。通过表单可配置命令行参数(command/args/cwd/env)或 HTTP 服务器的 URL 与 Headers。
- 实时连接状态:列表每行显示服务器连接状态及已注册的工具数量。提供手动刷新按钮,后台亦有 30 秒轮询机制。
- 无需重启:修改配置后,插件会重写 profile 的
cordis.patch.yml,宿主通过 Cordis HMR 事务性热重载,dsh-mcp-client在原地重连。 - YAML 安全:内置解析器自动处理 YAML 保留字符(如
-y、@pkg/name等),确保生成的配置文件始终可被正确解析。
安装与启用¶
使用前需确保已安装 DSH Web profile(默认为 web)。
- 安装依赖:在 profile 目录下执行安装命令。
cd "$DSH_HOME/profiles/web"
pnpm add dsh-mcp-manager
- 添加配置:在 profile 的
cordis.patch.yml中添加插件条目。
- insert:
- id: mcp-manager
name: dsh-mcp-manager
- 启用:重启
dsh web(或等待 HMR 热挂载生效),刷新浏览器即可在设置菜单中看到“MCP 服务”入口。
典型用法¶
Web 界面操作¶
设置页面以表格形式展示服务器列表,包含以下列:
- Server:显示服务器名称及配置 ID。
- Status:绿色代表已连接(显示工具数量),灰色代表断开(悬停可查看详情)。
- Env:显示环境变量键名(具体值在编辑模式下可见)。
- Actions:编辑(打开包含完整配置的表单)或删除(需确认)。
点击标题旁的“刷新”按钮可立即探测所有服务器的连接状态。
HTTP API¶
插件提供同源 HTTP 接口,可用于脚本或外部程序调用:
- 列出服务器:
GET /mcp-manager/servers
返回服务器列表及连接状态(connected、toolCount)。 - 创建或更新:
POST /mcp-manager/servers
JSON body 格式提交,若id存在则更新,否则创建。 - 删除:
DELETE /mcp-manager/servers/:id
删除指定 ID 的服务器配置。
写入操作通过单一队列序列化,防止并发编辑冲突。
注意事项¶
- 配置存储:插件不维护独立的服务器存储,被管理的服务器即
cordis.patch.yml文件中@deepseek-ai/dsh-mcp-client的配置行。 - Profile 目标:默认管理
webprofile,可通过插件配置项config.targetProfile修改以管理其他 profile。 - Windows 兼容性:在 Windows 上使用
npx启动某些 MCP 服务器(如@modelcontextprotocol/server-filesystem)时,可能会因为 npm 配置警告或 cmd 对二进制路径的解析问题导致失败。建议直接使用完整命令路径或改用 streamable-http 传输。
通过 dsh-mcp-manager,开发者可以在 Web 界面直接维护 MCP 服务器,避免手动处理 YAML 文件和重启进程。更多细节请参考 GitHub 仓库。