精读:用 CLI 替代 MCP,Token 成本降 94%
原文:I Made MCP 94% Cheaper (And It Only Took One Command) 作者:Kaan Yilmaz(CLIHub 创建者) 来源:Hacker News #9(2026-02-26,203 points,84 comments) 精读日期:2026-02-26
一句话总结
MCP 协议在每次会话启动时把所有工具的 JSON Schema 全量塞进上下文,隐性成本极高;改用 CLI 按需加载方式可降低 94% 的 Token 消耗,且不绑定特定模型厂商。
核心问题
MCP 的设计是:Agent 启动 → 把所有已注册工具的完整参数定义(JSON Schema)一次性注入 context。
典型配置(6 个 MCP server × 14 tools = 84 tools): - 每个工具 schema ≈ 185 tokens - 启动即消耗 ~15,540 tokens - 这个成本在每轮对话中持续存在(context window 一直带着)
问题不在 API 调用本身,而在说明书太厚。
CLI 方案:懒加载
作者用 CLIHub 把 MCP server 自动转成 CLI 工具,核心变化:
启动阶段
- MCP:84 个工具全量 schema → ~15,540 tokens
- CLI:6 个工具的名称+描述索引 → ~300 tokens(省 98%)
调用阶段
- MCP:直接 JSON tool_call → ~30 tokens(因为定义已预加载)
- CLI:先
--help发现参数(~600 tokens)→ 再执行(~6 tokens)→ 合计 ~610 tokens
CLI 单次调用更贵,但总成本远低于
MCP,因为省掉了启动时的巨大开销。而且 --help
只在第一次调用时触发,后续复用。
数据对比
| 使用工具数 | MCP | CLI | 节省 |
|---|---|---|---|
| 启动(0 tools) | 15,540 | 300 | 98% |
| 1 tool | 15,570 | 910 | 94% |
| 10 tools | 15,840 | 964 | 94% |
| 100 tools | 18,540 | 1,504 | 92% |
vs Anthropic Tool Search
Anthropic 自己也意识到了这个问题,推出 Tool Search 方案: - 启动时加载搜索索引(~500 tokens)而非全量 schema - 按需 fetch 工具定义,每次搜索加载 3-5 个工具(~3,000 tokens)
对比:
| 使用工具数 | MCP | Tool Search | CLI | CLI vs TS 节省 |
|---|---|---|---|---|
| 启动 | 15,540 | 500 | 300 | 40% |
| 1 tool | 15,570 | 3,530 | 910 | 74% |
| 10 tools | 15,840 | 3,800 | 964 | 75% |
| 100 tools | 18,540 | 12,500 | 1,504 | 88% |
CLI 优势: 1. 比 Tool Search
更便宜(--help 文本比 JSON Schema 精简) 2. 不绑定
Anthropic,任何模型都能用 3. 开源,一条命令从 MCP 转换
与 OpenClaw 的关联
作者直接引用了 OpenClaw 的 available_skills block
格式作为 CLI 索引的参考设计。OpenClaw 的 Skill 架构(轻量目录 + SKILL.md
按需读取)本质上就是这个思路的早期实践:
<available_skills>
<skill>
<name>notion</name>
<description>CLI for Notion</description>
<location>~/bin/notion</location>
</skill>
</available_skills>这说明 OpenClaw 在 Agent 工具管理上的设计是领先的。
投资视角
信号
- MCP 协议虽然成为行业标准,但效率问题明显 — 随着工具数量增长,context 膨胀会成为瓶颈
- Agent 工具管理本身是一个待解决的基础设施问题 — 从全量加载 → 按需发现 → 智能路由,还有很大优化空间
- “协议税”是隐性成本 — 开发者往往关注 API 调用费用,忽略了 context 占用的成本
对 OPC 的启示
- OPC 能力商店如果走 MCP 协议,几十个 Agent 能力的 schema 会撑爆 context
- 需要分层索引机制:轻量目录(能力名称+描述)→ 按需展开(具体参数和调用方式)
- 这与 L2 组织层的”Agent 模板库”设计天然耦合 — 不是把所有能力一次性暴露,而是调度 Agent 根据任务按需发现和调用
值得关注
- CLIHub(github.com/thellimist/clihub)— 开源 MCP→CLI 转换工具
- MCP 协议未来是否会原生支持懒加载(目前没有)
- Anthropic Tool Search 的采用率和演进方向
原文链接
- 文章:https://kanyilmaz.me/2026/02/23/cli-vs-mcp.html
- CLIHub:https://github.com/thellimist/clihub
- Anthropic Tool Search:https://www.anthropic.com/engineering/advanced-tool-use
- OpenClaw available_skills 设计:https://github.com/openclaw/openclaw/blob/main/docs/concepts/system-prompt.md
- HN 讨论:https://news.ycombinator.com/item?id=47157398