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, чтобы загрузить облегчённую копию.

Сплющить сессию Claude Code

Параметры
  • agentenum

    Какое хранилище сессии агента использовать: «claude» (по умолчанию) или «codex».

  • breakdownboolean | enum

    Получает и запрашивает актуальную документацию и примеры кода из Context7 для любой программной библиотеки или фреймворка. Сначала необходимо вызвать инструмент 'Resolve Context7 Library ID', чтобы получить точный идентификатор библиотеки, совместимый с Context7 и необходимый для использования этого инструмента, ЗА ИСКЛЮЧЕНИЕМ случаев, когда пользователь явно указывает идентификатор библиотеки в формате '/org/project' или '/org/project/version' в своём запросе. Не вызывайте этот инструмент более 3 раз для одного вопроса.

  • claude_dirstring

    Абсолютный путь (или ~/...) к каталогу конфигурации Claude, для которого нужно получить сеансы, — каталог, содержащий проекты. По умолчанию: $CLAUDE_CONFIG_DIR, если задан, иначе ~/.claude. Применяется только к агенту «claude».

  • codex_homestring

    Абсолютный путь (или ~/...) к домашнему каталогу Codex, сессии которого нужно использовать — каталог, содержащий sessions/. По умолчанию: $CODEX_HOME, если задан, иначе ~/.codex. Применяется только к агенту "codex".

  • dry_runboolean

    Сообщает, что будет уплощено, не изменяя файлы.

  • include_tool_use_resultboolean

    Также уплощает зеркало toolUseResult верхнего уровня, которое Claude Code хранит для каждой строки результата (примерно удваивает экономию диска; без потерь и восстановимо). Установите false, чтобы затрагивать только message.content.

  • min_sizenumber

    Сворачивай результаты инструмента, только если они больше N байт.

  • project_dirstring

    Абсолютный путь к проекту. По умолчанию: проект, из которого запускается CLI (cwd). В Codex ограничивает область действия 'last'/'last N'/ключевого слова выкатками, у которых cwd совпадает с этой директорией.

  • session_idstring

    UUID сеанса, "last", "last N" или "current". Если опустить — выполняется уплощение текущего активного сеанса (claude); в codex "current" возвращается к "last".

  • sessionIdstring

    Псевдоним в camelCase для session_id (принято, чтобы вызов в camelCase не проходил проверку).

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

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

Получить уплощённое содержимое

Параметры
  • agentenum

    В хранилище сессий какого агента находится уплощённая (flattened) сессия: "claude" (по умолчанию) или "codex".

  • claude_dirstring

    Абсолютный путь (или ~/...) к каталогу конфигурации Claude, сеансы которого нужно использовать — каталог, содержащий projects/, например ~/.claude-2 для второго профиля. По умолчанию: $CLAUDE_CONFIG_DIR, если задан, иначе ~/.claude. Применяется только к агенту "claude".

  • codex_homestring

    Абсолютный путь (или ~/...) к домашнему каталогу Codex, сессии которого нужно использовать — каталог, содержащий sessions/. По умолчанию: $CODEX_HOME, если задан, иначе ~/.codex. Применяется только к агенту "codex".

  • project_dirstring

    Абсолютный путь к проекту. По умолчанию: проект, в котором работает CLI (cwd). Игнорируется в codex (выкатки ищутся по UUID глобально).

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

    Значение после "session=" в маркере [FLATTENED ... session=YYY ...]

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

    Значение после "id=" в маркере [FLATTENED id=XXX ...]

unflatten_session

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

Развернуть (восстановить) сессию

Параметры
  • agentenum

    Какое хранилище сессии агента использовать: «claude» (по умолчанию) или «codex».

  • claude_dirstring

    Абсолютный путь (или ~/...) к каталогу конфигурации Claude, сеансы которого нужно использовать — каталог, содержащий projects/, например ~/.claude-2 для второго профиля. По умолчанию: $CLAUDE_CONFIG_DIR, если задан, иначе ~/.claude. Применяется только к агенту "claude".

  • codex_homestring

    Абсолютный путь (или ~/...) к домашнему каталогу Codex, сессии которого нужно использовать — каталог, содержащий sessions/. По умолчанию: $CODEX_HOME, если задан, иначе ~/.codex. Применяется только к агенту "codex".

  • project_dirstring

    Абсолютный путь к проекту. По умолчанию — каталог, в котором работает CLI (cwd). В codex ограничивает область действия «последних»/ключевых слов до rollouts, у которых cwd совпадает с этим каталогом.

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

    UUID сессии, «last» или «current» (активная сессия; в codex «current» откатывается к «last»)

