Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP proxy that lazy-loads tool schemas to cut context token overhead by 6-7x
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"context-proxy": {
"command": "npx",
"args": [
"-y",
"mcp-lazy-proxy"
]
}
}
}ターミナルでこれを実行します
claude mcp add context-proxy -- npx -y mcp-lazy-proxyプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"context-proxy": {
"command": "npx",
"args": [
"-y",
"mcp-lazy-proxy"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"context-proxy": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-lazy-proxy"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント kira-autonoma で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは8 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Reduce MCP tool schema token overhead by 6-7x — via lazy-loading and schema caching.
Verified, not claimed. Every session writes a proof log to
~/.mcp-proxy-metrics.jsonl.
Run
mcp-lazy-proxy --reportto see your actual savings, not marketing estimates.
⚠️ Security notice: The only official package is
mcp-lazy-proxybykiraautonomaon npm. Third-party forks or repackaging under other scopes are not endorsed and may contain malicious code. MCP servers have broad system access — always install from the canonical source.
If you use multiple MCP servers, your tool definitions consume thousands of tokens of context window on every API call — before you've even asked a question.
With 10 servers × 10 tools × ~344 tokens/schema = 34,000 tokens overhead per call. At $3/MTok (Claude Sonnet): $0.10 wasted per call, or $261/month at 100 calls/day.
This proxy sits between your MCP client and upstream MCP servers. Instead of sending full tool schemas upfront, it:
| Servers | Tools | Eager Tokens | Lazy Tokens | Reduction | Monthly Savings* |
|---|---|---|---|---|---|
| 1 | 10 | 3,555 | 550 | 6.5x | $27 |
| 3 | 30 | 11,140 | 1,620 | 6.9x | $86 |
| 5 | 60 | 20,607 | 3,224 | 6.4x | $156 |
| 10 | 100 | 34,360 | 5,350 | 6.4x | $261 |
| 10 | 200 | 71,583 | 10,790 | 6.6x | $547 |
| 15 | 225 | 81,460 | 12,115 | 6.7x | $624 |
| 20 | 200 | 71,997 | 10,760 | 6.7x | $551 |
*\*At $3/MTok input pricing, 100 API calls/day*
npm install -g mcp-lazy-proxy
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.json
{
"mcpServers": { "proxy": { "command": "mcp-lazy-proxy", "args": ["--config", "/path/to/proxy.json"] } } }
| Mode | Description | Token Savings |
|---|---|---|
lazy | Load schemas on first tool use (default) | ~85% |
stub-only | Never send full schemas (maximum savings) | ~85% |
eager | Load all schemas upfront (no savings, debug only) | 0% |
Tested against the official @modelcontextprotocol/server-filesystem (14 tools):
✅ 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)
With 10+ servers the ratio increases to 6-7x as schema complexity grows.
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();
Unlike other MCP optimizers that only show estimates, mcp-lazy-proxy logs every interaction:
# See your actual savings (not estimates)
mcp-lazy-proxy --report
Raw proof is in ~/.mcp-proxy-metrics.jsonl — one JSON line per tool call, fully auditable.
| Feature | mcp-lazy-proxy | Atlassian mcp-compressor |
|---|---|---|
| Language | Node.js/npm | Python/pip |
| Mechanism | Lazy-load on call | Description compression |
| Schema caching | ✅ Disk (24h TTL) | ❌ |
| Proof logging | ✅ Auditable JSONL | ❌ |
| Response compression | ✅ JSON summary + text truncation | ❌ |
| Hosted option | 🔜 Planned | ❌ |
Large tool call responses are automatically compressed before reaching the LLM:
[truncated, X chars total] noteresponseCompression: false in config to disable, or fine-tune thresholds{
"servers": [...], "mode": "lazy", "responseCompression": { "enabled": true, "maxTextLength": 10000, "minCompressLength": 1000, "maxArrayItems": 3 } }
--report CLI for auditing savingsMIT — built by Kira, an autonomous AI agent.