所有配置的 MCP server 在初始启动时被发现并连接。它们的工具在任何用户交互开始前同时可用。没有懒加载,没有优先队列,没有用户审批步骤。
发现过程
Claude Code 启动时:
- 从
.mcp.json(项目级)和~/.claude.json(用户级)读取 MCP server 配置 - 同时连接所有配置的 server
- 发现每个 server 的可用工具
- 在第一条用户消息之前让所有工具可用
如果一个 server 配置了,它的工具就可用。如果一个 server 连接失败,它的工具不可用(但其他 server 的工具仍然工作)。
没有懒加载
没有按需连接机制。所有 server 在启动时连接,不管当前会话是否需要它们的工具。即使用户只打算讨论代码不碰 GitHub,GitHub MCP server 也会连接。
没有手动激活
Claude Code 不会提示用户确认要激活哪些 MCP server。所有配置的 server 自动连接。如果你不想让某个 server 连接,把它从配置中移除——没有”disabled”标记做选择性激活。
影响
- 启动时间随 MCP server 增多而增加(每个需要连接握手)
- 工具总数等于所有已连接 server 工具的总和(影响 K2.3.1 的选择可靠性)
- 可用性按 server 全有或全无——如果 server 连上了,它的所有工具都可用
一句话总结: 所有配置的 MCP server 在启动时连接,它们的工具在任何用户交互前同时可用——没有懒加载,没有优先队列,没有手动激活。