mcp-compressor

Прокси сжимает описания инструментов большого MCP-сервера, и модель тратит контекст только на нужные вызовы.

  • 142 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Пропускает через себя все вызовы подключенных MCP-серверов, включая токены OAuth и ответы с данными.
Все причины и проверки

atlassian-labs/mcp-compressor

Установка

Ручная установка

pip install mcp-compressor

Ставит CLI и Python SDK. Запуск прокси: `mcp-compressor -c medium -- python server.py`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Пропускает через себя все вызовы подключенных MCP-серверов, включая токены OAuth и ответы с данными.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

mcp-compressor встает между MCP-клиентом и серверами с десятками инструментов. Вместо полного списка схем клиент видит два инструмента-обертки: `get_tool_schema` и `invoke_tool`. На уровне сжатия `max` добавляется `list_tools`. Модель выбирает нужный инструмент по короткому имени, запрашивает его полную схему и затем вызывает его. Степень сжатия задают уровни `low`, `medium`, `high` и `max`: от полных описаний до одних имен. Запуск прокси выглядит как `mcp-compressor -c medium -- python server.py`. Есть и режим для кода: прокси генерирует команды оболочки и функции Python или TypeScript, а флаг `--shrinkfit` ограничивает размер ответов.

Для кого. Тем, кто подключает к агенту крупные MCP-серверы вроде Atlassian и видит, как описания инструментов съедают контекст еще до первой задачи.

Подходит, если

  • Один сервер отдает сотню инструментов, и их схемы занимают тысячи токенов в каждом запросе.
  • К агенту подключено несколько MCP-серверов, и контекст уже переполнен.
  • Ответы инструментов слишком длинные, и их нужно обрезать с возможностью вернуть оригинал.
  • Приложение на Python, TypeScript или Rust должно встроить сжатие через `CompressorClient`.

Не подходит, если

  • У сервера пять инструментов: выигрыш от сжатия не покроет лишний шаг запроса схемы.
  • Сервер принимает только современную версию протокола без `initialize`.
  • Модели важно видеть все описания инструментов сразу, чтобы выбирать между близкими.

Пример запроса к агенту

Подключи Atlassian MCP через mcp-compressor на уровне `medium` и покажи, сколько токенов занимает список инструментов.

MCP

Транспорт
stdio, http
Авторизация
не нужна

Ограничения

Каждый вызов становится двухшаговым: сначала схема, потом вызов, так что на очень простых задачах сжатие не окупается. Серверы за прокси должны поддерживать устаревший `initialize`: серверы только с современной версией протокола не подходят. Каталоги инструментов статичны на время соединения, подписки на изменения не поддерживаются. Для серверов с OAuth прокси открывает браузер для входа. Генерируемые клиенты ходят на локальный прокси по токену сессии.

Как отключить. Верните в конфигурацию MCP исходную команду бэкенд-сервера вместо `mcp-compressor`. Пакет удаляют командой `pip uninstall mcp-compressor`.

Частые вопросы

Как поставить mcp-compressor?

Выполните `pip install mcp-compressor`. Бинарный файл на Rust ставится командой `cargo install mcp-compressor`, пакет для TypeScript — `npm install @atlassian/mcp-compressor`.

Какой уровень сжатия выбрать?

Начните с `medium`: он оставляет имя и первое предложение описания. `high` убирает описания, `max` оставляет одни имена и добавляет `list_tools`.

Теряет ли модель схемы инструментов?

Нет. При вызове `get_tool_schema` модель получает полное описание и схему выбранного инструмента независимо от уровня сжатия.

Что делает флаг --shrinkfit?

Он обрезает ответы инструментов до 20 000 символов или до заданного числа, `--shrinkfit=10000`. Полный ответ можно запросить обратно с `full=true`.

Можно ли встроить сжатие в приложение?

Да. Для Python, TypeScript и Rust есть SDK с `CompressorClient`: он запускает локальный прокси и вызывает инструменты из кода.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

CLI для любого MCP-сервера: список и вызов инструментов, ресурсов и промптов, mock и proxy режимы, guard-фильтр и управление конфигами агентов

CLIРасширенный доступ1,6 тыс.Звезды репозитория

Мост для MCP: один инструмент run_python запускает код в контейнере и вызывает ваши MCP-серверы

MCP-серверШирокий доступ343Звезды репозитория

Прокси от Open WebUI, который публикует любой MCP-сервер как HTTP API со схемой OpenAPI

CLIШирокий доступ4,4 тыс.Звезды репозитория

Универсальный CLI-клиент MCP от Apify: постоянные сессии, OAuth, JSON-вывод для скриптов и доступ агента к любому MCP-серверу через оболочку

CLIШирокий доступ1,1 тыс.Звезды репозитория

CLI на Python без зависимостей: один каталог MCP-серверов и скиллов для всех агентов, в контекст попадает краткий индекс

CLIШирокий доступ429Звезды репозитория

toolism измеряет, сколько токенов уходит на описания инструментов и MCP, и сокращает их без поломки допустимых вызовов.

CLIМинимальный доступ54Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
mcp-compressor (эта карточка)нетне нужна142
mcp-proxyнетне нужна2 823переключает транспорты MCP; mcp-compressor оставляет транспорт и сокращает список инструментов
Token Optimizer MCPнетне нужна578сжимает и кеширует контекст через хуки Claude; mcp-compressor работает только с описаниями инструментов MCP

Коротко о README

Проект выпускает Atlassian Labs, в документации есть пример с Atlassian MCP и входом через OAuth. Кроме прокси, он поставляется как SDK для Python, TypeScript и Rust с одинаковым `CompressorClient`.

Бейдж для README

Сообщить о проблеме