shayaShav/flatten-mcp

shayaShav/flatten-mcp

от shayashav
flatten-mcp для Claude Code уменьшает токенную стоимость сессии, вынося громоздкие результаты инструментов в sidecar-файл и заменяя их компактными ссылками. Полезен разработчикам, которые хотят сох...

flatten-mcp logo

flatten-mcp

Cut the tokens every Claude Code session carries — real money on the API, more headroom before the limit on a subscription — without compacting your history into a lossy summary or losing a single line.

npm version npm downloads License: MIT Model Context Protocol Built for Claude Code Smithery calls

340,071 → 132,800 tokens — a 61% lighter session, every line of history intact.

Demo: a 340,071-token Claude Code session is flattened, /resume'd, and comes back 61% lighter at 132,800 tokens — history verbatim

Most of a long session's tokens are bulk the model already distilled into prose — the 2 MB log it boiled down to one line, the screenshot it described, the five files it summarized. That raw source has done its job. flatten-mcp sets it aside in a local backup and leaves a small [FLATTENED …] marker, so every resumed turn carries far fewer tokens. Your prompts and the exact timeline stay verbatim — nothing is rewritten, nothing is summarized away, and any block is one call (or one unflatten) from coming back.

Who it's for: heavy Claude Code users — large file reads, long command logs, or screenshot-heavy (Playwright) sessions — who want to pay for fewer tokens without losing their history.


Quick start

flatten_session

Сжимает сессию Claude Code: переносит громоздкие результаты работы инструментов (большие текстовые выводы и блоки base64-изображений/скриншотов) из JSONL-файла сессии в резервную копию, оставляя компактный маркер [FLATTENED ...]. Разговор выглядит идентично: все запросы и события остаются дословно, но при возобновлении использует гораздо меньше контекстных токенов. Устойчив к сбоям (атомарная перезапись + единственная резервная копия, содержащая полную сессию) и обратим через unflatten_session. Сообщает diskBytesSaved и contextTokensSaved из contextTokensTotal (оценка на локальной стороне, или точное значение, когда установлены FLATTEN_COUNT_EXACT=1 и ANTHROPIC_API_KEY). Без session_id сжимает текущую активную сессию; также принимает UUID, "last", "last N" или "current". После сжатия выполните /resume, чтобы загрузить облегчённую копию.

Flatten Claude Code session

Сжимает сессию Claude Code: переносит громоздкие результаты работы инструментов (большие текстовые выводы и блоки base64-изображений/скриншотов) из JSONL-файла сессии в резервную копию, оставляя компактный маркер [FLATTENED ...]. Разговор выглядит идентично: все запросы и события остаются дословно, но при возобновлении использует гораздо меньше контекстных токенов. Устойчив к сбоям (атомарная перезапись + единственная резервная копия, содержащая полную сессию) и обратим через unflatten_session. Сообщает diskBytesSaved и contextTokensSaved из contextTokensTotal (оценка на локальной стороне, или точное значение, когда установлены FLATTEN_COUNT_EXACT=1 и ANTHROPIC_API_KEY). Без session_id сжимает текущую активную сессию; также принимает UUID, "last", "last N" или "current". После сжатия выполните /resume, чтобы загрузить облегчённую копию.

Параметры

  • session_idstring

    Session UUID, "last", "last N", or "current". Omit to flatten the current live session.

  • sessionIdstring

    camelCase alias for session_id (accepted so a camelCase call does not fail validation).

  • project_dirstring

    Absolute path to project. Default: the project the CLI runs in (cwd)

  • claude_dirstring

    Absolute path (or ~/...) to the Claude config dir whose sessions to target — the dir holding projects/. Default: $CLAUDE_CONFIG_DIR if set, else ~/.claude.

  • min_sizenumber

    Only flatten tool results larger than N bytes

  • dry_runboolean

    Report what would be flattened without modifying files

  • include_tool_use_resultboolean

    Also flatten the top-level toolUseResult mirror Claude Code keeps per result line (roughly doubles disk savings; lossless & restorable). Set false to only touch message.content.

retrieve_flattenedтолько чтениеидемпотентный

