Mcptoon: 极致省 Token 的 MCP 命令行客户端
Show HN: Mcptoon – MCP CLI client that cuts tool discovery tokens by 97%
Mcptoon 是一款零依赖的跨平台 MCP 命令行客户端,专为解决 AI 代理在工具发现过程中 Token 浪费严重的问题而生。它通过独创的 TOON 格式替代传统 JSON,将工具发现的 Token 消耗降低 97%,结果输出节省 40-60%。无论您使用 Claude Code、Cursor 还是其他任何支持 Shell 命令的 AI 代理,只需一条配置即可共享所有 MCP 服务器,让上下文窗口真正用于思考而非语法。
MCP 工具发现通常消耗超过 10000 个 Token,而 Mcptoon 仅需 350 个。
HN 评论区
45- debazel
为什么要把 true/false 替换成 T/F?在我见过的所有分词器里,true/false 本身就已经是 1 个 token 了。更糟糕的是把 null 替换成 ∅。∅ 是一个特殊的 Unicode 符号,占用 2 个 token,而 null 只需要 1 个……
- Zinu
我觉得 Show Me 部分说不通,TOON 变体显然没有包含相同的信息。而且 'How TOON works' 部分里的例子关注的是字符数而不是 token 数。我想 'null' 本来就是一个 token,何必费心把它替换成一个不常见的字符?
- Loic
我花了一个多星期作为副项目,给我的 Cheméo 网站添加了一个 MCP 服务器。只有 4 个工具。
这花的时间比我预想的要多得多,我当时想:'只要把 REST API 封装一下,2 小时搞定'。
MCP 的负载和 REST API 的负载完全不同。因为你需要让它可被解析且上下文高效,即使它是结构化数据。
这真的是一项很有趣的工作,我想很少有人会在创建 MCP 服务器时花时间重新思考要发送什么数据。如果有的话,我们就不会看到那些最小负载就有 500kB JSON 汤的 MCP 了。
如果你把我的 MCP 通过你的 '省 token 过滤器' 发送,我可以保证,你后面得到的全是垃圾。
- codingjoe
问:模型不是用 JSON 消息模板来训练工具调用吗?如果格式不同,模型会不会 inherently 感到吃力?
问:与带有工具搜索功能的 harness 相比,有没有可测量的差异?
- ameshkov
我之前做过一个基于类似想法的 MCP 代理:用两个工具(get_tool_schema, invoke_tool)替换掉一大堆消耗 token 的工具 - https://github.com/ameshkov/mcp-compress-router
我注意到的一点是,返回带有参数名的工具名往往更好,也就是说,列出工具时返回 'search_web(query)' 而不仅仅是 'search_web'。否则模型经常会幻觉出参数名,需要额外一轮来纠正错误。
这类工具的一个额外优势是,当你使用不同的 coding agents 时,不需要在每个 agent 里都配置所有 MCP 服务器,你只需要配置一个(或者像这个项目里那样把 agent 指向 CLI)。