按会话单独开关已安装的 MCP 服务器
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ZhaoHanshao/dsh-plugin-mcp-toggles该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
在会话头部用选择器,按会话逐个开关已安装的 MCP 服务。
README
由 DeepSeek 最新模型翻译生成dsh-plugin-mcp-toggles
为每个会话单独开关已安装的 MCP 服务器。
它解决什么
MCP 服务器在 DSH profile 里是进程级的:@deepseek-ai/dsh-mcp-client 每行连一个服务器,把 mcp__<serverName>__<tool> 注册进全局工具层。于是每个会话都看到同一批 MCP 工具 —— 想让 A 会话只用 REA、B 会话只用别的服务器,原生做不到。
装上本插件后:会话标题栏右侧出现一个 MCP 按钮,点开列出已安装的 MCP 服务器,每行一个开关,只影响当前会话。新会话默认全部开启(装上插件不会悄悄改变任何人现有的能力)。
安装
这是一个标准的 DSH bundle 包:package.json 里用 dsh.bundle.patch 声明要插入的插件行,用 dsh.client 声明 Web 端入口,没有依赖、没有构建步骤,装上即可用。
展开完整文档(README 剩余 1 节)
dsh-plugin-mcp-toggles
为每个会话单独开关已安装的 MCP 服务器。
它解决什么
MCP 服务器在 DSH profile 里是进程级的:@deepseek-ai/dsh-mcp-client 每行连一个服务器,把 mcp__<serverName>__<tool> 注册进全局工具层。于是每个会话都看到同一批 MCP 工具 —— 想让 A 会话只用 REA、B 会话只用别的服务器,原生做不到。
装上本插件后:会话标题栏右侧出现一个 MCP 按钮,点开列出已安装的 MCP 服务器,每行一个开关,只影响当前会话。新会话默认全部开启(装上插件不会悄悄改变任何人现有的能力)。
安装
这是一个标准的 DSH bundle 包:package.json 里用 dsh.bundle.patch 声明要插入的插件行,用 dsh.client 声明 Web 端入口,没有依赖、没有构建步骤,装上即可用。
在 DSH 里装进当前 profile:
plugin_manager action=install_bundle target=dsh-plugin-mcp-toggles
target 接受安装 spec,也可以写成带版本或指向仓库的形式:
plugin_manager action=install_bundle target=dsh-plugin-mcp-toggles@0.1.0
plugin_manager action=install_bundle target=github:ZhaoHanshao/dsh-plugin-mcp-toggles
装好后重启 DSH,打开任意会话即可看到按钮。若想先在本地看代码:
npm install dsh-plugin-mcp-toggles # 或 npm pack 后检查导出的文件清单
它需要宿主提供 webServer 服务与 conversation.session.header.utilities / conversation.hero.options 两个槽位,因此要求 DSH 版本不低于它开发时的 @deepseek-ai/dsh-client-ui-conversation(运行时 0.2.1-rc.3)。
用法
1. 打开任意会话 —— 或直接停在新会话页。
2. 点标题栏(新会话页则是输入卡片上方那一行)的 MCP 按钮。
3. 逐行开关,或点 全部开启 / 全部关闭。
按钮上的徽标显示当前状态:全部开启、n/m、全部关闭;部分关闭时按钮转为警示色。
两个入口,同一个开关集合
| 槽位 | 出现位置 |
| conversation.session.header.utilities | 已有会话的标题栏右侧 |
| conversation.hero.options | 新会话落地页,紧跟 workspace 与模式控件之后 |
两处必须都有:新会话页的会话页头带 hideChrome
(blank && composerPhase === 'blank',见 ConversationSession.tsx),此时整个
header 都不渲染,只挂标题栏会让按钮在新会话页上完全消失。两个槽都提供同一个 sessionId,所以在哪一处切换都是同一个会话的开关 —— 在新会话页关掉的服务器,进入对话后依然关着。
它怎么工作
agent.ctx.tools.restrict({ deny }) 是作用域内生效的全局工具掩码
(packages/core/tools/src/index.ts)。可见性、schema 投影与派发都走同一个解析器,因此被关掉的工具模型既看不到也调不到,其他会话不受影响。
- 关闭某服务器 → 把它的 mcp__<server>__ 工具加进该会话的 deny 集。
- 全部服务器都关闭时,共享的 list_mcp_resources 等资源工具一并隐藏(sharedResourceTools: false 可关掉这个联动)。
- 开关立即生效,无需重启会话或重开服务器。
开关存在哪
$DSH_HOME/mcp-toggles-state.json:
{ "bySession": { "<sessionId>": { "rea": false } } }
键是 sessionId。没有记录即视为开启 —— 只会记录「关掉」,所以新会话、以及删掉状态文件之后的会话,都回到全部开启。
配置
cordis.patch.yml 的行配置:
| 字段 | 默认 | 含义 |
| sharedResourceTools | true | 关闭全部 MCP 时是否连共享资源工具一起隐藏。 |
| extraServers | [] | 额外要认作 MCP 服务器的名字;用于服务器暂时没有注册任何工具时也能列出来。 |
已知限制
- 只管理 MCP 工具(mcp__ 前缀与共享资源工具),不动其他工具。
- 服务器列表来自 configEditor.entries() 里的 @deepseek-ai/dsh-mcp-client 行; configEditor 不可用时退回当前工具名前缀,此时没有工具的服务器不会出现在列表里。
- 开关按会话 id 保存;会话被删除后对应记录会保留(无害,不会影响其他会话)。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ZhaoHanshao/dsh-plugin-mcp-toggles
按会话单独开关已安装的 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
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。