mcp-lazy-proxy
mcp-lazy-proxy
Сократите накладные расходы на токены схем MCP в 6–7 раз — с помощью ленивой загрузки и кэширования схем.
Проверено, а не заявлено. Каждая сессия записывает журнал доказательств в
~/.mcp-proxy-metrics.jsonl. Выполнитеmcp-lazy-proxy --report, чтобы увидеть реальную экономию, а не маркетинговые оценки.
⚠️ Уведомление о безопасности: Единственный официальный пакет —
mcp-lazy-proxyотkiraautonomaна npm. Сторонние форки или переупаковки под другими именами не поддерживаются и могут содержать вредоносный код. MCP-серверы имеют широкий доступ к системе — всегда устанавливайте из канонического источника.
Проблема
Если вы используете несколько MCP-серверов, ваши определения инструментов потребляют тысячи токенов контекстного окна при каждом вызове API — ещё до того, как вы задали вопрос.
При 10 серверах × 10 инструментов × ~344 токена/схема = 34 000 токенов накладных расходов за вызов. При $3/MTокен (Claude Sonnet): $0,10 потерь за вызов, или $261/месяц при 100 вызовах в день.
Related MCP server: MCP Nexus
Решение
Этот прокси располагается между вашим MCP-клиентом и вышестоящими MCP-серверами. Вместо отправки полных схем инструментов заранее, он:
Возвращает сжатые заглушки — только имена инструментов и однострочные описания (~54 токена каждое)
Лениво загружает полные схемы — только когда инструмент действительно вызывается
Кэширует схемы на диск — последующие вызовы обращаются к кэшу, а не к вышестоящему серверу
Дедуплицирует — идентичные схемы на разных серверах хранятся один раз
Сравнительный анализ (реальные данные)
Серверы | Инструменты | Токены без оптимизации | Токены с оптимизацией | Сокращение | Экономия в месяц* |
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/MTокен на входе, 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.jsonИспользование с Claude 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 — одна JSON-строка на каждый вызов инструмента, полностью проверяемо.
Сравнение
Возможность | mcp-lazy-proxy | Atlassian mcp-compressor |
Язык | Node.js/npm | Python/pip |
Механизм | Ленивая загрузка при вызове | Сжатие описаний |
Кэширование схем | ✅ Диск (TTL 24 ч) | ❌ |
Журнал доказательств | ✅ Проверяемый JSONL | ❌ |
Сжатие ответов | ✅ Сводка JSON + усечение текста | ❌ |
Облачный вариант | 🔜 Планируется | ❌ |
Сжатие ответов (v0.2)
Крупные ответы на вызовы инструментов автоматически сжимаются перед отправкой в LLM:
JSON-ответы: Сводка — массивы усекаются до первых 3 элементов с указанием количества, длинные строки сокращаются, полная структура сохраняется
Обычный текст: Усекается до 10 000 символов с пометкой
[усечено, всего X символов]Ответы с ошибками: Никогда не сжимаются (LLM нужен полный контекст ошибки)
Настраиваемость: Установите
responseCompression: falseв конфигурации, чтобы отключить, или настройте пороговые значения
{
"servers": [...],
"mode": "lazy",
"responseCompression": {
"enabled": true,
"maxTextLength": 10000,
"minCompressLength": 1000,
"maxArrayItems": 3
}
}Статус
Базовая ленивая загрузка прокси (v0.1)
Постоянный кэш схем (TTL 24 ч)
Проверяемое доказательство экономии для каждой сессии
CLI-команда
--reportдля аудита экономииE2E-тестирование с реальными MCP-серверами
Сжатие ответов (v0.2)
Поддержка транспорта HTTP/SSE
Обнаружение изменений схем (webhook)
Облачный вариант SaaS
Лицензия
MIT — создано Kira, автономным ИИ-агентом.
This server cannot be deployed
Maintenance
Related MCP Connectors
Paid remote MCP for context budgets, progressive loading, schema slimming, and readiness.
Paid remote MCP for context-budget routing, schema cost estimates, usage audits, and readiness.
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.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnterprise-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.7 npmISC
- AlicenseAqualityCmaintenanceMCP 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