简短回答
CLI 通常比 MCP 服务器更省 token:它没有工具列表,常见命令模型也早就会了。没有 CLI、需要登录或应用里没有 shell 时,MCP 更合适。两者的每一步都是一次请求,把步骤串成代码才能省掉这笔开销。
本文内容
两者各花多少 token?
账单由三件事决定:工具列表、步骤的数量,以及每一步返回的内容。MCP 服务器和 CLI 在这三方面都不一样。
| 开销 | MCP 服务器 | CLI |
|---|---|---|
| 工具列表 | 每个工具都有一份模型必须读的定义。Claude Code 默认延迟加载它们:在某个工具被用到之前,只有工具名称会进入上下文。 | 没有。模型本来就会常见命令,或者读一次 --help。 |
| 每一步 | 一次工具调用就是针对整段对话的一次请求。 | 一条命令同样是一次请求,不过一条命令可以用管道和 && 串起好几步。 |
| 返回的内容 | 整个结果都会进入对话。超过 10,000 token 时 Claude Code 会警告,并且默认把单个结果限制在 25,000 token。 | 你可以在模型看到之前先裁剪它(head、jq),或者把它存成文件,Playwright CLI 就是这样做的。 |
串联和裁剪来自 shell,而不是某一个 CLI:它就是一个小程序,在一次请求里跑完好几步。下面的代码模式,让 MCP 也有了同样的能力。
实测数据怎么说?
三个来源,三个角度。
- AnthropicClaude Code 的成本指南说,
gh、aws、gcloud和sentry-cli这类 CLI 工具依然比 MCP 服务器更节省上下文,因为它们不会增加逐个工具的列表。 - MicrosoftPlaywright CLI 的 README 说,CLI 调用比它的 MCP 服务器更省 token:它们避免把庞大的工具 schema 和冗长的无障碍树加载进模型。对于探索式自动化、自愈测试和长时间运行的工作流,它仍然保留 MCP,因为在这些场景里,持续的浏览器上下文比 token 成本更重要。
- ScalekitScalekit 的基准测试,2026年3月:五个只读的 GitHub 任务,75 次运行,Claude Sonnet 4。
ghCLI 每个任务用了 1,365 到 9,386 token,GitHub 的 MCP 服务器用了 32,279 到 82,835,多出 4 到 32 倍。MCP 服务器还有 25 次运行中的 7 次因超时失败;CLI 每次都成功。
那份基准测试把 GitHub 的全部 43 个工具定义都加载进了每一段对话。Claude Code 现在默认延迟加载它们,这在 Claude Code 里去掉了差距中来自工具列表的那一部分,但去不掉来自每一步的那一部分;在仍会加载每个定义的应用里,连来自工具列表的那一部分也去不掉。
什么时候 CLI 更好,什么时候 MCP 更好?
这些情况下 CLI 更好:
- 工具是 gh、aws、gcloud 这类广为人知的。
- 输出很长,而你只需要其中一部分:在模型读取之前先裁剪。
- 你用的编程 Agent 带有 shell 和文件系统。
- 好几步可以放进一条命令里。
这些情况下 MCP 更好:
- 服务没有 CLI,或者只有一个自带登录的远程服务器。
- 你的 AI 应用里没有供模型使用的 shell,比如聊天应用。
- 你想要带类型的输入,和一份说明每个工具作用的清单,而不是模型凭训练记忆回忆出来的命令行参数。
- 好几个人在用这个 Agent,每个人都需要自己的授权:这是 Scalekit 的主要观点。
MCP 已经死了吗?
没有。这个协议依然能做 CLI 做不到的事:连接需要登录的远程服务,在没有 shell 的应用里工作,并以带类型的方式描述每个工具。Microsoft 自己的 README 也为某些工作流保留了 MCP。
正在过时的是一种模式:每一步一次工具调用,每次都针对整段对话。CLI 靠串联命令避开了其中一部分。Anthropic 和 Cloudflare 描述了通用的解法,也就是写代码来调用工具,并且做了测量:Anthropic 的例子从 150,000 token 降到 2,000,Cloudflare 用大约 1,000 token 就开放了 2,500 多个端点。
Delta MCP 就是这种解法的现成版本,面向你已经在用的 MCP 服务器:你的 AI 把每个任务写成一个程序。我们在开启 Tool Search 的 Claude Code 上,把它和直接调用这些服务器做了对比测量:
Sonnet 5.5,每种方案运行两到三次,最终结果在每个服务里核实。
| 任务 | Token | 模型调用 | 测量日期 |
|---|---|---|---|
| 修复一个 release,以代码方式Cerberus,152 个工具 | 少 13.4× | 26 → 6.5 | 10月5日 |
| 清理 20 张逾期工单一个工单管理系统 | 少 4.8× | 5 → 2 | 10月2日 |
| 登录,添加 3 位联系人,再列出来Microsoft Playwright MCP | 少 3.9× | 12.6 → 4 | 10月2日 |
你该用哪一种?
从你的情况出发,而不是从协议出发。
| 你的情况 | 用什么 | 原因 |
|---|---|---|
| 工具广为人知,并且有 CLI:gh、aws、gcloud。 | CLI | 没有工具列表,还可以裁剪输出。Claude Code 的成本指南推荐这样做。 |
| 服务没有 CLI,或者你是通过远程服务器访问它。 | MCP | 这就是入口。保留你在用的服务器,断开其余的。 |
| 你的 AI 应用没有 shell。 | MCP | CLI 需要一个能运行的地方。 |
| 一个任务跨越好几步或好几个服务。 | 用代码,而不是每一步一次调用 | 对 MCP 服务器,由 Delta MCP 来做。对 CLI,由脚本来做。 |
常见问题
MCP 和 CLI 有什么区别?AI Agent 用哪个更好?
没有哪个永远更好。有广为人知的 CLI 时,CLI 通常更便宜,因为它没有工具列表,输出也可以裁剪。没有 CLI、需要登录或应用里没有 shell 时,MCP 才是入口。两者的每一步都要付一次请求的成本。
CLI 比 MCP 服务器更省 token 吗?
按任务算,通常是的。Scalekit 测得 gh CLI 每个任务 1,365 到 9,386 token,而 GitHub 的 MCP 服务器是 32,279 到 82,835,当时加载了全部 43 个工具定义。Claude Code 现在会延迟加载这些定义,差距因此缩小。
MCP 已经死了吗?
没有。它仍然覆盖远程服务、登录,以及没有 shell 的应用,Microsoft 自己的 Playwright CLI README 也为探索式和长时间运行的工作流保留了 MCP。花 token 的是每一步一次调用,而这可以用代码来取代。
我该用 skill 和 CLI 取代 MCP 服务器吗?
只在有好用的 CLI 的地方。skill 也有帮助:Claude Code 一开始只加载它们的描述,在某个 skill 被调用时才加载全文,而且 skill 里可以带要运行的代码。Anthropic 说,skill 是对 MCP 服务器的补充,而不是替代。
为什么 Playwright MCP 服务器旁边还有一个 Playwright CLI?
它的 README 说,CLI 调用避免把庞大的工具 schema 和冗长的无障碍树加载进模型,而 CLI 加 skill 适合那些要在有限的上下文窗口里兼顾浏览器自动化和大型代码库的编程 Agent。MCP 则保留给探索式自动化、自愈测试和长时间运行的工作流。
Delta MCP 能取代 CLI 吗?
不能。有好用的 CLI 的地方,CLI 就是合适的工具。Delta MCP 是为你已有的 MCP 服务器、为有多个步骤的任务准备的:在我们的测试里,比直接调用它们的 token 消耗减少了 3.3–24.1×。
来源
- Claude Code, Manage costs effectively (documentation) CLI 工具比 MCP 服务器更节省上下文;MCP 工具定义默认延迟加载。
- Claude Code, Connect Claude Code to tools via MCP (documentation) 10,000 token 的警告,以及工具结果默认 25,000 token 的上限。
- Microsoft, Playwright CLI (README on GitHub) CLI 与 MCP 在 token 效率上的对比,以及 MCP 仍然更合适的场景。
- Scalekit, MCP vs CLI: Benchmarking AI Agent Cost & Reliability (2026年3月11日) GitHub 基准测试:每个任务的 token、可靠性和 43 个工具定义。
- Anthropic, Code execution with MCP: Building more efficient agents (2025年11月4日) 从 150,000 token 降到 2,000 token 的例子;用代码调用工具,而不是每一步一次调用。
- Cloudflare, Code Mode: give agents an entire API in 1,000 tokens (2026年2月20日) 2,500 多个端点只用约 1,000 token,而作为普通 MCP 服务器要 117 万。
- Anthropic, Equipping agents for the real world with Agent Skills (2025年10月16日) skill 先加载名称和描述,其余按需加载;它们可以带代码;它们是对 MCP 服务器的补充。
- Claude Code, Extend Claude with skills (documentation) skill 的描述在一开始加载;完整内容只在 skill 被调用时才加载。
- Delta MCP, Benchmarks 本页中关于 Delta MCP 的每一项测量,以及它的方法。
继续阅读
- 怎么减少 MCP token 消耗?MCP 为什么这么耗 token怎么减少 MCP token 消耗:先用 /context 测出你的开销,看清两项成本(工具列表和往返),再对比每种办法,包括 Tool Search。
- Claude Code 额度用完了?看看 MCP 服务器花了多少Claude Code 的“You've hit your limit”是什么意思(会话、每周、Opus、支出限制),/usage 怎么显示你的 MCP 服务器花了多少,以及先砍什么。
- MCP 配置文件在哪?Claude、Cursor、VS Code 等应用一览Claude Desktop、Claude Code、Cursor、VS Code、Windsurf、Gemini CLI 和 Codex 的 MCP 配置文件在哪:文件路径、JSON 键名、远程服务器和工具数量上限。