托管限制下 mcp add 不再假成功

Claude Code 2.1.284 规定:托管设置把 MCP 限制为仅插件时,claude mcp add 会拒绝并说明原因,不再报告成功却保存一个永不加载的服务器。来自市场的插件也不能再用 allowed-tools 给自己预批准。

托管限制下 mcp add 不再假成功

托管环境里,claude mcp add 以前可能打印成功,服务器却永远不会加载。Claude Code 2.1.284 改成:托管设置把 MCP 服务器限制为仅插件时,命令拒绝,并说明该怎么做,而不是把一个不会加载的服务器写进配置。claude mcp add 被拒绝 从这一版起是预期结果,不是命令坏了。

作者:CodePass 技术编辑

成功退出码不再代表服务器会连上

旧行为是 reporting success 然后 saving a server that never loads。脚本如果只看退出码,会以为 MCP 已经接上。2.1.284 在这种托管限制下改为拒绝。要加的服务器若必须来自插件,按拒绝信息里的做法装插件,不要换一个用户目录再 add 一次绕过。说明没有把绕过步骤写出来。

同一版还收紧了 allowed-tools。在托管的 allowManagedPermissionRulesOnly 之下,来自市场、claude.ai 和 npm 的插件,不能再靠 allowed-tools 给自己的工具预批准。只有官方 Anthropic 来源,或托管设置明确背书的来源,还保留预批准。2.1.282 修过仓库、用户和 --add-dir 里的技能在同一把锁下预批准自己的工具。2.1.284 把市场、claude.ai 和 npm 插件也纳入。官方插件仍可预批准,第三方插件升级后会突然开始要权限,这符合这句说明。

和描述长度、校验是三件事

工具描述的 2048 字符帽用 CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH 调,见 MCP 描述长度。claude plugin validate 报告会被静默丢掉的 .mcp.json。2.1.284 这条是托管策略拒绝 mcp add。三条都可能导致「加了但模型看不见工具」,报错位置不同:命令拒绝、校验警告、描述被截断。

参考资料