MCP 的成本不在「接了」,而在「工具定义进没进上下文前缀」。搞清默认机制和例外场景,就知道该关哪些、留哪些。
一句话结论
结论
官方tool search 默认开启:MCP 工具定义被延迟(deferred),会话开始只加载工具名和 server instructions,接多影响有限。但
alwaysLoad、非第一方网关、部分云平台等场景工具会全量进前缀——既占上下文,server 连断还会打穿 prompt cache。用 /context 查占用,/mcp 关掉不用的。
做法步骤
- 先搞清默认机制:tool search。官方tool search 默认开启,MCP 工具不再全量加载:会话开始只有工具名和 server instructions 进上下文,任务需要时 Claude 通过搜索工具按需加载具体 schema,只有真正用到的工具进 context。官方明确「再加 MCP server 对 context window 的影响也很小」,且没有固定的每 server 工具数上限,实际约束就是你的上下文预算。所以「接多了必然爆上下文」在默认配置下已不成立。
- 认清例外:这些场景工具会全量进前缀。官方
- 设置了
ENABLE_TOOL_SEARCH=false,或CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS; ENABLE_TOOL_SEARCH=auto阈值模式下,工具总量在阈值(默认 context 的 10%)以内时直接上前缀;- server 或单个工具标了
alwaysLoad: true; ANTHROPIC_BASE_URL指向非第一方网关(多数代理不转发 tool_reference,Claude Code 自动回退为全量加载);- Azure 托管的 Microsoft Foundry 部署(服务端拒绝 tool search)、Google Cloud Agent Platform 上早于 Claude 4.5 代的模型。
- 设置了
- 查占用三件套。官方
/context看当前上下文按类别的占用和优化建议;/usage的归因 breakdown 能看到各 MCP server 占最近用量的百分比(Pro/Max/Team/Enterprise);/mcp面板显示每个 server 的连接状态和工具数。先看数据再动手,别凭感觉删。 - 按需启停,而不是全删。官方在
/mcp面板把不用的 server toggle off:配置保留,选择按项目记在~/.claude.json的disabledMcpServers里,要用再打开。彻底不要的跑claude mcp remove <name>。装新 server 时用-s控制 scope(local / project / user),只在真的每个项目都用时才挂 user 级(见 D9 · MCP)。 - 能用 CLI 就别用 MCP。官方gh、aws、gcloud、sentry-cli 这类 CLI 工具不产生任何 per-tool 上下文开销,官方明确说它们比 MCP server 更省 context——Claude 直接跑命令就行。
- 管住工具输出这另一半成本。官方MCP 工具输出默认限 25,000 tokens(超 10,000 就警告),大输出照样吃你的上下文;高频大结果的调用,考虑委托 subagent 执行、只回摘要。需要调 tool search 行为时用
ENABLE_TOOL_SEARCH:取值 行为 (不设) 默认:全部 MCP 工具延迟、按需加载(网关/特定平台自动回退全量) true强制延迟(服务端拒绝的平台除外) auto/auto:N阈值模式:占 context 不超过 10%(或 N%)就全量上前缀,超了才延迟 false全部工具全量加载,不延迟
可直接抄的 prompt
帮我审计这个项目的 MCP 配置,目标是省上下文、省钱:
1. 读取项目 .mcp.json、~/.claude.json 和各级 settings 里的 MCP server
配置,列出全部 server 的名称、scope 和传输类型;
2. 标出配置了 alwaysLoad: true 的 server 或工具,逐个评估是否
真的每轮都需要;
3. 检查环境和 settings 里是否设置了 ENABLE_TOOL_SEARCH 或
ANTHROPIC_BASE_URL(网关会导致工具全量加载);
4. 问我最近两周实际用过哪些 server,把没用过的列成
「/mcp 里关掉」或「claude mcp remove」两档建议;
5. 提醒我自己跑 /context 和 /mcp 核对占用(用户命令,你代跑不了),
说明重点看什么。
来源与最后核实日期
- 官方code.claude.com/docs/en/mcp.md(tool search 机制与配置表、alwaysLoad、/mcp 面板与 disabledMcpServers、输出限制),抓取于 2026-08-05。
- 官方code.claude.com/docs/en/costs.md(Reduce MCP server overhead:/context 查占用、/mcp 关闲置、CLI 优先),抓取于 2026-08-05。
- 官方code.claude.com/docs/en/prompt-caching.md(MCP server 连断对 cache 的影响、deferred 工具的例外),抓取于 2026-08-05。
- 本站观点「先看数据再删」「只在每个项目都用时才挂 user 级」为本站基于官方机制的建议。
- 最后核实:2026-08-05 · volatility:high(tool search 默认值与平台例外随版本变化,官方文档水位 v2.1.222,需定期复核)。