Извлекает исходный результат работы инструмента из сплющенной сессии, читая напрямую из её резервной копии. Когда в разговоре встречается [FLATTENED id=XXX tool=Read ... | text NNNB/NNL | session=YYY | ...], вызывайте этот инструмент, передавая значение после "id=" как tool_use_id, а значение после "session=" как session_id. Возвращает исходный текстовый вывод, а для сплющенных скриншотов — само изображение, чтобы вы могли просмотреть его снова.

Retrieve flattened content

Извлекает исходный результат работы инструмента из сплющенной сессии, читая напрямую из её резервной копии. Когда в разговоре встречается [FLATTENED id=XXX tool=Read ... | text NNNB/NNL | session=YYY | ...], вызывайте этот инструмент, передавая значение после "id=" как tool_use_id, а значение после "session=" как session_id. Возвращает исходный текстовый вывод, а для сплющенных скриншотов — само изображение, чтобы вы могли просмотреть его снова.

Параметры

  • tool_use_idstringобязательный

    Value after "id=" in the [FLATTENED id=XXX ...] marker

  • session_idstringобязательный

    Value after "session=" in the [FLATTENED ... session=YYY ...] marker

  • project_dirstring

    Absolute path to project. Default: the project the CLI runs in (cwd)

  • claude_dirstring

    Absolute path (or ~/...) to the Claude config dir whose sessions to target — the dir holding projects/, e.g. ~/.claude-2 for a second profile. Default: $CLAUDE_CONFIG_DIR if set (so a server running inside an alternate profile targets it), else ~/.claude.

unflatten_session

Отменить сведение: повторно встроить каждый сведенный результат инструмента (текст и изображения) обратно в JSONL сессии из резервной копии, восстановив сессию в ее состояние до сведения, затем удалить резервную копию, чтобы ничего не осталось.

Unflatten (restore) session

Отменить сведение: повторно встроить каждый сведенный результат инструмента (текст и изображения) обратно в JSONL сессии из резервной копии, восстановив сессию в ее состояние до сведения, затем удалить резервную копию, чтобы ничего не осталось.

Параметры

  • session_idstringобязательный

    Session UUID, "last", or "current" (the live session)

  • project_dirstring

    Absolute path to project. Default: the project the CLI runs in (cwd)

  • claude_dirstring

    Absolute path (or ~/...) to the Claude config dir whose sessions to target — the dir holding projects/, e.g. ~/.claude-2 for a second profile. Default: $CLAUDE_CONFIG_DIR if set (so a server running inside an alternate profile targets it), else ~/.claude.

Другие проверенные MCP-сервера

ClickHouse/mcp-clickhouse

ClickHouse/mcp-clickhouse

официальный

MCP сервер для работы с ClickHouse: выполняет SQL-запросы, перечисляет базы и таблицы с пагинацией. Поддерживает chDB для быстрых встраиваемых запросов без ETL. Полезен разработчикам и аналитикам для интеграции ClickHouse в AI-инструменты через MCP.

Python826
debridge-finance/debridge-mcp

debridge-finance/debridge-mcp

официальный

MCP сервер deBridge для ИИ-агентов: выполняет кросс-чейн и внутрисетевые свопы, оценивает комиссии и торгует на основных блокчейнах. Упрощает взаимодействие агентов с DeFi, ускоряя развертывание торговых сценариев.

TypeScript32
public-ui/kolibri

public-ui/kolibri

официальный

KoliBri - библиотека атомарных веб-компонентов для доступного HTML. Расширяет стандарт, не привязана к дизайну, подходит для любых проектов. Упрощает создание семантичных, валидных и доступных инте...

TypeScript273
mcpjungle/mcpjungle

mcpjungle/mcpjungle

MCPJungle - шлюз для управления несколькими MCP-серверами через единый endpoint. Упрощает настройку клиентов, централизует доступ и мониторинг. Работает локально или как командная инфраструктура для Claude, Cursor.

Go1161
Google Ads MCP

Google Ads MCP

официальный

MCP сервер для Google Ads API: предоставляет инструменты поиска по аккаунту, метаданных кампаний и список клиентов, а также ресурсы с метриками и сегментами. Помогает LLM и AI агентам управлять рекламными данными напрямую.

Python752
serpapi/serpapi-mcp

serpapi/serpapi-mcp

официальный

MCP-сервер для поиска через SerpApi: объединяет Google, Bing, YouTube, eBay и другие движки. Поддерживает погоду, котировки и гибкие режимы ответов - удобно для ИИ-агентов, которым нужны структурир...

Python156
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин