简短回答
MCP 的 token 开销有两处。一是工具列表:每个工具的定义,在你说第一个字之前就已加载。二是往返:每次工具调用都要把整段对话重读一遍,结果也要流回模型。Tool Search 只能缩小工具列表,只有代码能消除往返。
本文内容
怎么测出 MCP 花了你多少 token?
在改动任何东西之前,先看看你的 token 花在哪里。在 Claude Code 里,有三条命令可以看到:
/context显示是什么占用了你的上下文窗口,包括 MCP 工具。/mcp列出你的服务器,并让你关掉不用的那些。/usage在订阅计划下,把你最近的计划用量按 skill、子代理、插件和各个 MCP 服务器分别列出。
有两个数字最重要:工具列表有多大,以及一个典型任务要做多少次工具调用。第一个在 /context 里。第二个你可以在对话记录里数出来:每次工具调用都是对模型的又一次请求。
MCP 为什么这么耗 token?两项开销
工具列表的开销
模型要选一个工具,就得先读它的定义。MCP 服务器会把自己的全部工具定义都公布出来,所以配置一大,对话一开始就已经很满了。Anthropic 测得 5 个服务器共 58 个工具,在第一条消息之前就占了大约 55,000 token;光是 GitHub 的 35 个工具就约 26,000。工具列表一长,准确率也会下降:Anthropic 说,超过 30–50 个工具之后,Claude 挑对工具的能力就会变差。
这项开销已经在源头上被削减了。Claude Code 默认延迟加载 MCP 工具定义:在某个工具被用到之前,只有名称和服务器说明会进入上下文。Cursor 用动态上下文发现做了同样的事:在它自己的测试里,调用过 MCP 工具的运行,token 减少了 46.9%。Anthropic 的 Tool Search Tool 报告 token 少了 85%。
往返的开销
工具调用不是模型内部的一次函数调用,而是一次新请求:模型写出调用,运行时执行它,结果回来,模型再把整段对话重读一遍,才写得出下一次调用。Claude Code 自己的文档说得很直白:它每次请求都会发送你的完整对话,而每当 Claude 使用工具,它都会再发出一次请求,带上这一批工具结果。提示词缓存让重读变得更便宜,但并不免费。
结果要付第二次钱。Anthropic 的例子:把一份会议记录从 Google Drive 搬到 Salesforce,可能要多处理 50,000 token,因为这段文字在途中要从模型里流过。
逐个工具
一个程序
Tool Search 对这些一点作用也没有。我们自己的测试是在有 152 个工具的服务器上修复一个 release:开启 Tool Search 的 Claude Code 做了 26 次模型调用。
怎么减少 MCP token 消耗?几种办法对比
每种办法解决其中一项开销,或两项都解决。没有哪种是免费的,选哪种取决于你怎么使用 MCP。
| 办法 | 削减工具列表 | 削减往返 | 投入 | 代价 |
|---|---|---|---|---|
| 断开你不用的服务器 | 部分对这些服务器有效 | 否 | 几分钟 | 在重新连接之前,你就用不了这些工具。 |
| Tool Search(延迟加载工具定义) | 是Claude Code 和 Cursor 已内置 | 否 | 无需投入,默认开启 | 每次查找都多出一步,而调用本身并没有变化。 |
| 用 CLI 代替 MCP 服务器(gh、aws……) | 是没有逐个工具的列表 | 否仍然是一次调用一条命令 | 仅限有好用 CLI 的地方 | 你放弃了 MCP 的覆盖面:很多服务有 MCP 服务器,却没有 CLI。 |
| MCP 网关 | 是通常可以 | 部分只有带代码模式时才行 | 一项要运行并保障安全的服务 | 为团队和治理而设计,不是为一台笔记本准备的。 |
| 让模型写代码(代码模式),自己搭建 | 是用几个工具代替成百上千个 | 是每个任务一个程序 | 高:要有安全的沙箱、限制和监控 | 环境要你自己搭建和维护,而且 Anthropic 提醒说,它会增加运维负担。 |
| Delta MCP | 是所有服务器共用三个工具 | 是每个任务一个程序 | 安装即可:两分钟,免费 | 为有多个步骤的任务而设计。 |
代码模式,就是 Anthropic 在 Code execution with MCP 里描述、Cloudflare 在 Code Mode 里描述的那种做法。Delta MCP 就是这种做法的现成版本,面向你已经在用的服务器。
Delta MCP 改变了什么?
Delta MCP 是一款免费应用,位于你的 AI 应用和它们的 MCP 服务器之间。你的 AI 看到的是三个工具,而不是每个服务器的每个工具,并把每个任务写成一个带类型的程序。Delta MCP 在第一次调用之前检查程序,用最少的调用来执行,要么全部生效,要么一概不动,再回读结果,并留在 Activity 里,随时可以撤销。
这就是不用自己动手的代码模式:检查、全有或全无的执行和撤销,都随应用一起在你的电脑上。你的服务器保持原样,每个原有工具仍可按名称调用。
Delta MCP 能省多少 token?
开启 Tool Search 的 Claude Code,Sonnet 5.5,每种方案运行两到三次,最终结果在每个服务里核实。
| 任务 | Token | 模型调用 | 测量日期 |
|---|---|---|---|
| 修复一个 release,以代码方式Cerberus,152 个工具 | 少 13.4× | 26 → 6.5 | 10月5日 |
| 添加测试,以文本方式Cerberus,152 个工具 | 少 15.8× | 16.6 → 4 | 10月2日 |
| 清理 20 张逾期工单一个工单管理系统 | 少 4.8× | 5 → 2 | 10月2日 |
| 登录,添加 3 位联系人,再列出来Microsoft Playwright MCP | 少 3.9× | 12.6 → 4 | 10月2日 |
| 一个文档问题Context7 | 少 1.2× | 4 → 3 | 10月5日 |
任务的步骤越多,Delta MCP 省得越多。
用了 Tool Search,还需要 Delta MCP 吗?
需要,只要你的任务有多个步骤。Tool Search 能让工具列表保持很小,但每一步仍然是一遍完整读取。Delta MCP 去掉的正是这些读取:你的 AI 把任务写成一个程序。我们的测量是在开启 Tool Search 的情况下做的,所以节省是在它之上叠加的。
常见问题
MCP 为什么这么耗 token?
有两个原因。模型必须先读完每个工具的定义才能选择,而且每次工具调用都是一次单独的请求,要把整段对话重读一遍,每个结果还要再流回模型。前者是工具列表的开销,后者是往返的开销。
MCP 工具要占多少 token?
这取决于你的服务器。Anthropic 测得 5 个服务器共 58 个工具,在第一条消息之前约占 55,000 token,光是 GitHub 的 35 个工具就约 26,000。Claude Code 的 /context 命令能显示你自己的数字。
Tool Search 能解决 MCP 的 token 消耗吗?
它解决的是工具列表,不是往返。Anthropic 报告工具列表部分的 token 少了 85%,Cursor 的同类功能在调用了 MCP 工具的运行里把 token 减少了 46.9%。但每次工具调用仍然是针对整段对话的一次独立请求。
MCP 的代码执行真的更省 token 吗?
在多步任务上,往往是的。Anthropic 的例子从 150,000 token 降到了 2,000,Cloudflare 用大约 1,000 token 就开放了 2,500 多个 API 端点。两者都有代价:你需要一个安全的地方来运行代码。在我们自己的测量里,Delta MCP 在多步任务上的 token 消耗减少了 3.3–24.1×。
Delta MCP 能省 token 吗?
能,在有多个步骤的任务上:在我们的测试里,token 消耗减少了 3.3–24.1×,因为你的 AI 写的是一个程序,而不是每一步一次调用。
我必须改动我的 MCP 服务器吗?
不用。Delta MCP 原样使用它们,每个原有工具仍可按名称调用:在我们试过的最大的服务器上,152 个工具中的 152 个都能调用。
怎么查看我的 MCP 服务器用了多少 token?
在 Claude Code 里,/context 会显示是什么占满了你的上下文窗口,其中包括 MCP 工具定义。/mcp 会列出你的服务器,并让你关掉不用的;在订阅计划下,/usage 会把最近的用量按各个 MCP 服务器分别列出。
来源
- Anthropic, Code execution with MCP: Building more efficient agents (2025年11月4日) 直接调用工具的两个问题;从 150,000 token 降到 2,000 token 的例子;50,000 token 的会议记录例子;关于沙箱的提醒。
- Anthropic, Advanced tool use (2025年11月24日) 5 个服务器上的 58 个工具,约 55,000 token;使用 Tool Search Tool 后 token 减少 85%。
- Anthropic, Tool search tool (documentation) 工具超过 30–50 个之后,Claude 挑选工具的准确率会下降。
- Claude Code, Manage costs effectively (documentation) MCP 工具定义默认延迟加载;/context、/mcp 和 /usage;每次请求都发送完整对话;CLI 与 MCP 的开销。
- Cursor, Dynamic context discovery (2026年1月6日) 在 Cursor 自己的 A/B 测试里,调用过 MCP 工具的运行 token 减少了 46.9%。
- Cloudflare, Code Mode: give agents an entire API in 1,000 tokens (2026年2月20日) 2,500 多个端点只用约 1,000 token,而作为普通 MCP 服务器要 117 万。
- Delta MCP, Benchmarks 本页中关于 Delta MCP 的每一项测量,以及它的方法。
继续阅读
- Claude Code 额度用完了?看看 MCP 服务器花了多少Claude Code 的“You've hit your limit”是什么意思(会话、每周、Opus、支出限制),/usage 怎么显示你的 MCP 服务器花了多少,以及先砍什么。
- MCP vs CLI 有什么区别?AI Agent 的 token 开销出在哪里AI Agent 该用 MCP 还是 CLI?两者各花多少 token、实测数据怎么说、什么时候 CLI 更好、什么时候 MCP 更好,以及代码在哪里胜过两者。
- MCP 配置文件在哪?Claude、Cursor、VS Code 等应用一览Claude Desktop、Claude Code、Cursor、VS Code、Windsurf、Gemini CLI 和 Codex 的 MCP 配置文件在哪:文件路径、JSON 键名、远程服务器和工具数量上限。