mcpField
T
Toon   Token Optimizer

Toon Token Optimizer

本地服务
github.com/elminsonAI 与智能体337 周前更新

关于 Toon Token Optimizer

TOON MCP Server 提供 TOON 编码工具,面向需要减少结构化数据提示词 token 用量的 LLM 应用开发者。它可编码多种格式、还原为 JSON,并分析或优化提示词。

主要功能

  1. 01将 JSON、CSV、TSV、XML、HTML 表格和 YAML 编码为 TOON
  2. 02将 TOON 解码为 JSON
  3. 03分析潜在 token 与成本节省
  4. 04自动转换提示词中的数据段

适用场景

  1. 01压缩同结构对象数组以供 LLM 使用
  2. 02优化包含大型数据集的提示词
  3. 03评估数据转换的 token 节省

MCP 相关

该 MCP 服务向客户端提供 toon_encode、toon_decode、toon_analyze 和 toon_optimize_prompt 工具,用于转换和分析数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"toon": {
"command": "npx",
"args": [
"-y",
"toon-mcp-server"
]
}
}
}
启动命令npx -y toon-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmtoon-mcp-server

工具

4

收录的工具列表 · 更新于 3 周前

参数类型必填说明
datastring是要编码的数据(JSON、CSV、XML、YAML 或其他支持的格式)
formatenum否输入格式(默认:自动检测)auto | json | csv | tsv | xml | html-table | yaml

详细介绍

TOON MCP 服务

npm version License: MIT

用于 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 项38319249.9%
20 项1,39453062%
50 项3,4121,20464.7%
100 项6,8002,400~65%

大规模使用时的成本节省

用量GPT-4o-miniGPT-4oClaude Sonnet
1M 次请求节省 $489节省 $8,158节省 $9,789
10M 次请求节省 $4,890节省 $81,580节省 $97,890

何时使用 TOON

✅ 最适合:

  • 结构相同的对象数组(表格、列表、记录)
  • API 响应、数据库结果
  • 发送给大模型的大型数据集
  • 大规模优化成本

⚠️ 效果较差的情况:

  • 深度嵌套且结构不统一的数据
  • 小型负载(<5 项)
  • 含有许多独特字段结构的数据

贡献

欢迎提交拉取请求!请先创建议题,讨论相关变更。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。