把 MCP 服务器管起来:按需加载、只放部分工具、一键导入 Claude 配置 #7740
Replies: 5 comments
|
dsh: warning: 1 entry did not activate 在0.2.0-rc.1不能用 |
|
@MaoJianwei 抱歉,这个我来跟一下。 先说排查结果:0.2.0-rc.1 上插件本身能加载 —— 我用发布版 CLI 在干净 profile 里分别装了 0.1.0 / 0.2.0 / 1.0.0 起 rc.1(以及 rc.2),三次都正常激活。所以你这台机器上还有别的因素。 麻烦帮我抓一下根因:终端那句
同时可以先按这两步试,大概率直接好: dsh plugin --profile web remove @guowenzhang/dsh-mcp-manager
dsh plugin --profile web add @guowenzhang/dsh-mcp-manager
# 重启宿主说明:
|
|
v1.0.1 更新(修复一次安装环境的坑)
1.0.1 按 harness 的 out-of-tree 规则把 如果你之前遇到过「插件装了但启动告警、功能不出现」,从 1.0.0 升到 1.0.1 再重启宿主。 |
|
为什么我安装了,没看到插件 npx @deepseek-ai/dsh plugin --profile web add @guowenzhang/dsh-mcp-manager npx @deepseek-ai/dsh plugin --profile web list 版本: Version 0.2.0-rc.2 |
|
你这台机器上,这两条命令其实一个字都没执行。 证据就在你自己的输出里:只有 npm 打的 ExperimentalWarning,没有任何 dsh 的输出 —— 这正是 CLI 静默退出的样子。你用的 Node 是 v23.1.0(warning 路径里就写着),而 dsh CLI 的入口靠 if (import.meta.main) await runCli(); // @deepseek-ai/dsh/lib/bin.js
麻烦按这个顺序试:
为什么命令要写 如果重装后启动仍有告警,根因只写在文件里: |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
一句话:在设置页管理 MCP 服务器——按需加载、只把你要的那部分工具交给模型、一键导入已有的 Claude Code MCP 配置。
它解决什么问题
MCP 服务器原本只能手写组合行,而且一旦挂上,整套工具 schema 就常驻每一次请求;一台服务器几十个工具、常用只有几个时,代价全由上下文付。
这个插件把 MCP 行放进 设置 → MCP 管理:全局平面和每个 Agent 预设的行分 tab 列出,带实时状态;新增、编辑、启停都在这里。
按需加载:允许用 ≠ 现在就占上下文
行上的启用开关回答「这台服务器允不允许用」,加载方式回答「允许的服务器什么时候进上下文」:
eager)dynamic,默认)mcp_load把一台挂进调用方会话——绑定质量最好,但工具列表每次加载会变一次lazy)mcp_load只连不注册,把工具 schema 作为结果返回,模型经固定的mcp_call代理调用——工具列表永不变,请求缓存前缀零失效dynamic/lazy下系统提示里会列出每一台可加载的服务器(名字 + 你为它写的描述),模型按名字调mcp_load/mcp_unload。连接按会话隔离:一个会话加载的服务器不会漏给别的会话,会话结束会自动关掉它开的连接。只要一部分工具
编辑弹窗的「工具列表」tab 列出这台服务器发布的所有方法,默认全勾。取消勾选即隐藏——它不进上下文,按名字调用也会被拒绝。要写通配规则就手写在
mcp-manager设置的tools字段里(create_*是白名单,!delete_*是黑名单,支持*/?)。配了规则的行在
dynamic下改走原生注册:只把可见工具注册进当前会话,被隐藏的工具根本没有注册。一键导入 Claude 的 MCP 配置
导入 Claude 配置会读 Claude Code 自己写的那几个文件(
~/.claude.json、~/.claude/settings.json、项目里的.mcp.json),把找到的服务器列成勾选清单,一次提交导入;env/headers一起带过去(弹窗只显示键名,不显示值),源文件不被改动。安装
装完重启宿主。
适合谁
链接
@guowenzhang/dsh-mcp-managerdocs/design-decisions.md(为什么三种模式、否决过什么)All reactions