在设置页或对话中增删启停 MCP 服务器,无需重启
29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zhengjy01/dsh-mcp-manager该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-mcp-client@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 增删改启停MCP服务器
- 运行时连接断开免重启
给 DeepSeek Harness 用的 MCP 服务器管理器:在 Web 设置页和智能体工具里添加、编辑、启用、测试 stdio / Streamable HTTP MCP 服务器,运行时随时连接断开,不用重启 DSH
README
由 DeepSeek 最新模型翻译生成dsh-mcp-manager
· English
DeepSeek Harness 的 MCP 服务器管理器:在 Web 设置页或直接让 agent 增删改查 MCP 服务器,连接与断开都在运行时完成,不需要重启 DSH。
@zhengjunyao/dsh-mcp-manager · MIT · 需要 DSH >= 0.1.5-rc.1 · Node ^22.19.0 || >=24.0.0
它解决什么
MCP 服务器通常要写进 harness 的组装配置(cordis.yml 那一层)才能加载,改一个就得重启宿主。
这个插件把「有哪些 MCP 服务器」变成一份普通的 JSON 配置,并且能在运行时启停:
- 设置页里点一下就能新增 / 编辑 / 启停 / 测试 / 删除一个 MCP 服务器;
- mcp_manager_ 工具让 agent 也能做同样的事;
- 服务器提供的工具照常以 mcp____ 出现在会话里;
- 停用或删除会立刻注销那个服务器的工具,不需要重启。
支持两种传输:stdio(本地子进程,command / args / env / cwd)与 Streamable HTTP(远程 URL,url / headers)。
上手
全程不需要重启 DSH。
展开完整文档(README 剩余 1 节)
dsh-mcp-manager
· English
DeepSeek Harness 的 MCP 服务器管理器:在 Web 设置页或直接让 agent 增删改查 MCP 服务器,连接与断开都在运行时完成,不需要重启 DSH。
@zhengjunyao/dsh-mcp-manager · MIT · 需要 DSH >= 0.1.5-rc.1 · Node ^22.19.0 || >=24.0.0
它解决什么
MCP 服务器通常要写进 harness 的组装配置(cordis.yml 那一层)才能加载,改一个就得重启宿主。
这个插件把「有哪些 MCP 服务器」变成一份普通的 JSON 配置,并且能在运行时启停:
- 设置页里点一下就能新增 / 编辑 / 启停 / 测试 / 删除一个 MCP 服务器;
- mcp_manager_ 工具让 agent 也能做同样的事;
- 服务器提供的工具照常以 mcp____ 出现在会话里;
- 停用或删除会立刻注销那个服务器的工具,不需要重启。
支持两种传输:stdio(本地子进程,command / args / env / cwd)与 Streamable HTTP(远程 URL,url / headers)。
上手
全程不需要重启 DSH。 装进 profile 后宿主会自己热重载插件树(dsh.profile.patchReload 未设置时即为热重载),你只要刷新一下浏览器页面就能看到面板。
1. 装插件 —— 终端执行:
dsh plugin --profile web add @zhengjunyao/dsh-mcp-manager
从源码装则用:dsh plugin --profile web add link:/path/to/dsh-mcp-manager
预期:命令结束打印一行 + @zhengjunyao/dsh-mcp-manager,该包的依赖与 profile 加载清单里都出现它。
2. 打开设置页的「MCP 管理」 —— 刷新 Web GUI → 左侧进 设置 → 找到 MCP 管理 卡片。
预期:卡片里有总开关、服务器列表,每台服务器带状态徽标(active / starting / waiting / error / stopped)。
📷 【截图位 2】起点界面:证明「MCP 管理」卡片在哪、长什么样怎么截:刷新 Web GUI → 左侧进「设置」→ 滚动到「MCP 管理」卡片 → 停在卡片完整可见(标题 + 总开关 + 服务器列表同框)敏感处理:若列表里已有服务器,打码服务器名与命令里的本地路径补图:把本段整段替换为 MCP 管理设置卡片
3. 加一台服务器 —— 点卡片里的添加,填名称(它会成为工具前缀 mcp____)、选传输方式(stdio 填命令,Streamable HTTP 填 URL),保存。
预期:新服务器立刻出现在列表里,状态徽标从 starting 走到 active;失败则停在 error 并在旁边给出原因。
📷 【截图位 3】关键操作:添加表单长什么样、要填哪几项怎么截:点「添加」→ 表单展开并填好(名称 + 传输方式 + 命令/URL)→ 停在保存前敏感处理:命令或 URL 里的本机路径、域名、token 一律打码补图:把本段整段替换为 添加 MCP 服务器
4. 确认工具真的注册了 —— 看这台服务器的工具数并展开工具名列表;也可以直接让 agent 调 mcp_manager_list。
预期:工具数 > 0,工具名形如 mcp____,并且这些工具当场就能被 agent 调用。
📷 【截图位 4】最容易卡住的一步:证明「连上了、工具真的注册了」怎么截:服务器处于 active → 展开它的工具名列表 → 停在同时能看到徽标、工具数与若干 mcp__…__… 工具名的状态敏感处理:工具名一般可留;服务器名与路径若含个人信息请打码补图:把本段整段替换为 服务器已连接并注册工具
5. 试连一次(可选但推荐)—— 点该服务器的测试,或让 agent 调 mcp_manager_test;还支持传一份草稿试连,草稿不会落盘。
预期:成功给出成功提示;失败会说明原因(命令找不到 / 端口不通 / 认证失败等),方便你直接改。
📷 【截图位 5】最终效果:一台服务器从配置到可用的闭环怎么截:测试成功后停在结果提示处(或在 agent 侧停在 mcp_manager_list 的返回)敏感处理:无(若含 URL/token 请打码)补图:把本段整段替换为 测试连接成功
用法
设置页
Web GUI → 设置 → MCP 管理。卡片里能:
- 看到每个服务器的实时状态:● 已连接 / ◌ 未产出工具 / ✖ 失败 / ○ 未加载,以及它贡献的工具数;
- 展开看它注册了哪些工具名;
- 「测试连接(不保存)」会真的连一次并把草稿丢掉,所以填错了在这里就发现;
- 一键「从旧管理插件导入」旧配置。
Agent 工具
| 工具 | 做什么 |
| mcp_manager_status | 总览:几个服务器、几个已连、共多少工具、桥从哪加载、配置文件在哪 |
| mcp_manager_list | 每个服务器的阶段、工具名、最近错误 |
| mcp_manager_add | 新增并立即连接 |
| mcp_manager_update | 改任意字段、启停、改名 |
| mcp_manager_remove | 删除。不传 confirm 只预检,确认后才真删 |
| mcp_manager_test | 测试已保存的服务器,或传草稿试连(不落盘) |
| mcp_manager_import | 从别的 MCP 管理插件的配置文件导入(同名不覆盖) |
| mcp_manager_reload | 重读配置文件并重连 |
配置文件
$DSH_HOME/dsh-mcp-manager.json(默认 ~/.dsh/dsh-mcp-manager.json,权限 0600)。
认 DSH_HOME,搬迁过 home 的机器读的是新 home。也可以直接手改,改完点「重新读取配置」。
{
"version": 1,
"config": { "enabled": true, "announceToAgent": true },
"servers": [
{
"name": "garmin",
"transport": "stdio",
"enabled": true,
"description": "Garmin Connect 健康数据(只读)", "command": "/opt/homebrew/bin/uvx",
"args": ["garmin-mcp"],
"env": {},
"cwd": "",
"url": "",
"headers": {},
"toolCallTimeoutMs": 60000,
"reconnect": {}
}
]
}
name 会成为工具命名空间:上例的工具叫 mcp__garmin__。
只允许字母 / 数字 / 下划线 / 连字符,长度 1–32——与 harness 的命名空间约束一致。
两个开关
| 开关 | 位置 | 关闭后 |
| 安装开关 | profile 的组装行(cordis.patch.yml) | 插件什么都不挂:没有工具、没有面板 |
| 运行开关 | 配置文件 / 面板上的「停用插件」 | 所有 MCP 服务器断开、mcp__ 工具全部注销;管理面板与 mcp_manager_ 保留,方便随时打开 |
设计:为什么它不自己实现 MCP
插件不重新实现 MCP 协议,而是驱动 harness 自带的桥 @deepseek-ai/dsh-mcp-client:一个启用的服务器对应它的一个实例,断开就是销毁那个实例。
那个桥负责 stdio / Streamable HTTP 传输、凭据清洗、断线重连退避、资源发布,以及 mcp____ 命名契约。插件只负责「配置 → 起哪个实例」这件事。
解析顺序是阶梯式的(src/core-mcp.ts):优先用运行中 harness 自己那份桥,找不到才退回插件自己依赖树里的副本——版本漂移正是这类插件最容易踩的坑。
为什么不碰 tools.restrict()
被本插件取代的那个 npm 包(@wingsky-1/dsh-mcp-manager)用核心的 tools.restrict() 逐个工具名去调和工具可见性。而核心每调用一次 restrict() 都会重算整个 registry view (每次新建 Map / Set),于是开销是 O(工具数 × 名单数²),全部压宿主事件循环上——实测 CPU 94.7%、端口 8 秒无响应、JS 堆 1080 MB。
本插件完全不调用 restrict():连接就是注册工具,断开就是注销工具,这本就是桥的契约。
唯一的注册表读操作是「一次观测读一次 ctx.tools.schemas(),然后在内存里按前缀分组」,所以代价是线性的,而且只在面板或状态工具真的要看的时候才付。
验证
npm run typecheck
npm test # 54 项单元测试
npm run verify:live # 真实实例端到端(真 stdio MCP 服务器 → mcp__ 工具)
npm run verify:full # 可移植性门禁(隔离 DSH_HOME + tarball 安装)
npm run verify:live 会起一个隔离的 DSH 实例(自己的 DSH_HOME,不碰你的),
在里面真的拉起 tests/fixtures/echo-mcp-server.mjs(一个零依赖的手写 MCP 服务器,所以「两边用同一个坏依赖互相印证」不可能发生),然后断言:
1. 种子配置里的服务器变成 active,工具名是 mcp__echo__echo / mcp__echo__add;
2. 走 HTTP 新增第二个服务器 → 它的工具出现;
3. 停用 → 它的工具立刻消失(这就是「不需要重启」的度量);
4. 删除 → 定义消失;
5. 草稿试连报告工具但不落盘,且原服务器恢复连接;
6. 关掉总开关 → mcp__* 全注销而管理工具仍在;再打开 → 全部恢复。
兼容性
- DSH >= 0.1.5-rc.1(在 0.1.7-rc.2 上验证通过)。
- 依赖 harness 内置的 @deepseek-ai/dsh-mcp-client;缺失时插件照常启动,面板与 /probe 会如实报告 bridgeError,不会把宿主拖下水。
- Mac / Linux / Windows 均可(stdio 子进程用绝对路径;Windows 下注意给 command 加 .cmd)。
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
zhengjy01/dsh-mcp-manager
在设置页或对话中增删启停 MCP 服务器,无需重启
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。