前言¶
在 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 核实,插件提供的能力包括:
- 侧栏入口:左侧 MCP servers 打开主栏全页,server 状态一步可达,不必只在 Settings 里翻。
- 两种传输:stdio(本地命令)与 streamable HTTP(URL)。
- 保存前测试:Test connection 执行 MCP 握手并列出 server 暴露的工具。
- 运行态:每行有启用开关;状态为 connected / connecting / failed / disabled;单次调用超时可设 1–600 秒,默认 60 秒。
- 密钥与配置分离:普通环境变量、Header 写在行配置里;密钥环境变量与 Secret Header 的值进 DSH credential store,行里只保留 credential 密钥名。
- 只读 Agent 工具:
mcp_servers(list/test),模型可查看连接情况,不能增删改 server 配置。 - 工具命名:遵循
mcp__<server-name>__<tool-name>。
依赖说明:需要带 sidebar.panellist、main 槽位以及 @deepseek-ai/dsh-mcp-client 的 DSH 构建;README 写明当前 DSH 发行版均具备。
安装与启用¶
官方步骤如下,请按界面操作,不要自行拼接未在文档出现的 CLI 安装串。
- 打开 Plugins → Add plugin,粘贴仓库地址:
https://github.com/HalcyonAzure/dsh-mcp-manager
- 在左侧栏点 MCP servers(或 Settings → MCP servers)。
- 点 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 查询。