Claude Info
AI и агенты

Context Mode

mksglu/context-mode

MCP-сервер для оптимизации контекстного окна: изолирует вывод инструментов, сокращая объём данных на 98%. Поддерживает непрерывность сессий через SQLite и FTS5. Совместим с 12 платформами, включая Claude Code, Cursor, Windsurf.

Установка

terminal
bash
claude mcp add context-mode -- npx -y context-mode

README

Context Mode

Вторая половина проблемы контекста.

users npm marketplace GitHub stars GitHub forks Last commit License: ELv2 Discord Hacker News #1

Проблема

Каждый вызов MCP-инструмента сбрасывает сырые данные в контекстное окно. Снимок Playwright занимает 56 КБ. Двадцать задач GitHub — 59 КБ. Один лог доступа — 45 КБ. Через 30 минут 40% контекста израсходовано. Когда агент сжимает диалог для освобождения места, он забывает, какие файлы редактировал, какие задачи в работе и что вы последний раз просили.

Context Mode — MCP-сервер, решающий все три стороны этой проблемы:

  1. Экономия контекста — Sandbox-инструменты не пропускают сырые данные в контекстное окно. 315 КБ превращаются в 5,4 КБ. Сокращение на 98%.
  2. Непрерывность сессии — Каждое редактирование файла, git-операция, задача, ошибка и решение пользователя фиксируются в SQLite. При сжатии диалога context-mode не сбрасывает эти данные обратно в контекст — он индексирует события в FTS5 и извлекает только релевантное через поиск BM25. Модель продолжает работу ровно с того места, где остановилась. Если не передать --continue, данные предыдущей сессии удаляются немедленно — новая сессия означает чистый старт.
  3. Думать кодом — LLM должен программировать анализ, а не вычислять его. Вместо того чтобы читать 50 файлов в контекст для подсчёта функций, агент пишет скрипт, который делает подсчёт и выводит только результат через console.log(). Один скрипт заменяет десять вызовов инструментов и экономит контекст в 100 раз. Это обязательная парадигма для всех 12 платформ: перестаньте использовать LLM как процессор данных — используйте его как генератор кода.

Установка

Платформы сгруппированы по сложности установки. Платформы с поддержкой хуков получают автоматическое применение маршрутизации. Платформам без хуков требуется однократное копирование файла маршрутизации.

Требования: Claude Code v1.0.33+ (claude --version). Если команда /plugin недоступна — обновите Claude Code.

claude plugin install context-mode

Готово. Хуки настраиваются автоматически.

Шаг 1. Добавьте MCP-сервер в настройки вашей платформы:

json
{
  "mcpServers": {
    "context-mode": {
      "command": "npx",
      "args": ["-y", "context-mode"]
    }
  }
}

Шаг 2. Скопируйте файл маршрутизации в корень проекта:

npx context-mode init

Эта команда создаёт файл правил для вашей платформы (.cursorrules, .windsurfrules, AGENTS.md и т.д.), который направляет агента использовать инструменты context-mode.

Как это работает

Экономия контекста

Каждый инструмент-«песочница» принимает вызов инструмента, выполняет его в изолированной среде и возвращает только сводку вместо сырых данных.

ИнструментДоПослеСокращение
browser_snapshot56 КБ1,1 КБ98%
github_list_issues59 КБ1,2 КБ98%
read_file (большой файл)45 КБ0,9 КБ98%

Непрерывность сессии

При каждом действии агента context-mode записывает событие в SQLite:

  • Редактирования файлов (путь, тип изменения, временная метка)
  • Git-операции (коммиты, ветки, статус)
  • Задачи (создание, обновление, завершение)
  • Ошибки (сообщение, трассировка стека, контекст)
  • Решения пользователя (явные инструкции и предпочтения)

При сжатии диалога агент вызывает session_context, который выполняет BM25-поиск по всем событиям и возвращает только релевантные — обычно менее 2 КБ вместо полного дампа истории.

Думать кодом

Вместо чтения файлов в контекст агент пишет скрипты:

js
// Вместо: read_file × 50 файлов → 200 КБ контекста
// Агент пишет:
const files = glob.sync('src/**/*.ts');
const counts = files.map(f => ({
  file: f,
  functions: (fs.readFileSync(f, 'utf8').match(/function /g) || []).length
}));
console.log(JSON.stringify(counts.filter(f => f.functions > 10)));

Скрипт выполняется, в контекст возвращается только результат console.log(). Экономия контекста — 100×.

Инструменты

Инструменты сессии

  • session_start — инициализирует новую сессию или продолжает существующую через --continue
  • session_context — извлекает релевантный контекст через BM25-поиск
  • session_event — записывает событие в историю сессии

Sandbox-инструменты

  • sandbox_browser — выполняет действия браузера, возвращает сводку
  • sandbox_github — выполняет GitHub API-вызовы, возвращает сводку
  • sandbox_file — читает файлы, возвращает сводку
  • sandbox_shell — выполняет команды оболочки, возвращает сводку
  • sandbox_script — выполняет скрипты анализа, возвращает только вывод

Инструменты задач

  • task_create — создаёт отслеживаемую задачу
  • task_update — обновляет статус задачи
  • task_list — выводит активные задачи

Конфигурация

Переменные окружения:

  • CONTEXT_MODE_DB — путь к файлу базы данных SQLite (по умолчанию: ~/.context-mode/sessions.db)
  • CONTEXT_MODE_MAX_EVENTS — максимальное количество событий на сессию (по умолчанию: 10000)
  • CONTEXT_MODE_SEARCH_LIMIT — максимальное количество результатов поиска (по умолчанию: 20)

Лицензия

ELv2

Похожие скиллы