Token Enhancer について
Token Enhancer は、Web ページを AI エージェントのコンテキストウィンドウに入れる前にクリーンなテキストへ変換するローカルプロキシです。多くのページを取得するエージェントの利用者を想定しており、MCP サーバーとしても動作します。
主な機能
- 01任意の URL を取得し HTML と JSON のノイズを除去
- 02結果をキャッシュし再取得を高速化
- 03複数 URL の一括取得
- 04両方のバージョンを示す任意のプロンプト精錬
- 05API キーや GPU を必要としない Python 実装
活用シーン
- 01金融やニュースのページを読むエージェントのトークン消費を抑制
- 02LangChain エージェント向けにクリーンな Web コンテンツのツールを提供
- 03Claude Desktop や Cursor のエージェントによる自動ページ取得
MCP 対応
MCP サーバーとして動作し、fetch_clean、fetch_clean_batch、refine_prompt の各ツールを Claude Desktop や Cursor などの MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
トークンエンハンサー
AI エージェントのコンテキストウィンドウに入る前に、Web ページをクリーンなテキストに整えるローカルプロキシです。
Yahoo Finance を 1 回取得:704,760 トークン → 2,625 トークン。99.6% 削減。
API キー不要。LLM 不要。GPU 不要。Python だけで動作します。
問題点
AI エージェントは、生の HTML ページをコンテキストに読み込むため、トークン予算の大部分を無駄にしています。Yahoo Finance のページ 1 つだけで、ナビゲーションバー、広告、スクリプト、不要な情報が 704K トークン分あります。推論が始まる前に、そのすべてのコストをエージェントが負担します。
解決策
Token Enhancer は、エージェントと Web の間に位置します。ページを取得してノイズを取り除き、結果をキャッシュして、クリーンなデータだけを返します。
| ソース | 生のトークン数 | プロキシ経由 | 削減率 |
|---|---|---|---|
| Yahoo Finance(AAPL) | 704,760 | 2,625 | 99.6% |
| Wikipedia の記事 | 154,440 | 19,479 | 87.4% |
| Hacker News | 8,662 | 859 | 90.1% |
| GitHub リポジトリページ | 171,234 | 6,976 | 95.9% |
インストール
pip install xelektron-token-enhancer
クイックスタート(ソースから)
git clone https://github.com/xelektron/token-enhancer.git
cd token-enhancer
chmod +x install.sh
./install.sh
source .venv/bin/activate
python3 test_all.py --live
使い方
単体プロキシとして
source .venv/bin/activate
python3 proxy.py
次に、別のターミナルで実行します:
curl -s http://localhost:8080/fetch \
-H "content-type: application/json" \
-d '{"url": "https://finance.yahoo.com/quote/AAPL/"}' \
| python3 -m json.tool
MCP サーバーとして(Claude Desktop、Cursor、OpenClaw)
これは、インストールしてすぐに使える方法です。AI エージェントがツールを自動的に検出し、自ら使用します。
pip install xelektron-token-enhancer
Claude Desktop: 設定ファイルに追加します
Mac:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"token-enhancer": {
"command": "python3",
"args": ["-m", "mcp_server"],
"env": {
"REQUESTS_CA_BUNDLE": "/etc/ssl/certs/ca-certificates.crt"
}
}
}
}
SSL 検証に失敗する Linux ホストでは、上記の
envブロックによってデフォルトの CA バンドルが上書きされます。macOS/Windows では削除してください。
Cursor: プロジェクトの .cursor/mcp.json に追加します:
{
"mcpServers": {
"token-enhancer": {
"command": "python3",
"args": ["-m", "mcp_server"]
}
}
}
接続すると、エージェントは次の 3 つのツールを利用できます:
fetch_clean は任意の URL を取得し、クリーンなテキストを返します(86~99% 削減)
fetch_clean_batch は複数の URL を一度に取得します
refine_prompt は任意のプロンプトクリーンアップ機能です。両方のバージョンを表示するため、どちらを使うか選べます
LangChain ツールとして
from langchain.tools import tool
import requests
@tool
def fetch_clean(url: str) -> str:
"""Fetch a URL and return clean text with HTML noise removed."""
r = requests.post("http://localhost:8080/fetch", json={"url": url})
return r.json()["content"]
fetch_clean をエージェントのツールリストに追加します。先に python3 proxy.py を起動してください。
機能
データプロキシ(レイヤー 2) 任意の URL を取得し、HTML/JSON のノイズを取り除いて、クリーンなテキストを返します。結果をキャッシュするため、再取得は瞬時に完了します。HTML、JSON、プレーンテキストに対応しています。
プロンプトリファイナー(レイヤー 1、任意) ティッカー、日付、金額、否定表現、会話への参照を保護しながら、フィラー語や曖昧な表現を取り除きます。両方のバージョンを確認して選択できます。
MCP サーバー Claude Desktop、Cursor、OpenClaw、その他任意の MCP クライアントに接続できます。エージェントがツールを検出し、自動的に使用します。
API エンドポイント(プロキシモード)
| エンドポイント | メソッド | 説明 |
|---|---|---|
/fetch | POST | URL を取得し、ノイズを取り除いて、クリーンなデータを返します |
/fetch/batch | POST | 複数の URL を一度に取得します |
/refine | POST | 任意のプロンプト改良を行います |
/stats | GET | セッションの統計情報 |
テストの実行
python3 test_all.py # Layer 1 only (offline)
python3 test_all.py --live # Layer 1 + Layer 2 (needs internet)
ロードマップ
- レイヤー 1:プロンプトリファイナー
- レイヤー 2:キャッシュ機能付きデータプロキシ
- MCP サーバー連携
- LangChain ツールの例
- ボットによってブロックされたサイト用のブラウザフォールバック(Playwright)
- 認証済みセッション管理
- レイヤー 3:出力/履歴の圧縮
- CLI ツール
- ダッシュボード UI
要件
Python 3.10 以降。API キー不要。GPU 不要。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。