Appearance
在 .mcp.json 中用 // 注释掉某个 MCP 服务器条目后,该服务器的工具仍然出现在 Claude 的 deferred tools 列表中,导致 Claude 误认为该服务器处于激活状态并尝试调用其工具。
.mcp.json
//
来源:GitHub Issue #51197
根本原因是同一 MCP 服务器在 ~/.claude.json 中也有配置,.mcp.json 注释只停用了项目级配置,全局配置仍然生效。
~/.claude.json
检查全局配置文件:
cat ~/.claude.json | grep -A5 "mcpServers"
找到重复的服务器条目后删除 ~/.claude.json 中对应的配置,重启 Claude Code 即可。
注意: Claude Code 不会提示"工具来自哪个配置文件",遇到预期已禁用的工具仍出现时,应主动排查以下位置是否有重复注册:
.claude/settings.json
MCP 服务器注释后工具仍出现在上下文中
问题
在
.mcp.json中用//注释掉某个 MCP 服务器条目后,该服务器的工具仍然出现在 Claude 的 deferred tools 列表中,导致 Claude 误认为该服务器处于激活状态并尝试调用其工具。来源:GitHub Issue #51197
解决方案
根本原因是同一 MCP 服务器在
~/.claude.json中也有配置,.mcp.json注释只停用了项目级配置,全局配置仍然生效。检查全局配置文件:
找到重复的服务器条目后删除
~/.claude.json中对应的配置,重启 Claude Code 即可。注意: Claude Code 不会提示"工具来自哪个配置文件",遇到预期已禁用的工具仍出现时,应主动排查以下位置是否有重复注册:
~/.claude.json(全局).claude/settings.json(项目级).mcp.json(项目 MCP 配置)