toonify-mcp 0.2.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +270 -0
- package/README.es.md +270 -0
- package/README.fr.md +270 -0
- package/README.id.md +270 -0
- package/README.ja.md +270 -0
- package/README.ko.md +270 -0
- package/README.md +21 -10
- package/README.pt.md +270 -0
- package/README.ru.md +270 -0
- package/README.vi.md +270 -0
- package/README.zh-CN.md +270 -0
- package/README.zh-TW.md +27 -16
- package/dist/metrics/metrics-collector.d.ts +2 -0
- package/dist/metrics/metrics-collector.d.ts.map +1 -1
- package/dist/metrics/metrics-collector.js +43 -8
- package/dist/metrics/metrics-collector.js.map +1 -1
- package/dist/optimizer/caching/cache-optimizer.d.ts +53 -0
- package/dist/optimizer/caching/cache-optimizer.d.ts.map +1 -0
- package/dist/optimizer/caching/cache-optimizer.js +176 -0
- package/dist/optimizer/caching/cache-optimizer.js.map +1 -0
- package/dist/optimizer/caching/cache-strategies.d.ts +19 -0
- package/dist/optimizer/caching/cache-strategies.d.ts.map +1 -0
- package/dist/optimizer/caching/cache-strategies.js +62 -0
- package/dist/optimizer/caching/cache-strategies.js.map +1 -0
- package/dist/optimizer/caching/cache-types.d.ts +36 -0
- package/dist/optimizer/caching/cache-types.d.ts.map +1 -0
- package/dist/optimizer/caching/cache-types.js +5 -0
- package/dist/optimizer/caching/cache-types.js.map +1 -0
- package/dist/optimizer/caching/index.d.ts +7 -0
- package/dist/optimizer/caching/index.d.ts.map +1 -0
- package/dist/optimizer/caching/index.js +7 -0
- package/dist/optimizer/caching/index.js.map +1 -0
- package/dist/optimizer/multilingual/index.d.ts +7 -0
- package/dist/optimizer/multilingual/index.d.ts.map +1 -0
- package/dist/optimizer/multilingual/index.js +7 -0
- package/dist/optimizer/multilingual/index.js.map +1 -0
- package/dist/optimizer/multilingual/language-detector.d.ts +43 -0
- package/dist/optimizer/multilingual/language-detector.d.ts.map +1 -0
- package/dist/optimizer/multilingual/language-detector.js +161 -0
- package/dist/optimizer/multilingual/language-detector.js.map +1 -0
- package/dist/optimizer/multilingual/language-profiles.d.ts +34 -0
- package/dist/optimizer/multilingual/language-profiles.d.ts.map +1 -0
- package/dist/optimizer/multilingual/language-profiles.js +196 -0
- package/dist/optimizer/multilingual/language-profiles.js.map +1 -0
- package/dist/optimizer/multilingual/tokenizer-adapter.d.ts +47 -0
- package/dist/optimizer/multilingual/tokenizer-adapter.d.ts.map +1 -0
- package/dist/optimizer/multilingual/tokenizer-adapter.js +96 -0
- package/dist/optimizer/multilingual/tokenizer-adapter.js.map +1 -0
- package/dist/optimizer/token-optimizer.d.ts +11 -1
- package/dist/optimizer/token-optimizer.d.ts.map +1 -1
- package/dist/optimizer/token-optimizer.js +49 -8
- package/dist/optimizer/token-optimizer.js.map +1 -1
- package/dist/optimizer/types.d.ts +15 -0
- package/dist/optimizer/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.ja.md
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
# 🎯 Toonify MCP
|
|
2
|
+
|
|
3
|
+
**[English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [한국어](README.ko.md) | [Русский](README.ru.md) | [Português](README.pt.md) | [Tiếng Việt](README.vi.md) | [Bahasa Indonesia](README.id.md)**
|
|
4
|
+
|
|
5
|
+
MCP サーバー + Claude Code プラグインによる構造化データの自動トークン最適化。
|
|
6
|
+
透過的な TOON フォーマット変換により、**データ構造に応じて Claude API トークン使用量を 30-65% 削減**し、構造化データでは一般的に **50-55%** の節約を実現します。
|
|
7
|
+
|
|
8
|
+
## v0.3.0 の新機能
|
|
9
|
+
|
|
10
|
+
✨ **多言語トークン最適化!**
|
|
11
|
+
- ✅ 15 以上の言語(中国語、日本語、韓国語、スペイン語、アラビア語など)の正確なトークンカウント
|
|
12
|
+
- ✅ 言語を考慮したトークン倍率(中国語 2 倍、日本語 2.5 倍、アラビア語 3 倍)
|
|
13
|
+
- ✅ 混合言語テキストの自動検出をサポート
|
|
14
|
+
- ✅ 実際のベンチマークに基づく最適化精度の向上
|
|
15
|
+
- ✅ データに裏付けられたトークン節約の主張(30-65% の範囲、通常 50-55%)
|
|
16
|
+
|
|
17
|
+
## 機能
|
|
18
|
+
|
|
19
|
+
- **30-65% のトークン削減**(通常 50-55%)- JSON、CSV、YAML データに対応
|
|
20
|
+
- **多言語サポート** - 15 以上の言語の正確なトークンカウント
|
|
21
|
+
- **完全自動** - PostToolUse フックがツール結果を傍受
|
|
22
|
+
- **設定不要** - 賢明なデフォルト設定で開箱即用
|
|
23
|
+
- **デュアルモード** - プラグイン(自動)または MCP サーバー(手動)として動作
|
|
24
|
+
- **組み込みメトリクス** - トークン節約をローカルで追跡
|
|
25
|
+
- **サイレントフォールバック** - ワークフローを中断しません
|
|
26
|
+
|
|
27
|
+
## インストール
|
|
28
|
+
|
|
29
|
+
### オプション A:Claude Code プラグイン(推奨)⭐
|
|
30
|
+
|
|
31
|
+
**手動呼び出し不要の自動トークン最適化:**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. グローバルインストール
|
|
35
|
+
npm install -g toonify-mcp
|
|
36
|
+
|
|
37
|
+
# 2. プラグインとして追加(自動モード)
|
|
38
|
+
claude plugin add toonify-mcp
|
|
39
|
+
|
|
40
|
+
# 3. インストールを確認
|
|
41
|
+
claude plugin list
|
|
42
|
+
# 表示されるはず:toonify-mcp ✓
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**これで完了!** PostToolUse フックが Read、Grep、その他のファイルツールからの構造化データを自動的に傍受して最適化します。
|
|
46
|
+
|
|
47
|
+
### オプション B:MCP サーバー(手動モード)
|
|
48
|
+
|
|
49
|
+
**明示的な制御または非 Claude Code MCP クライアント用:**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. グローバルインストール
|
|
53
|
+
npm install -g toonify-mcp
|
|
54
|
+
|
|
55
|
+
# 2. MCP サーバーとして登録
|
|
56
|
+
claude mcp add toonify -- toonify-mcp
|
|
57
|
+
|
|
58
|
+
# 3. 確認
|
|
59
|
+
claude mcp list
|
|
60
|
+
# 表示されるはず:toonify: toonify-mcp - ✓ Connected
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
次にツールを明示的に呼び出します:
|
|
64
|
+
```bash
|
|
65
|
+
claude mcp call toonify optimize_content '{"content": "..."}'
|
|
66
|
+
claude mcp call toonify get_stats '{}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 動作原理
|
|
70
|
+
|
|
71
|
+
### プラグインモード(自動)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
ユーザー:大きな JSON ファイルを読む
|
|
75
|
+
↓
|
|
76
|
+
Claude Code が Read ツールを呼び出す
|
|
77
|
+
↓
|
|
78
|
+
PostToolUse フックが結果を傍受
|
|
79
|
+
↓
|
|
80
|
+
フックが JSON を検出し、TOON に変換
|
|
81
|
+
↓
|
|
82
|
+
最適化されたコンテンツを Claude API に送信
|
|
83
|
+
↓
|
|
84
|
+
50-55% の典型的なトークン削減を達成 ✨
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### MCP サーバーモード(手動)
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
ユーザー:mcp__toonify__optimize_content を明示的に呼び出す
|
|
91
|
+
↓
|
|
92
|
+
コンテンツを TOON フォーマットに変換
|
|
93
|
+
↓
|
|
94
|
+
最適化された結果を返す
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 設定
|
|
98
|
+
|
|
99
|
+
`~/.claude/toonify-config.json` を作成(オプション):
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"enabled": true,
|
|
104
|
+
"minTokensThreshold": 50,
|
|
105
|
+
"minSavingsThreshold": 30,
|
|
106
|
+
"skipToolPatterns": ["Bash", "Write", "Edit"]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### オプション
|
|
111
|
+
|
|
112
|
+
- **enabled**:自動最適化を有効/無効にする(デフォルト:`true`)
|
|
113
|
+
- **minTokensThreshold**:最適化前の最小トークン数(デフォルト:`50`)
|
|
114
|
+
- **minSavingsThreshold**:必要な最小節約率(デフォルト:`30%`)
|
|
115
|
+
- **skipToolPatterns**:最適化しないツール(デフォルト:`["Bash", "Write", "Edit"]`)
|
|
116
|
+
|
|
117
|
+
### 環境変数
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
export TOONIFY_ENABLED=true
|
|
121
|
+
export TOONIFY_MIN_TOKENS=50
|
|
122
|
+
export TOONIFY_MIN_SAVINGS=30
|
|
123
|
+
export TOONIFY_SKIP_TOOLS="Bash,Write"
|
|
124
|
+
export TOONIFY_SHOW_STATS=true # 出力に最適化統計を表示
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 例
|
|
128
|
+
|
|
129
|
+
### 最適化前(142 トークン)
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"products": [
|
|
134
|
+
{"id": 101, "name": "Laptop Pro", "price": 1299},
|
|
135
|
+
{"id": 102, "name": "Magic Mouse", "price": 79}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 最適化後(57 トークン、-60%)
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
[TOON-JSON]
|
|
144
|
+
products[2]{id,name,price}:
|
|
145
|
+
101,Laptop Pro,1299
|
|
146
|
+
102,Magic Mouse,79
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**プラグインモードで自動的に適用 - 手動呼び出し不要!**
|
|
150
|
+
|
|
151
|
+
## 使用のヒント
|
|
152
|
+
|
|
153
|
+
### いつ自動最適化がトリガーされますか?
|
|
154
|
+
|
|
155
|
+
PostToolUse フックは次の場合に自動的に最適化します:
|
|
156
|
+
- ✅ コンテンツが有効な JSON、CSV、または YAML
|
|
157
|
+
- ✅ コンテンツサイズ ≥ `minTokensThreshold`(デフォルト:50 トークン)
|
|
158
|
+
- ✅ 推定節約 ≥ `minSavingsThreshold`(デフォルト:30%)
|
|
159
|
+
- ✅ ツールが `skipToolPatterns` に含まれていない(例:Bash/Write/Edit ではない)
|
|
160
|
+
|
|
161
|
+
### 最適化統計を表示
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# プラグインモードで
|
|
165
|
+
claude mcp call toonify get_stats '{}'
|
|
166
|
+
|
|
167
|
+
# または Claude Code 出力の統計を確認(TOONIFY_SHOW_STATS=true の場合)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## トラブルシューティング
|
|
171
|
+
|
|
172
|
+
### フックがトリガーされない
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 1. プラグインがインストールされているか確認
|
|
176
|
+
claude plugin list | grep toonify
|
|
177
|
+
|
|
178
|
+
# 2. 設定を確認
|
|
179
|
+
cat ~/.claude/toonify-config.json
|
|
180
|
+
|
|
181
|
+
# 3. 統計を有効にして最適化の試みを確認
|
|
182
|
+
export TOONIFY_SHOW_STATS=true
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 最適化が適用されない
|
|
186
|
+
|
|
187
|
+
- `minTokensThreshold` を確認 - コンテンツが小さすぎる可能性
|
|
188
|
+
- `minSavingsThreshold` を確認 - 節約が 30% 未満の可能性
|
|
189
|
+
- `skipToolPatterns` を確認 - ツールがスキップリストに含まれている可能性
|
|
190
|
+
- コンテンツが有効な JSON/CSV/YAML であることを確認
|
|
191
|
+
|
|
192
|
+
### パフォーマンスの問題
|
|
193
|
+
|
|
194
|
+
- `minTokensThreshold` を下げてより積極的に最適化
|
|
195
|
+
- `minSavingsThreshold` を上げて限界的な最適化をスキップ
|
|
196
|
+
- 必要に応じて、より多くのツールを `skipToolPatterns` に追加
|
|
197
|
+
|
|
198
|
+
## 比較:プラグイン vs MCP サーバー
|
|
199
|
+
|
|
200
|
+
| 機能 | プラグインモード | MCP サーバーモード |
|
|
201
|
+
|------|--------------|------------------|
|
|
202
|
+
| **アクティベーション** | 自動(PostToolUse) | 手動(ツール呼び出し) |
|
|
203
|
+
| **互換性** | Claude Code のみ | 任意の MCP クライアント |
|
|
204
|
+
| **設定** | プラグイン設定ファイル | MCP ツール |
|
|
205
|
+
| **パフォーマンス** | ゼロオーバーヘッド | 呼び出しオーバーヘッド |
|
|
206
|
+
| **ユースケース** | 日常のワークフロー | 明示的な制御 |
|
|
207
|
+
|
|
208
|
+
**推奨**:自動最適化にはプラグインモードを使用。明示的な制御または他の MCP クライアントには MCP サーバーモードを使用。
|
|
209
|
+
|
|
210
|
+
## アンインストール
|
|
211
|
+
|
|
212
|
+
### プラグインモード
|
|
213
|
+
```bash
|
|
214
|
+
claude plugin remove toonify-mcp
|
|
215
|
+
rm ~/.claude/toonify-config.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### MCP サーバーモード
|
|
219
|
+
```bash
|
|
220
|
+
claude mcp remove toonify
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### パッケージ
|
|
224
|
+
```bash
|
|
225
|
+
npm uninstall -g toonify-mcp
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## リンク
|
|
229
|
+
|
|
230
|
+
- **GitHub**:https://github.com/kevintseng/toonify-mcp
|
|
231
|
+
- **Issues**:https://github.com/kevintseng/toonify-mcp/issues
|
|
232
|
+
- **NPM**:https://www.npmjs.com/package/toonify-mcp
|
|
233
|
+
- **MCP ドキュメント**:https://code.claude.com/docs/mcp
|
|
234
|
+
- **TOON フォーマット**:https://github.com/toon-format/toon
|
|
235
|
+
|
|
236
|
+
## 貢献
|
|
237
|
+
|
|
238
|
+
貢献を歓迎します!ガイドラインについては [CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。
|
|
239
|
+
|
|
240
|
+
## ライセンス
|
|
241
|
+
|
|
242
|
+
MIT ライセンス - 詳細は [LICENSE](LICENSE) を参照
|
|
243
|
+
|
|
244
|
+
## 変更履歴
|
|
245
|
+
|
|
246
|
+
### v0.3.0(2025-12-26)
|
|
247
|
+
- ✨ **多言語トークン最適化** - 15 以上の言語の正確なカウント
|
|
248
|
+
- ✨ 言語を考慮したトークン倍率(中国語 2 倍、日本語 2.5 倍、アラビア語 3 倍など)
|
|
249
|
+
- ✨ 混合言語テキストの検出と最適化
|
|
250
|
+
- ✨ 実際の統計を使用した包括的なベンチマークテスト
|
|
251
|
+
- 📊 データに裏付けられたトークン節約の主張(30-65% の範囲、通常 50-55%)
|
|
252
|
+
- ✅ 多言語エッジケースを含む 75 以上のテスト合格
|
|
253
|
+
- 📝 多言語 README バージョン
|
|
254
|
+
|
|
255
|
+
### v0.2.0(2025-12-25)
|
|
256
|
+
- ✨ PostToolUse フックによる Claude Code プラグインサポートの追加
|
|
257
|
+
- ✨ 自動トークン最適化(手動呼び出し不要)
|
|
258
|
+
- ✨ プラグイン設定システム
|
|
259
|
+
- ✨ デュアルモード:プラグイン(自動)+ MCP サーバー(手動)
|
|
260
|
+
- 📝 包括的なドキュメント更新
|
|
261
|
+
|
|
262
|
+
### v0.1.1(2024-12-24)
|
|
263
|
+
- 🐛 バグ修正と改善
|
|
264
|
+
- 📝 ドキュメント更新
|
|
265
|
+
|
|
266
|
+
### v0.1.0(2024-12-24)
|
|
267
|
+
- 🎉 初回リリース
|
|
268
|
+
- ✨ MCP サーバー実装
|
|
269
|
+
- ✨ TOON フォーマット最適化
|
|
270
|
+
- ✨ 組み込みメトリクス追跡
|
package/README.ko.md
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
# 🎯 Toonify MCP
|
|
2
|
+
|
|
3
|
+
**[English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [한국어](README.ko.md) | [Русский](README.ru.md) | [Português](README.pt.md) | [Tiếng Việt](README.vi.md) | [Bahasa Indonesia](README.id.md)**
|
|
4
|
+
|
|
5
|
+
구조화된 데이터의 자동 토큰 최적화를 제공하는 MCP 서버 + Claude Code 플러그인입니다.
|
|
6
|
+
투명한 TOON 형식 변환을 통해 Claude API 토큰 사용량을 **데이터 구조에 따라 30-65% 감소**시키며, 구조화된 데이터의 경우 일반적으로 **50-55%의 절감 효과**를 제공합니다.
|
|
7
|
+
|
|
8
|
+
## v0.3.0의 새로운 기능
|
|
9
|
+
|
|
10
|
+
✨ **다국어 토큰 최적화!**
|
|
11
|
+
- ✅ 15개 이상의 언어(중국어, 일본어, 한국어, 스페인어, 아랍어 등)에 대한 정확한 토큰 계산
|
|
12
|
+
- ✅ 언어별 토큰 승수 적용 (중국어 2배, 일본어 2.5배, 아랍어 3배)
|
|
13
|
+
- ✅ 자동 감지를 통한 혼합 언어 텍스트 지원
|
|
14
|
+
- ✅ 실제 벤치마크를 기반으로 한 최적화 정확도 개선
|
|
15
|
+
- ✅ 데이터 기반의 토큰 절감 수치 (30-65% 범위, 일반적으로 50-55%)
|
|
16
|
+
|
|
17
|
+
## 주요 기능
|
|
18
|
+
|
|
19
|
+
- **30-65% 토큰 감소** (일반적으로 50-55%) JSON, CSV, YAML 데이터 대상
|
|
20
|
+
- **다국어 지원** - 15개 이상의 언어에 대한 정확한 토큰 계산
|
|
21
|
+
- **완전 자동** - PostToolUse 훅이 도구 결과를 자동으로 가로챔
|
|
22
|
+
- **무설정** - 합리적인 기본값으로 즉시 작동
|
|
23
|
+
- **이중 모드** - 플러그인(자동) 또는 MCP 서버(수동)로 작동
|
|
24
|
+
- **내장 메트릭** - 로컬에서 토큰 절감 추적
|
|
25
|
+
- **자동 폴백** - 워크플로우를 중단하지 않음
|
|
26
|
+
|
|
27
|
+
## 설치 방법
|
|
28
|
+
|
|
29
|
+
### 옵션 A: Claude Code 플러그인 (권장) ⭐
|
|
30
|
+
|
|
31
|
+
**수동 호출 없이 자동 토큰 최적화:**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. 전역 설치
|
|
35
|
+
npm install -g toonify-mcp
|
|
36
|
+
|
|
37
|
+
# 2. 플러그인으로 추가 (자동 모드)
|
|
38
|
+
claude plugin add toonify-mcp
|
|
39
|
+
|
|
40
|
+
# 3. 설치 확인
|
|
41
|
+
claude plugin list
|
|
42
|
+
# 다음과 같이 표시되어야 함: toonify-mcp ✓
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**완료!** 이제 PostToolUse 훅이 Read, Grep 및 기타 파일 도구에서 구조화된 데이터를 자동으로 가로채고 최적화합니다.
|
|
46
|
+
|
|
47
|
+
### 옵션 B: MCP 서버 (수동 모드)
|
|
48
|
+
|
|
49
|
+
**명시적 제어가 필요하거나 Claude Code가 아닌 MCP 클라이언트용:**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. 전역 설치
|
|
53
|
+
npm install -g toonify-mcp
|
|
54
|
+
|
|
55
|
+
# 2. MCP 서버로 등록
|
|
56
|
+
claude mcp add toonify -- toonify-mcp
|
|
57
|
+
|
|
58
|
+
# 3. 확인
|
|
59
|
+
claude mcp list
|
|
60
|
+
# 다음과 같이 표시되어야 함: toonify: toonify-mcp - ✓ Connected
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
그런 다음 도구를 명시적으로 호출:
|
|
64
|
+
```bash
|
|
65
|
+
claude mcp call toonify optimize_content '{"content": "..."}'
|
|
66
|
+
claude mcp call toonify get_stats '{}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 작동 방식
|
|
70
|
+
|
|
71
|
+
### 플러그인 모드 (자동)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
사용자: 대용량 JSON 파일 읽기
|
|
75
|
+
↓
|
|
76
|
+
Claude Code가 Read 도구 호출
|
|
77
|
+
↓
|
|
78
|
+
PostToolUse 훅이 결과를 가로챔
|
|
79
|
+
↓
|
|
80
|
+
훅이 JSON을 감지하고 TOON으로 변환
|
|
81
|
+
↓
|
|
82
|
+
최적화된 콘텐츠가 Claude API로 전송
|
|
83
|
+
↓
|
|
84
|
+
일반적으로 50-55% 토큰 감소 달성 ✨
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### MCP 서버 모드 (수동)
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
사용자: mcp__toonify__optimize_content를 명시적으로 호출
|
|
91
|
+
↓
|
|
92
|
+
콘텐츠가 TOON 형식으로 변환됨
|
|
93
|
+
↓
|
|
94
|
+
최적화된 결과 반환
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 설정
|
|
98
|
+
|
|
99
|
+
`~/.claude/toonify-config.json` 파일 생성 (선택사항):
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"enabled": true,
|
|
104
|
+
"minTokensThreshold": 50,
|
|
105
|
+
"minSavingsThreshold": 30,
|
|
106
|
+
"skipToolPatterns": ["Bash", "Write", "Edit"]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 옵션
|
|
111
|
+
|
|
112
|
+
- **enabled**: 자동 최적화 활성화/비활성화 (기본값: `true`)
|
|
113
|
+
- **minTokensThreshold**: 최적화 전 최소 토큰 수 (기본값: `50`)
|
|
114
|
+
- **minSavingsThreshold**: 필요한 최소 절감 비율 (기본값: `30%`)
|
|
115
|
+
- **skipToolPatterns**: 최적화하지 않을 도구 (기본값: `["Bash", "Write", "Edit"]`)
|
|
116
|
+
|
|
117
|
+
### 환경 변수
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
export TOONIFY_ENABLED=true
|
|
121
|
+
export TOONIFY_MIN_TOKENS=50
|
|
122
|
+
export TOONIFY_MIN_SAVINGS=30
|
|
123
|
+
export TOONIFY_SKIP_TOOLS="Bash,Write"
|
|
124
|
+
export TOONIFY_SHOW_STATS=true # 출력에 최적화 통계 표시
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 예제
|
|
128
|
+
|
|
129
|
+
### 최적화 전 (142 토큰)
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"products": [
|
|
134
|
+
{"id": 101, "name": "Laptop Pro", "price": 1299},
|
|
135
|
+
{"id": 102, "name": "Magic Mouse", "price": 79}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 최적화 후 (57 토큰, -60%)
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
[TOON-JSON]
|
|
144
|
+
products[2]{id,name,price}:
|
|
145
|
+
101,Laptop Pro,1299
|
|
146
|
+
102,Magic Mouse,79
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**플러그인 모드에서 자동으로 적용됨 - 수동 호출 불필요!**
|
|
150
|
+
|
|
151
|
+
## 사용 팁
|
|
152
|
+
|
|
153
|
+
### 자동 최적화는 언제 실행되나요?
|
|
154
|
+
|
|
155
|
+
PostToolUse 훅은 다음 조건에서 자동으로 최적화합니다:
|
|
156
|
+
- ✅ 콘텐츠가 유효한 JSON, CSV 또는 YAML인 경우
|
|
157
|
+
- ✅ 콘텐츠 크기 ≥ `minTokensThreshold` (기본값: 50 토큰)
|
|
158
|
+
- ✅ 예상 절감량 ≥ `minSavingsThreshold` (기본값: 30%)
|
|
159
|
+
- ✅ 도구가 `skipToolPatterns`에 없는 경우 (예: Bash/Write/Edit 아님)
|
|
160
|
+
|
|
161
|
+
### 최적화 통계 보기
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# 플러그인 모드에서
|
|
165
|
+
claude mcp call toonify get_stats '{}'
|
|
166
|
+
|
|
167
|
+
# 또는 Claude Code 출력에서 통계 확인 (TOONIFY_SHOW_STATS=true인 경우)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## 문제 해결
|
|
171
|
+
|
|
172
|
+
### 훅이 실행되지 않음
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 1. 플러그인 설치 확인
|
|
176
|
+
claude plugin list | grep toonify
|
|
177
|
+
|
|
178
|
+
# 2. 설정 확인
|
|
179
|
+
cat ~/.claude/toonify-config.json
|
|
180
|
+
|
|
181
|
+
# 3. 통계를 활성화하여 최적화 시도 확인
|
|
182
|
+
export TOONIFY_SHOW_STATS=true
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 최적화가 적용되지 않음
|
|
186
|
+
|
|
187
|
+
- `minTokensThreshold` 확인 - 콘텐츠가 너무 작을 수 있음
|
|
188
|
+
- `minSavingsThreshold` 확인 - 절감량이 30% 미만일 수 있음
|
|
189
|
+
- `skipToolPatterns` 확인 - 도구가 건너뛰기 목록에 있을 수 있음
|
|
190
|
+
- 콘텐츠가 유효한 JSON/CSV/YAML인지 확인
|
|
191
|
+
|
|
192
|
+
### 성능 문제
|
|
193
|
+
|
|
194
|
+
- `minTokensThreshold`를 낮춰 더 적극적으로 최적화
|
|
195
|
+
- `minSavingsThreshold`를 높여 미미한 최적화 건너뛰기
|
|
196
|
+
- 필요한 경우 `skipToolPatterns`에 더 많은 도구 추가
|
|
197
|
+
|
|
198
|
+
## 비교: 플러그인 vs MCP 서버
|
|
199
|
+
|
|
200
|
+
| 기능 | 플러그인 모드 | MCP 서버 모드 |
|
|
201
|
+
|---------|------------|-----------------|
|
|
202
|
+
| **활성화** | 자동 (PostToolUse) | 수동 (도구 호출) |
|
|
203
|
+
| **호환성** | Claude Code만 | 모든 MCP 클라이언트 |
|
|
204
|
+
| **설정** | 플러그인 설정 파일 | MCP 도구 |
|
|
205
|
+
| **성능** | 오버헤드 없음 | 호출 오버헤드 |
|
|
206
|
+
| **사용 사례** | 일상 워크플로우 | 명시적 제어 |
|
|
207
|
+
|
|
208
|
+
**권장사항**: 자동 최적화를 위해 플러그인 모드를 사용하세요. 명시적 제어가 필요하거나 다른 MCP 클라이언트를 사용하는 경우 MCP 서버 모드를 사용하세요.
|
|
209
|
+
|
|
210
|
+
## 제거
|
|
211
|
+
|
|
212
|
+
### 플러그인 모드
|
|
213
|
+
```bash
|
|
214
|
+
claude plugin remove toonify-mcp
|
|
215
|
+
rm ~/.claude/toonify-config.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### MCP 서버 모드
|
|
219
|
+
```bash
|
|
220
|
+
claude mcp remove toonify
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 패키지
|
|
224
|
+
```bash
|
|
225
|
+
npm uninstall -g toonify-mcp
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## 링크
|
|
229
|
+
|
|
230
|
+
- **GitHub**: https://github.com/kevintseng/toonify-mcp
|
|
231
|
+
- **Issues**: https://github.com/kevintseng/toonify-mcp/issues
|
|
232
|
+
- **NPM**: https://www.npmjs.com/package/toonify-mcp
|
|
233
|
+
- **MCP Docs**: https://code.claude.com/docs/mcp
|
|
234
|
+
- **TOON Format**: https://github.com/toon-format/toon
|
|
235
|
+
|
|
236
|
+
## 기여
|
|
237
|
+
|
|
238
|
+
기여를 환영합니다! 가이드라인은 [CONTRIBUTING.md](CONTRIBUTING.md)를 참조하세요.
|
|
239
|
+
|
|
240
|
+
## 라이선스
|
|
241
|
+
|
|
242
|
+
MIT License - [LICENSE](LICENSE) 참조
|
|
243
|
+
|
|
244
|
+
## 변경 이력
|
|
245
|
+
|
|
246
|
+
### v0.3.0 (2025-12-26)
|
|
247
|
+
- ✨ **다국어 토큰 최적화** - 15개 이상의 언어에 대한 정확한 계산
|
|
248
|
+
- ✨ 언어별 토큰 승수 (중국어 2배, 일본어 2.5배, 아랍어 3배 등)
|
|
249
|
+
- ✨ 혼합 언어 텍스트 감지 및 최적화
|
|
250
|
+
- ✨ 실제 통계를 사용한 포괄적인 벤치마크 테스트
|
|
251
|
+
- 📊 데이터 기반 토큰 절감 수치 (30-65% 범위, 일반적으로 50-55%)
|
|
252
|
+
- ✅ 다국어 엣지 케이스를 포함한 75개 이상의 테스트 통과
|
|
253
|
+
- 📝 다국어 README 버전
|
|
254
|
+
|
|
255
|
+
### v0.2.0 (2025-12-25)
|
|
256
|
+
- ✨ PostToolUse 훅을 사용한 Claude Code 플러그인 지원 추가
|
|
257
|
+
- ✨ 자동 토큰 최적화 (수동 호출 불필요)
|
|
258
|
+
- ✨ 플러그인 설정 시스템
|
|
259
|
+
- ✨ 이중 모드: 플러그인 (자동) + MCP 서버 (수동)
|
|
260
|
+
- 📝 포괄적인 문서 업데이트
|
|
261
|
+
|
|
262
|
+
### v0.1.1 (2024-12-24)
|
|
263
|
+
- 🐛 버그 수정 및 개선
|
|
264
|
+
- 📝 문서 업데이트
|
|
265
|
+
|
|
266
|
+
### v0.1.0 (2024-12-24)
|
|
267
|
+
- 🎉 초기 릴리스
|
|
268
|
+
- ✨ MCP 서버 구현
|
|
269
|
+
- ✨ TOON 형식 최적화
|
|
270
|
+
- ✨ 내장 메트릭 추적
|
package/README.md
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
# 🎯 Toonify MCP
|
|
2
2
|
|
|
3
|
-
**[English](README.md) | [繁體中文](README.zh-TW.md)**
|
|
3
|
+
**[English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [한국어](README.ko.md) | [Русский](README.ru.md) | [Português](README.pt.md) | [Tiếng Việt](README.vi.md) | [Bahasa Indonesia](README.id.md)**
|
|
4
4
|
|
|
5
5
|
MCP server + Claude Code Plugin providing automatic token optimization for structured data.
|
|
6
|
-
Reduces Claude API token usage by **
|
|
6
|
+
Reduces Claude API token usage by **30-65% depending on data structure** through transparent TOON format conversion, with typical savings of **50-55%** for structured data.
|
|
7
7
|
|
|
8
|
-
## What's New in v0.
|
|
8
|
+
## What's New in v0.3.0
|
|
9
9
|
|
|
10
|
-
✨ **
|
|
11
|
-
- ✅
|
|
12
|
-
- ✅
|
|
13
|
-
- ✅
|
|
14
|
-
- ✅
|
|
10
|
+
✨ **Multilingual Token Optimization!**
|
|
11
|
+
- ✅ Accurate token counting for 15+ languages (Chinese, Japanese, Korean, Spanish, Arabic, etc.)
|
|
12
|
+
- ✅ Language-aware token multipliers (2x for Chinese, 2.5x for Japanese, 3x for Arabic)
|
|
13
|
+
- ✅ Mixed-language text support with automatic detection
|
|
14
|
+
- ✅ Improved optimization accuracy based on real benchmarks
|
|
15
|
+
- ✅ Data-backed token savings claims (30-65% range, typically 50-55%)
|
|
15
16
|
|
|
16
17
|
## Features
|
|
17
18
|
|
|
18
|
-
- **
|
|
19
|
+
- **30-65% Token Reduction** (typically 50-55%) for JSON, CSV, YAML data
|
|
20
|
+
- **Multilingual Support** - Accurate token counting for 15+ languages
|
|
19
21
|
- **Fully Automatic** - PostToolUse hook intercepts tool results
|
|
20
22
|
- **Zero Configuration** - Works out of the box with sensible defaults
|
|
21
23
|
- **Dual Mode** - Works as Plugin (auto) or MCP Server (manual)
|
|
@@ -79,7 +81,7 @@ Hook detects JSON, converts to TOON
|
|
|
79
81
|
↓
|
|
80
82
|
Optimized content sent to Claude API
|
|
81
83
|
↓
|
|
82
|
-
|
|
84
|
+
50-55% typical token reduction achieved ✨
|
|
83
85
|
```
|
|
84
86
|
|
|
85
87
|
### MCP Server Mode (Manual)
|
|
@@ -241,6 +243,15 @@ MIT License - see [LICENSE](LICENSE)
|
|
|
241
243
|
|
|
242
244
|
## Changelog
|
|
243
245
|
|
|
246
|
+
### v0.3.0 (2025-12-26)
|
|
247
|
+
- ✨ **Multilingual token optimization** - accurate counting for 15+ languages
|
|
248
|
+
- ✨ Language-aware token multipliers (2x Chinese, 2.5x Japanese, 3x Arabic, etc.)
|
|
249
|
+
- ✨ Mixed-language text detection and optimization
|
|
250
|
+
- ✨ Comprehensive benchmark testing with real statistics
|
|
251
|
+
- 📊 Data-backed token savings claims (30-65% range, typically 50-55%)
|
|
252
|
+
- ✅ 75+ tests passing, including multilingual edge cases
|
|
253
|
+
- 📝 Multilingual README versions
|
|
254
|
+
|
|
244
255
|
### v0.2.0 (2025-12-25)
|
|
245
256
|
- ✨ Added Claude Code Plugin support with PostToolUse hook
|
|
246
257
|
- ✨ Automatic token optimization (no manual calls needed)
|