mcp-lazy-proxy
mcp-lazy-proxy
MCPツールスキーマのトークンオーバーヘッドを6〜7倍削減 — 遅延ロードとスキーマキャッシュによる。
検証済み、単なる主張ではありません。 すべてのセッションは証明ログを
~/.mcp-proxy-metrics.jsonlに書き込みます。mcp-lazy-proxy --reportを実行すると、マーケティング上の見積もりではなく、実際の削減量を確認できます。
⚠️ セキュリティ通知: 公式パッケージはnpm上の
mcp-lazy-proxy(作者:kiraautonoma)のみです。サードパーティのフォークや他のスコープでの再パッケージは推奨されておらず、悪意のあるコードが含まれている可能性があります。MCPサーバーは広範なシステムアクセス権を持つため、常に正規のソースからインストールしてください。
問題
複数のMCPサーバーを使用している場合、ツール定義は質問をする前から、API呼び出しのたびに数千トークンのコンテキストウィンドウを消費します。
10サーバー × 10ツール × ~344トークン/スキーマ = 呼び出しごとに34,000トークンのオーバーヘッド。 $3/MTok(Claude Sonnet)の場合: 呼び出しごとに$0.10の無駄、つまり100回/日の呼び出しで月額$261になります。
Related MCP server: MCP Nexus
解決策
このプロキシはMCPクライアントとアップストリームのMCPサーバーの間に配置されます。完全なツールスキーマを事前に送信する代わりに、次のことを行います:
圧縮されたスタブを返す — ツール名と1行の説明のみ(各~54トークン)
フルスキーマを遅延ロード — ツールが実際に呼び出されたときのみ
スキーマをディスクにキャッシュ — 以降の呼び出しはアップストリームサーバーではなくキャッシュにヒット
重複排除 — サーバー間で同一のスキーマは1回だけ保存
ベンチマーク(実データ)
サーバー数 | ツール数 | Eagerトークン | Lazyトークン | 削減率 | 月間削減額* |
1 | 10 | 3,555 | 550 | 6.5倍 | $27 |
3 | 30 | 11,140 | 1,620 | 6.9倍 | $86 |
5 | 60 | 20,607 | 3,224 | 6.4倍 | $156 |
10 | 100 | 34,360 | 5,350 | 6.4倍 | $261 |
10 | 200 | 71,583 | 10,790 | 6.6倍 | $547 |
15 | 225 | 81,460 | 12,115 | 6.7倍 | $624 |
20 | 200 | 71,997 | 10,760 | 6.7倍 | $551 |
*$3/MTokの入力価格、100 APIコール/日の場合
クイックスタート
npm install -g mcp-lazy-proxy単一のMCPサーバーをラップする
mcp-lazy-proxy --server "fs:stdio:npx:-y:@modelcontextprotocol/server-filesystem:/home"設定ファイルで複数のサーバーをラップする
{
"servers": [
{
"id": "filesystem",
"name": "Filesystem MCP",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home"]
},
{
"id": "github",
"name": "GitHub MCP",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"]
}
],
"mode": "lazy"
}mcp-lazy-proxy --config proxy.jsonClaude Desktopで使用する
{
"mcpServers": {
"proxy": {
"command": "mcp-lazy-proxy",
"args": ["--config", "/path/to/proxy.json"]
}
}
}モード
モード | 説明 | トークン削減率 |
| 最初のツール使用時にスキーマをロード(デフォルト) | ~85% |
| フルスキーマを一切送信しない(最大削減) | ~85% |
| すべてのスキーマを事前にロード(削減なし、デバッグ専用) | 0% |
E2Eテスト結果
公式の@modelcontextprotocol/server-filesystem(14ツール)でテスト済み:
✅ Initialize response: mcp-context-proxy
✅ Got 14 tools — 14/14 have lazy-load stubs
✅ Tool call (read_file) succeeded — file content correct
✅ Tool call (list_directory) succeeded
Token comparison: ~2800 eager vs ~832 lazy stubs (3.4x on this small server)10以上のサーバーでは、スキーマの複雑さが増すにつれて比率は6〜7倍に向上します。
API(プログラムでの使用)
import { MCPContextProxy } from 'mcp-lazy-proxy';
const proxy = new MCPContextProxy({
servers: [
{ id: 'fs', name: 'Filesystem', transport: 'stdio',
command: 'npx', args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'] }
],
mode: 'lazy'
});
await proxy.start();検証可能な削減証明
見積もりだけを示す他のMCPオプティマイザーとは異なり、mcp-lazy-proxyはすべてのやり取りをログに記録します:
# See your actual savings (not estimates)
mcp-lazy-proxy --report生の証明は~/.mcp-proxy-metrics.jsonlにあります — ツール呼び出しごとに1行のJSONで、完全に監査可能です。
比較
機能 | mcp-lazy-proxy | Atlassian mcp-compressor |
言語 | Node.js/npm | Python/pip |
仕組み | 呼び出し時の遅延ロード | 説明の圧縮 |
スキーマキャッシュ | ✅ ディスク(24時間TTL) | ❌ |
証明ログ | ✅ 監査可能なJSONL | ❌ |
レスポンス圧縮 | ✅ JSONサマリー+テキスト切り詰め | ❌ |
ホスティングオプション | 🔜 計画中 | ❌ |
レスポンス圧縮(v0.2)
大きなツール呼び出しのレスポンスは、LLMに到達する前に自動的に圧縮されます:
JSONレスポンス: 要約 — 配列は最初の3項目に切り詰められ件数が付与され、長い文字列は短縮され、完全な構造は保持されます
プレーンテキスト: 10,000文字に切り詰められ、
[truncated, X chars total]の注記が付きますエラーレスポンス: 圧縮されません(LLMには完全なエラーコンテキストが必要)
設定可能: 設定で
responseCompression: falseを指定して無効化、またはしきい値を微調整可能
{
"servers": [...],
"mode": "lazy",
"responseCompression": {
"enabled": true,
"maxTextLength": 10000,
"minCompressLength": 1000,
"maxArrayItems": 3
}
}ステータス
コア遅延ロードプロキシ(v0.1)
スキーマ永続キャッシュ(24時間TTL)
セッションごとの検証可能な削減証明
削減額監査用の
--reportCLI実MCPサーバーでのE2Eテスト済み
レスポンス圧縮(v0.2)
HTTP/SSEトランスポートのサポート
スキーマ変更検出(webhook)
ホスティング型SaaSオプション
ライセンス
MIT — Kira(自律型AIエージェント)によって構築されました。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnterprise-grade dynamic MCP proxy that eliminates token bloat by lazy-loading tool schemas based on semantic intent, enabling efficient orchestration of multiple backend tools from a single endpoint.MIT
- AlicenseNot gradedqualityBmaintenanceA single MCP endpoint for AI agents to browse, inspect, and call tools from multiple upstream MCP servers without loading all schemas upfront, reducing context overhead.20ISC
- AlicenseAqualityBmaintenanceMCP proxy that compresses tool schemas on the fly. Up to 98% token reduction, 100% signal preserved verified after every compression. Zero LLM calls, fully deterministic.53MIT
- AlicenseNot gradedqualityBmaintenanceReduces token costs from MCP tool schemas by analyzing bloat, compressing descriptions, and selecting only relevant tools for AI agents.MIT
Related MCP Connectors
Monitor MCP servers, API contracts and AI outputs for schema drift. Alerts on breaking changes.
Remote MCP for GenAI span mapping, provider normalization, dashboard schemas, and receipts.
Paid remote MCP for schema drift checks, approvals, receipts, and release audit logs.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kira-autonoma/mcp-context-proxy'
If you have feedback or need assistance with the MCP directory API, please join our Discord server