NEE's Blog

我用一条命令让 MCP 成本降低了 94%

February 26, 2026

本文翻译自 I Made MCP 94% Cheaper (And It Only Took One Command),原载于 Hacker News。


每个使用 MCP(Model Context Protocol)的 AI Agent 都在默默地”多付钱”。

这不是说 API 调用本身有什么问题——那部分是正常的。问题出在”说明书”上。

在你的 Agent 能做任何有用的事情之前,它需要知道有哪些工具可用。MCP 的做法是把整个工具目录以 JSON Schema 的形式一股脑儿塞进对话里。每个工具、每个参数、每个选项,全部列出来。

CLI 做的是同样的工作,但更省钱。

同样的工具,不同的包装

作者做了一个实验:用 CLIHub 从一个 MCP Server 生成对应的 CLI。同样的工具、同样的 OAuth、同样的底层 API。只有两件事会变:会话开始时加载什么,以及 Agent 如何调用工具。

下面的数据基于一个典型配置:6 个 MCP Server,每个 14 个工具,总共 84 个工具。

1. 会话启动

MCP 在启动时就把所有工具的 Schema 塞进对话里。而 CLI 只加载一个轻量级的技能列表——只有名字和位置。Agent 需要时再去发现详细信息。

MCP 加载的内容(约 185 tokens × 84 = 15,540 tokens):

{
  "name": "notion-search",
  "description": "Search for pages and databases",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "description": "The search query text"
      },
      "filter": {
        "type": "object",
        "properties": {
          "property": { "type": "string", "enum": ["object"] },
          "value": { "type": "string", "enum": ["page", "database"] }
        }
      }
    }
  }
},
{
  "name": "notion-fetch",
  ...
}
... (共 84 个工具)

CLI 加载的内容(约 50 tokens × 6 = 300 tokens):

notion
CLI for Notion
~/bin/notion

linear
...
... (共 6 个工具)

2. 工具调用

当 Agent 知道有什么可用之后,还需要实际调用工具。

MCP 工具调用(约 30 tokens):

{
  "tool_call": {
    "name": "notion-search",
    "arguments": {
      "query": "my search"
    }
  }
}

CLI 工具调用(约 610 tokens):

# 步骤 1: 发现工具(约 4 + 600 tokens)
$ notion --help
notion search  [--filter-property ...]
Search for pages and databases
notion create-page  [--parent-id ID]
Create a new page
... 还有 12 个工具
------------------------------------------------
# 步骤 2: 执行(约 6 tokens)
$ notion search "my search"

MCP 的调用更便宜,因为定义已经预加载了。CLI 在发现阶段要”付费”——--help 返回完整的命令参考(14 个工具约 600 tokens),然后 Agent 才知道该怎么执行。

Token 使用对比

使用的工具数 MCP CLI 节省比例
会话启动 ~15,540 ~300 98%
1 个工具 ~15,570 ~910 94%
10 个工具 ~15,840 ~964 94%
100 个工具 ~18,540 ~1,504 92%

CLI 总体节省约 94% 的 tokens。

Anthropic 的 Tool Search 方案

Anthropic 推出了 Tool Search 功能,它加载搜索索引而不是所有 Schema,然后按需获取工具。通常可以减少 85% 的 token 使用量。

这和 CLI 的懒加载思路一样。但当 Tool Search 获取工具时,它仍然要拉取完整的 JSON Schema。

使用的工具数 MCP Tool Search CLI 比 TS 节省
会话启动 ~15,540 ~500 ~300 40%
1 个工具 ~15,570 ~3,530 ~910 74%
10 个工具 ~15,840 ~3,800 ~964 75%
100 个工具 ~18,540 ~12,500 ~1,504 88%

Tool Search 更贵,而且只支持 Anthropic。CLI 更便宜,而且可以在任何模型上使用。

CLIHub

作者因为很难找到各种工具的 CLI,所以构建了 CLIHub——一个面向 Agent 使用的 CLI 目录。

转换器已经开源——一条命令就能从 MCP 生成 CLI。


要点总结

  1. MCP 的隐形税:MCP 在会话开始时就加载所有工具的完整 Schema,这会消耗大量 tokens。对于有 84 个工具的典型配置,光是启动就要 15,000+ tokens。

  2. 懒加载的优势:CLI 采用懒加载策略,只在需要时才获取工具详情。虽然单次工具调用稍贵(需要先 --help),但整体节省 94%。

  3. 通用性:CLI 方案不依赖特定模型,而 Anthropic 的 Tool Search 只能用于 Claude。

  4. 实用建议:如果你的 Agent 需要连接大量工具,考虑用 CLI 替代 MCP,或者至少评估一下 token 成本的差异。

这个问题在实际生产环境中可能更加明显——工具越多、调用越少,MCP 的开销占比就越高。

comments powered by Disqus