开发者 activeing123 在 GitHub 上放出一个叫 mcptoon 的命令行工具。它专门给接了多个 MCP 服务器的 AI 代理"瘦身":把原本几千 token 的工具清单,压缩成几十到几百 token。
它解决的不是模型会不会用工具,而是工具描述本身有多占地方。项目纯 Python 写成,3.10 以上可跑,安装包约 50KB,零第三方依赖,代码约 1700 行,配了 98 个测试用例,Apache 2.0 协议开源。GitHub 页面目前显示 25 颗星——典型的独立开发者体量,没有团队或商业化背书。
工具清单为什么会吃掉几万 token
作者在 README 里给了一个场景:代理接上 5 个 MCP 服务器,调用 20 次工具。光是协议本身的 JSON 语法开销,就能吃掉 4 万到 7 万 token。放进 128K 的上下文窗口,这部分能占到 30% 到 55%。这是作者给出的示例场景,不是通用基准。
mcptoon 的解法是用一种叫 TOON(Token-Optimized Object Notation)的紧凑格式替代 JSON 输出。管道符代替大括号和引号,空格代替方括号和逗号,单字符代替 true/false/null。它不是新协议,只是客户端和输出层的一次转换。
三档数字差别很大。"省 97%"只对应工具发现清单,不能套到所有调用上。结构化数据能省一半左右,遇到大段网页正文或原始文本,压缩空间就很有限。
这些数字全部来自作者自己的示例测试,没有独立环境和工具组合的第三方基准。mcptoon 要生效,还要求接入的代理能执行 shell 命令,并愿意消费非标准的 TOON 输出。TOON 不是 MCP 官方格式,代理能否稳定解析、会不会影响参数语义和报错处理,目前没有独立评测支撑。它更像一层依赖代理配合的胶水层,不是协议本身的升级。
谁会真的想装一个
按项目自己给出的对比表:
| 项目 | 依赖数量 | 安装体积 | 适配范围 |
|---|---|---|---|
| mcptoon | 0 | 约50KB | 任意可执行shell的代理 |
| mcp-cli | 5-20个npm包 | 50MB以上 | 仅Claude |
| mcporter | 3-8个 | 约30MB | 仅Claude |
| raw MCP SDK | 视实现而定 | 约10MB | 视实现而定 |
注:以上对比来自 mcptoon README,属于项目方自述,非独立测评。
对同时用 Claude Code、Codex、Cursor 等多个代理、又挂了不止一个 MCP 服务器的开发者,mcptoon 的价值是配置一次、到处能用。过去为每个代理单独适配 MCP 集成,是实打实的重复劳动,这类用户值得先在测试环境里跑一遍工具发现场景,看压缩比是否成立。
如果本来只用一个代理,且它已有原生 MCP 支持,或者调用结果本来就是大段文本而非结构化数据,mcptoon 能省的 token 有限。换一套 CLI、改一遍 SKILL.md 或 AGENTS.md 的成本却是实打实的。接受一个只有 25 颗星、缺乏第三方验证的新依赖,这笔账值不值,得自己算。
接下来最该盯的是有没有人拿真实分词器和真实工具组合,跑一遍独立复测——尤其是解析失败率和参数语义是否会在 TOON 转换中走样。目前这部分材料是空白。
