关于 Toon Token Optimizer
TOON MCP Server 提供 TOON 编码工具,面向需要减少结构化数据提示词 token 用量的 LLM 应用开发者。它可编码多种格式、还原为 JSON,并分析或优化提示词。
主要功能
- 01将 JSON、CSV、TSV、XML、HTML 表格和 YAML 编码为 TOON
- 02将 TOON 解码为 JSON
- 03分析潜在 token 与成本节省
- 04自动转换提示词中的数据段
适用场景
- 01压缩同结构对象数组以供 LLM 使用
- 02优化包含大型数据集的提示词
- 03评估数据转换的 token 节省
MCP 相关
该 MCP 服务向客户端提供 toon_encode、toon_decode、toon_analyze 和 toon_optimize_prompt 工具,用于转换和分析数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data | string | 是 | 要编码的数据(JSON、CSV、XML、YAML 或其他支持的格式) |
| format | enum | 否 | 输入格式(默认:自动检测)auto | json | csv | tsv | xml | html-table | yaml |
详细介绍
TOON MCP 服务
用于 TOON(Token-Oriented Object Notation) 编码的 MCP(Model Context Protocol)服务。发送结构化数据时,可将大模型的 Token 用量减少 50-70%。
什么是 TOON?
TOON 是一种针对大模型输入优化的紧凑数据格式。它不为每个对象重复字段名,而是采用基于标头的格式:
JSON(1041 个 Token):
[
{"id": 1, "name": "Product A", "price": 99.99},
{"id": 2, "name": "Product B", "price": 149.99}
]
TOON(389 个 Token):
[id,name,price]
1,Product A,99.99
2,Product B,149.99
结果:Token 数量减少 62% = 成本节省 62%
安装
快速开始(npx,无需安装)
添加到 MCP 设置中:
Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"toon": {
"command": "npx",
"args": ["-y", "toon-mcp-server"]
}
}
}
Claude Code(~/.claude/settings.json):
{
"mcpServers": {
"toon": {
"command": "npx",
"args": ["-y", "toon-mcp-server"]
}
}
}
全局安装
npm install -g toon-mcp-server
然后添加到 MCP 设置中:
{
"mcpServers": {
"toon": {
"command": "toon-mcp"
}
}
}
作为 Claude Code 技能
# Download the skill
curl -o ~/.claude/skills/toon.md https://raw.githubusercontent.com/elminson/toon-mcp/main/skills/toon.md
然后在 Claude Code 中使用 /toon。
可用工具
toon_encode
将数据转换为 TOON 格式。
支持的格式: JSON、CSV、TSV、XML、HTML 表格、YAML
Input: [{"name":"Alice","age":30},{"name":"Bob","age":25}]
Output: [name,age]
Alice,30
Bob,25
toon_decode
将 TOON 转换回 JSON。
toon_analyze
分析数据并展示潜在的 Token 和成本节省情况。
toon_optimize_prompt
查找提示词中的数据部分,并自动将其转换为 TOON。
使用示例
在 Claude Desktop/Code 中使用(通过 MCP)
直接让 Claude 使用这些工具:
- “将此 JSON 编码为 TOON:[...]”
- “分析将这些数据转换为 TOON 能节省多少”
- “优化此提示词,提高 Token 效率”
编程方式(Node.js)
const { ToonEncoder } = require('toon-mcp-server/src/toon-encoder');
// Encode
const data = [
{ id: 1, name: 'Test', price: 99.99 },
{ id: 2, name: 'Test 2', price: 149.99 },
];
const toon = ToonEncoder.encode(data);
// Get stats
const json = JSON.stringify(data);
const stats = ToonEncoder.getStats(json, toon);
console.log(stats.savings.percent); // "64.5%"
// Decode
const decoded = ToonEncoder.decode(toon);
基准测试
使用 OpenAI GPT-4o-mini 测试:
| 数据集大小 | JSON Token 数 | TOON Token 数 | 节省比例 |
|---|---|---|---|
| 5 项 | 383 | 192 | 49.9% |
| 20 项 | 1,394 | 530 | 62% |
| 50 项 | 3,412 | 1,204 | 64.7% |
| 100 项 | 6,800 | 2,400 | ~65% |
大规模使用时的成本节省
| 用量 | GPT-4o-mini | GPT-4o | Claude Sonnet |
|---|---|---|---|
| 1M 次请求 | 节省 $489 | 节省 $8,158 | 节省 $9,789 |
| 10M 次请求 | 节省 $4,890 | 节省 $81,580 | 节省 $97,890 |
何时使用 TOON
✅ 最适合:
- 结构相同的对象数组(表格、列表、记录)
- API 响应、数据库结果
- 发送给大模型的大型数据集
- 大规模优化成本
⚠️ 效果较差的情况:
- 深度嵌套且结构不统一的数据
- 小型负载(<5 项)
- 含有许多独特字段结构的数据
贡献
欢迎提交拉取请求!请先创建议题,讨论相关变更。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。