Toon Token Optimizer について
TOON MCP Serverは、構造化データをLLMに送る際のトークン使用量を抑えたい開発者向けのTOONエンコードツールです。複数形式の変換、JSONへの復元、プロンプトの分析と最適化に対応します。
主な機能
- 01JSON、CSV、TSV、XML、HTMLテーブル、YAMLをTOONに変換
- 02TOONをJSONにデコード
- 03トークンとコストの削減可能性を分析
- 04プロンプト内のデータ部分を自動変換
活用シーン
- 01同じ構造のオブジェクト配列をLLM向けに圧縮
- 02大規模データを含むプロンプトを最適化
- 03データ変換によるトークン削減量を見積もる
MCP 対応
データの変換と分析を行う`toon_encode`、`toon_decode`、`toon_analyze`、`toon_optimize_prompt`ツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| data | string | はい | エンコードするデータ(JSON、CSV、XML、YAML、またはその他の対応形式) |
| format | enum | いいえ | 入力形式(デフォルト:自動検出)auto | json | csv | tsv | xml | html-table | yaml |
詳細
TOON MCP Server
**TOON(Token-Oriented Object Notation)エンコーディング用のMCP(Model Context Protocol)サーバーです。構造化データを送信する際のLLMトークン使用量を50~70%**削減できます。
TOONとは?
TOONは、LLMへの入力に最適化されたコンパクトなデータ形式です。オブジェクトごとにフィールド名を繰り返す代わりに、ヘッダーベースの形式を使用します。
JSON(1041トークン):
[
{"id": 1, "name": "Product A", "price": 99.99},
{"id": 2, "name": "Product B", "price": 149.99}
]
TOON(389トークン):
[id,name,price]
1,Product A,99.99
2,Product B,149.99
結果:トークンを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
データを分析し、トークン数やコストの削減見込みを表示します。
toon_optimize_prompt
プロンプト内のデータ部分を見つけ、自動的にTOONに変換します。
使用例
Claude Desktop/Codeで使用する(MCPを利用)
Claudeにツールを使うよう依頼するだけです。
- 「このJSONをTOONにエンコードして:[... ]」
- 「このデータをTOONに変換すると、どれくらい節約できるか分析して」
- 「トークン効率が上がるように、このプロンプトを最適化して」
プログラムから使用する(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トークン数 | TOONトークン数 | 削減率 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| 100万リクエスト | $489節約 | $8,158節約 | $9,789節約 |
| 1,000万リクエスト | $4,890節約 | $81,580節約 | $97,890節約 |
TOONを使う場面
✅ 最適な用途:
- 同じ構造のオブジェクトの配列(テーブル、リスト、レコード)
- APIレスポンス、データベースの検索結果
- LLMに送信する大規模なデータセット
- 大規模利用時のコスト最適化
⚠️ 効果が低い用途:
- 深くネストされた、不均一なデータ
- 小さなペイロード(5件未満)
- 独自のフィールド構造が多数あるデータ
コントリビューション
プルリクエストを歓迎します。変更内容について話し合うため、まずissueを作成してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。