一、Tool Search 的工作方式
默认行为:所有 MCP 工具延迟加载
Claude Code 启动时,与所有已配置 MCP Server 完成握手,获取完整工具列表。但工具的完整定义(参数 schema、描述文本)不会注入上下文窗口,仅保留工具名称索引。
这些未注入上下文的工具即为 Deferred Tools。启动后通过 /mcp 查看状态:
(deferred) 标记表示工具处于延迟加载状态。Claude 知道这些工具存在,但不占用上下文空间。
以下两种场景默认禁用 Tool Search,回退为全量预加载:
- Vertex AI:不接受 Tool Search 所需的 beta header
ANTHROPIC_BASE_URL指向非 Anthropic 第一方主机(如自建代理):大多数代理不转发tool_reference块
通过设置 ENABLE_TOOL_SEARCH=true 可在这些场景中强制启用延迟加载。
搜索触发与命中规则
当 Claude 判断需要调用 MCP 工具时,自动使用内置的 ToolSearch 工具从 Deferred Tools 索引中搜索。ToolSearch 支持三种查询模式:
关键词搜索 — 不确定该用哪个工具时:
精确选择 — 已知工具名称时,用 select: 前缀:
限定范围搜索 — 用 + 前缀锁定 Server 后按关键词排序:
搜索返回的工具定义被注入当前上下文,随后 Claude 正常调用这些工具。整个搜索过程对用户透明——你只需正常描述任务,Claude 自动完成搜索和加载。
ENABLE_TOOL_SEARCH 配置
ENABLE_TOOL_SEARCH 环境变量控制延迟加载行为: