连接一个 93 工具的 GitHub MCP 服务器,光工具 Schema 就要吃掉 55,000 Token——Agent 还没干活,72% 的上下文预算就没了。mcp2cli 用一条命令把 MCP 服务器、REST API、GraphQL 端点全变成标准 CLI,让 Agent 只用一个
exec工具就能调用一切。
一、MCP 的"隐形税":为什么你的 Agent 越来越贵
如果你在日常工作中使用 Claude Code、Codex CLI、Cursor 或 Hermes Agent 连接过 MCP(Model Context Protocol)服务器,你一定发现了一个规律:Agent 用得越久,Token 消耗涨得越快,但实际产出并没有等比增长。
根因藏在 MCP 协议的架构里。每次 Agent 发起新对话或转入新的"轮次"(turn),MCP 客户端会调用 tools/list 拉取服务器上所有注册工具的完整 JSON Schema。这些 Schema 被注入到 LLM 的上下文窗口中,成为系统提示的固定组成部分。
以 GitHub 官方 MCP 服务器为例:93 个工具,从 search_repositories 到 create_issue 到 merge_pull_request。每个工具的 Schema 包含名称、自然语言描述、参数名、参数类型、是否必填、默认值、枚举约束、嵌套对象结构。全部 93 个工具定义注入后,大约占用 55,000 Token。
55,000 Token 是你打开 Agent 的第一秒就花掉的——Agent 还没有调用任何工具,还没有执行任何操作。连接两个 MCP 服务器(GitHub + Slack)就是 98,000 Token,连接三个(加 Sentry)就是 143,000 Token。对于 200K 上下文窗口的模型,这意味着 72% 的预算在"加载工具箱"阶段就没了。
更致命的是,这个 55,000 Token 的开销不是一次性的。MCP 协议 2026-07-28 版本之前,tools/list 的 TTL(缓存有效期)没有强制要求。许多 MCP 服务器实现不会设置 ttlMs 字段,导致客户端每轮对话都重新拉取完整工具列表。即使服务器设置了缓存,各种 Agent 框架的实现也未必正确利用——有些框架为保证"最新工具列表"会强制每次刷新。
以一个 25 轮的多步自动化任务为例,工具 Schema 的实际浪费触目惊心:前三轮 Agent 在理解需求、搜索相关代码,每轮注入一次完整 Schema 就消耗 165,000 Token;中间五轮执行操作再花 275,000 Token;后面十五轮写测试和响应 Review 又吃掉 550,000 Token。二十五轮下来,光工具 Schema 就烧了近百万 Token,实际用于完成任务的不到三成。七成的费用花在了"让 Agent 知道它能用什么工具"这件事上。
这就是 mcp2cli 要解决的问题。
二、mcp2cli:把一切变成 CLI
mcp2cli 是一个纯 Python CLI 工具,由 CyberCorsairs(创作者 knowsuchagency)开发,GitHub 2,300+ Star,MIT 开源协议。
核心思路极其简单:不要每次对话都向 LLM 注入 93 个工具的完整 JSON Schema。把 API 变成标准 Unix CLI,让 Agent 用 --help 按需发现工具,用子命令调用。
传统 MCP 方式下,Agent 的上下文窗口被 93 个工具的 Schema 撑满——每个工具从 700 Token 到 1,200 Token 不等,全部加起来就是 55,000 Token。而 mcp2cli 方式下,Agent 的上下文里只有一个 200 Token 的 exec_command 工具。Agent 需要时才通过 --search、--list、--help 按需发现,每次调用只需几十到几百 Token。类比一下就是:传统方式等于每次出门都把整个工具箱背在身上,而 mcp2cli 是把工具箱放在车库,需要什么拿什么。
官方 Benchmark 数据展示了差距到底有多悬殊(以 120 工具 MCP 平台、25 轮对话为测试场景):MCP 原生注入全部工具的 Schema 每轮约 15,000 Token,25 轮总计 375,000 Token;即使使用 Anthropic 推荐的 Tool Search 策略做搜索过滤,每轮也要 2,200 Token,25 轮 55,000 Token;而 mcp2cli 的 CLI 模式每轮仅需约 925 Token,25 轮总计只有 23,000 Token。相比原生 MCP 注入,mcp2cli 节省了 93.8% 的 Token,25 轮累计省下超过 35 万 Token。
这 35 万 Token 折算成钱,按 Claude Sonnet 的 API 定价($3/百万输入 Token),一个 25 轮的任务就能省下约 $1.05。一天跑 10 个任务就是 $10,一个月就是 $300。如果用的是 GPT-5.6 Pro(定价更高),节省的金额还要翻倍。
mcp2cli 支持四类后端,覆盖了 AI Agent 需要调用的几乎所有 API 形式:MCP HTTP/SSE 协议服务器、本地 stdio 启动的 MCP 进程、有 OpenAPI/Swagger 规范的 REST API、以及支持 introspection 的 GraphQL 端点。一行命令,四种协议全搞定。
三、安装与准备
mcp2cli 发布在 PyPI,推荐用 uv 零安装运行(uv 是 Astral 开发的 Python 包管理器,类似 npx 但更快):
验证安装是否成功:
为 AI Coding Agent 安装 Skill
mcp2cli 自带一个 installable skill 文件,可以让 Claude Code、Cursor、Codex 等 Agent 自动学会使用它:
安装后直接对 Agent 说"帮我把 GitHub 的 open issue 列表拉出来",Agent 就会自动执行 mcp2cli --mcp URL_mcp.github.com/sse list-issues --state open。这个过程 Agent 不需要加载 GitHub MCP 的 93 个工具 Schema——它只需要知道 mcp2cli 这一个命令的存在。
四、实战一:连接 MCP HTTP 服务器
假设你的团队部署了一个内部文件系统 MCP 服务器,跑在 URL_mcp.internal.company.com/sse。它暴露了读、写、搜索、移动文件等 8 个工具。
第一步:列出可用工具
第二步:查看具体工具的参数
第三步:执行实际操作
Agent 在执行这些操作时,每次只需约 200 Token(命令本身加输出),而不是 55,000 Token 的工具 Schema。一个最简单的读文件操作,Token 消耗从五位数降到了三位数。
第四步:在大型工具集中快速搜索
当 MCP 服务器有上百个工具时,--list 全部输出本身就很浪费。用 --search 按名称或描述子串匹配:
--search 本身就隐含了 --list,你不需要先全量列出再手动筛选。这个特性在连接 GitHub(93 工具)或 GitLab(78 工具)这样的大型 MCP 服务器时特别有价值。
五、实战二:零代码把 REST API 变成 CLI
这是 mcp2cli 最让人兴奋的功能:你有一个 OpenAPI 规范的 REST API,不需要写 SDK、不需要生成代码,一行命令就能作为 CLI 使用。
以经典的 Petstore API 为例(Swagger 社区提供的公开 OpenAPI 示例):
看到了吗?OpenAPI 规范里的 operationId(如 listPets → list-pets)自动变成了 CLI 子命令。路径参数、查询参数、请求体全部映射为命令行选项。这个过程不需要写任何胶水代码。
带认证的 API 怎么处理
mcp2cli 对认证的处理非常优雅,提供了三层安全等级:
env: 和 file: 前缀是 mcp2cli 的安全设计亮点:它们从环境变量或文件读取敏感值,而不是让你在命令行上直接写密钥。这在多用户服务器上尤其重要——命令行参数对所有 ps aux 用户完全可见。
六、实战三:OAuth 2.0 API 自动搞定
很多 SaaS API(如 Google API、GitHub API、Salesforce API)需要 OAuth 认证。mcp2cli 内置了完整的 OAuth 2.0 支持,包括 PKCE 授权码流程和客户端凭证流程。Token 自动缓存、自动刷新——Agent 完全不用关心 OAuth 的细节。
Token 自动持久化在 ~/.cache/mcp2cli/oauth/ 目录。下次调用同一个数据源时,mcp2cli 会先检查缓存的 Token:未过期直接使用,已过期自动用 refresh token 续期。整个过程对使用 mcp2cli 的 Agent 完全透明——Agent 不需要理解 OAuth 协议,不需要处理 token 过期重试,不需要管理 refresh token。
七、实战四:在 Hermes Agent 中集成 mcp2cli
这是本文最核心、最实战的场景。假设你用 Hermes Agent 做自动化业务运营——定时抓取数据、更新定价、同步库存。你的后端暴露了一个 OpenAPI 规范的定价 API,有 40 多个端点。
传统 MCP 方式 vs mcp2cli 方式
传统方式需要先写一个 MCP 服务器包装定价 API 的 40 个端点,然后在 Hermes 的 config.yaml 里注册这个 MCP 服务器,之后每次 Hermes 启动对话,40 个工具 Schema 全部注入上下文。每个工具 Schema 约 800-1,200 Token,总计约 35,000 Token 注入到每一轮对话。
mcp2cli 方式三步搞定:
第一步:bake(固化)连接配置
不用每次敲 --spec、--auth-header、--base-url,全部固化到一个短名字里:
关键参数说明:
--exclude "delete-*,admin-*,bulk-delete-*":安全白名单,Agent 看不到(也调不了)删除和管理员端点。这是生产环境使用 mcp2cli 的第一准则。--cache-ttl 7200:OpenAPI 规范缓存 2 小时,减少对上游 API 的请求压力。env:PRICING_API_KEY:密钥从环境变量读取,不写死在 bake 配置里。
第二步:Agent 按需使用
第三步:安装为独立可执行文件,放进任何脚本
为什么 Hermes Agent 特别受益
Hermes Agent 有一个核心工具叫 terminal(或称 execute_command)。Agent 通过它在你的机器上执行任意 shell 命令。如果所有外部 API 都通过 mcp2cli 变成标准 CLI,Agent 就只需要 terminal 这一个工具访问无限多个后端服务。
对比传统 MCP 注册方式,mcp2cli 的优势非常明显:配置方面,传统方式每个服务都要在 config.yaml 里写几十行注册配置,mcp2cli 只需一行 bake create;Token 开销方面,传统方式每轮注入 50-150K 工具 Schema,mcp2cli 每轮只需约 200 Token;新增服务时,传统方式需要编辑配置并重启 Hermes,mcp2cli 即时生效无需重启;安全方面,mcp2cli 的 --exclude 和 --include 参数提供了精确的工具级白名单控制,比大多数 MCP 服务器实现的安全边界更清晰;调试方面,mcp2cli 用大家熟悉的 --help 和 --json 直接验证,比抓 MCP 协议包直观得多。
八、实战五:GraphQL 端点秒变 CLI
如果你用的是 GraphQL(不是 REST),mcp2cli 同样原生支持——它会自动自省端点,发现所有 Query 和 Mutation,生成带变量声明的参数化调用。
mcp2cli 在背后自动完成了五件事:对 GraphQL 端点发起 introspection 查询、解析类型系统(对象类型、输入类型、枚举和联合类型)、为每个对象类型生成默认 selection set、构造带变量声明的完整参数化查询、注入认证头到 HTTP 请求。Agent 不需要理解 GraphQL 语法、不需要知道 fragment 是什么、不需要手动拼 selection set——记住子命令名和参数即可。这对让 AI Agent 动态调用 GraphQL API 是一个巨大的突破。
九、进阶技巧速览
JSON 输出模式
--json 强制所有输出为标准 JSON,Agent 可以可靠地解析:
对于 MCP 调用,返回的是完整 CallToolResult 信封,其中 structuredContent 包含结构化数据,Agent 可以直接提取使用而不需要正则匹配自由文本。
Usage-Aware 排序
mcp2cli 在本地记录每个工具的调用次数,--list 默认按最常用排序:
配合 --compact(仅工具名)和 --top N,--list 输出可以压缩到 ~20 Token。Agent 用得越多,排序越精准。
TOON 格式:专为 LLM 优化的紧凑输出
管道分隔的表格格式对 LLM 解析效率极高,比相同内容的 JSON 省 40-60% Token。
十、踩坑清单(5 个真实陷阱,建议先读完再动手)
坑 1:本地 OpenAPI 文件缺少 `--base-url`
本地文件没有服务器地址信息,mcp2cli 不知道把 HTTP 请求发到哪里。
坑 2:bake 配置中硬编码了密钥
bake 配置文件存储在 ~/.config/mcp2cli/baked.json,是明文 JSON。虽然 bake show 命令会掩码敏感值,但文件本身未加密,任何能访问你 home 目录的人都能读到。
坑 3:MCP stdio 模式的子进程环境变量
用 --mcp-stdio 启动子进程时,子进程可能继承不到你期望的环境变量。
坑 4:GraphQL introspection 被禁用
不是所有 GraphQL 服务端都开启了 introspection。如果你的端点返回 "Introspection is disabled",mcp2cli 无法自动发现查询和变更。此时需要联系后端团队开启(仅开发/内部环境),或者手动提供 SDL schema 文件给 mcp2cli。
坑 5:不给 Agent 设安全边界就给生产权限
这是最危险的坑。Agent 可能被 prompt injection 攻击诱导调用删除类端点。
原则:给 Agent 的 API 权限必须遵循最小权限原则。Agent 不需要(也不应该)能删除生产数据库或修改用户权限。这是用 mcp2cli 连接生产系统的第一准则,没有之一。
十一、什么时候不该用 mcp2cli
mcp2cli 非常强大,但不是万能药。在做技术选型时,需要诚实地评估它是否适合你的场景。以下四种情况不建议使用 mcp2cli:
- MCP 工具只有 3-5 个:工具 Schema 开销很小(<5K Token),额外引入一个中间层反而增加复杂度。直接走原生 MCP 注册更简单也更可靠。这种情况下,mcp2cli 的 token 节省优势完全体现不出来,反而多了一个需要维护的依赖。
- 需要流式输出:mcp2cli 基于子进程调用,必须等命令执行完成才能拿到完整输出。如果你的 MCP 工具依赖流式推送(如实时日志监控、WebSocket 事件流、长时间进度追踪),原生 MCP SSE 协议的流式能力才是正确选择。用 mcp2cli 硬套流式场景反而会让 Agent 陷入长时间的等待。
- 有状态的长时间会话:mcp2cli 每次调用都是独立的子进程生命周期,调用结束后进程退出,状态全部丢失。如果你的工作流需要在多次 API 调用之间维持会话状态(如数据库事务、文件锁、分页游标),原生 MCP 的长连接模式可以保持状态,mcp2cli 则需要你在应用层自己管理状态。
- 需要 MRTR 交互式确认:如果工具在运行过程中需要用户确认(如"确定要删除这 3 个文件吗?请回复 yes/no"),mcp2cli 的纯 CLI 模式无法处理这种暂停-等待-继续的多轮交互。此时原生 MCP 协议的 MRTR(Multi-Round Tool Response)机制是更合适的选择。
十二、总结
mcp2cli 用一个简洁的 Unix 哲学解决了 AI Agent 生态中一个系统性问题:MCP 工具 Schema 膨胀导致的 Token 浪费。这个问题的本质不是 MCP 协议设计得不好,而是当前 Agent 框架在工具发现和注入机制上过于简单粗暴——每次对话都重新注入完整 Schema 是最简单的实现,但也是最昂贵的。
把 API 变成 CLI 不是技术炫技——它是真金白银的节省。一个 120 工具的 MCP 平台运行 25 轮任务,mcp2cli 比原生 MCP 注入省下 35.2 万 Token。按 Claude Sonnet 定价 $3/百万输入 Token 计算,一个任务省 $1.05。一天 10 个任务 $10,一个月 $300,一年 $3,600——这还只是一个 Agent 的费用。如果你的团队有 5 个工程师每人每天用 Agent 跑 10 个任务,一年就能省下 $18,000 的 API 费用。
对 AI 创业者来说,三个最直接的收益:
- 直接省钱:每次对话 90%+ Token 节省,API 账单直线下降
- 零代码集成:有 OpenAPI 规范的 REST API 瞬间 CLI 化,开发效率提升数倍
- 安全可控:
--exclude/--include精确白名单,Agent 调不了你不让它调的
如果你用 AI Agent 连接过 MCP 服务器,花 15 分钟试试 mcp2cli。你会立刻注意到的第一个变化:上下文窗口突然变大了——不是因为模型升级了,是因为垃圾数据少了。而垃圾数据少了之后,Agent 的推理质量也会提升——它可以"记住"更长的对话历史,做出更连贯的决策。
部署清单:
- [x]
uv tool install mcp2cli安装 - [x]
mcp2cli bake create固化常用 API 配置 - [x]
--exclude设置安全白名单 - [x] 密钥用
env:前缀,不写死在 bake 配置 - [x]
--cache-ttl控制上游请求频率 - [x] Agent 的 system prompt 中加入 mcp2cli 使用指引
- mcp2cli GitHub 官方仓库 — 完整文档、源码和安装指南
- OnlyCLI MCP Token 成本独立 Benchmark — 展示了 MCP vs CLI 在多服务场景下的真实 Token 差异
- ScaleKit MCP vs CLI 架构分析 — MCP Gateway 和 CLI 方案的架构级对比
#AI创业 #AI Agent #MCP #Token优化 #一人公司 #Agent工坊
本文由AI辅助创作,经人工审核编辑发布
更多一人公司案例与工具,微信搜索「AI创业内参」关注我们