2.6.1основная
2.6.0
2.5.1
2.5.0
2.4.0
2.3.0
2.2.3
2.2.2
2.2.1
2.2.0
2.1.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
1.1.0
1.0.3
1.0.2
1.0.1
1.0.0

Выберите клиент, чтобы установить shayaShav/flatten-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "shayashav-flatten-mcp-2kw5h4dz51": {
      "command": "npx",
      "args": [
        "-y",
        "flatten-mcp@latest"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "shayashav-flatten-mcp-2kw5h4dz51": {
      "command": "npx",
      "args": [
        "-y",
        "flatten-mcp@latest"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "shayashav-flatten-mcp-2kw5h4dz51": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "flatten-mcp@latest"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"shayashav-flatten-mcp-2kw5h4dz51\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"flatten-mcp@latest\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "shayashav-flatten-mcp-2kw5h4dz51": {
      "command": "npx",
      "args": [
        "-y",
        "flatten-mcp@latest"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add shayashav-flatten-mcp-2kw5h4dz51 -- npx -y flatten-mcp@latest

Либо через JSON-конфиг:

claude mcp add-json shayashav-flatten-mcp-2kw5h4dz51 "{\"command\":\"npx\",\"args\":[\"-y\",\"flatten-mcp@latest\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add shayashav-flatten-mcp-2kw5h4dz51 -- npx -y flatten-mcp@latest

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.shayashav-flatten-mcp-2kw5h4dz51]
command = "npx"
args = ["-y", "flatten-mcp@latest"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите shayaShav/flatten-mcp, а в поле команды запуска — строку ниже:
npx -y flatten-mcp@latest

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "shayashav-flatten-mcp-2kw5h4dz51": {
      "command": "npx",
      "args": [
        "-y",
        "flatten-mcp@latest"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "shayashav-flatten-mcp-2kw5h4dz51": {
      "command": "npx",
      "args": [
        "-y",
        "flatten-mcp@latest"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например shayashav-flatten-mcp-2kw5h4dz51.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: shayashav-flatten-mcp-2kw5h4dz51
    command: npx
    args:
      - "-y"
      - "flatten-mcp@latest"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "shayashav-flatten-mcp-2kw5h4dz51": {
      "command": "npx",
      "args": [
        "-y",
        "flatten-mcp@latest"
      ]
    }
  }
}

Похожие MCP-сервера

ViperJuice/mcp-gateway

ViperJuice/mcp-gateway

от viperjuice

PMCP - сервер-шлюз, решающий раздувание контекста MCP. Вместо десятков схем он предоставляет 26 компактных мета-инструментов и динамически подгружает серверы по запросу. Полезен разработчикам, использующим Claude Code, для экономии токенов и гибкого управления.

Python⭐ 23
shellsage-ai/mcp-server-boilerplate

shellsage-ai/mcp-server-boilerplate

от shellsage-ai

Готовый шаблон для быстрой сборки MCP-сервера на TypeScript и Python с работающими примерами инструментов (echo, timestamp) и ресурсов. Подходит разработчикам, которые хотят сразу запустить сервер ...

TypeScript⭐ 2
adrianczuczka/mason

adrianczuczka/mason

от adrianczuczka

Mason — MCP-сервер для AI-ассистентов, который строит концептуальную карту кодовой базы. Вместо повторного чтения файлов ассистент загружает карту, экономя до 67% токенов на архитектурных вопросах....

TypeScript⭐ 10
ZeparHyfar/mcp-datetime

ZeparHyfar/mcp-datetime

от zeparhyfar

MCP сервер для получения текущей даты и времени в десятках форматов: от стандартных (ISO, дата/время) до японских, компактных и файловых (.md, .log). Интегрируется с Claude Desktop App — идеально для автоматизации задач с точными метками времени.

Python⭐ 31
x51xxx/copilot-mcp-server

x51xxx/copilot-mcp-server

от x51xxx

MCP сервер для подключения GitHub Copilot CLI к вашему редактору или ИИ-ассистенту. Позволяет выполнять неинтерактивные команды, анализировать код с @ссылками на файлы, проводить ревью, рефакторинг и пакетную обработку задач. Полезен разработчикам для автоматизации CI и ускорения работы с кодом.

TypeScript⭐ 5
MarkItDown MCP

MarkItDown MCP

официальный

от microsoft

Конвертирует PDF, Word, Excel и изображения в Markdown, сохраняя заголовки, таблицы и ссылки. Официальная утилита Microsoft, понимает YouTube и EPUB.

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

Лука Никитин