Token Savior MCP
Token Savior индексирует код по символам, хранит память между сессиями и переписывает шумные команды Bash, чтобы агент тратил меньше токенов
- 1 184 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Инструменты структурной правки меняют файлы проекта, а `ts_execute` запускает код в песочнице на Node.js
- Переписчик PreToolUse меняет команды Bash до запуска, а `ts init` правит `settings.json` агента
- Память хранит решения и вывод ваших сессий в локальной базе, необязательные модули отправляют данные в Anthropic API и Telegram
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/token-saviorОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Инструменты структурной правки меняют файлы проекта, а `ts_execute` запускает код в песочнице на Node.js
- Переписчик PreToolUse меняет команды Bash до запуска, а `ts init` правит `settings.json` агента
- Память хранит решения и вывод ваших сессий в локальной базе, необязательные модули отправляют данные в Anthropic API и Telegram
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Token Savior — MCP-сервер на Python из пакета `token-savior-recall`. Он индексирует проект по символам: функциям, классам, импортам и графу вызовов, и агент идет к нужному месту по ссылке на символ, а не читает файл целиком. Инструменты `find_symbol`, `get_function_source`, `search_codebase` и `get_change_impact` отдают исходник одной функции, места ее использования и круг затронутого правкой кода. Есть структурная правка, которая держит индекс в согласии с файлами, и проверки `detect_breaking_changes`, `find_dead_code` и `analyze_config`. Второй слой — память. Решения, исправления ошибок, соглашения и итоги сессий записываются в SQLite (режим WAL, полнотекстовый поиск FTS5 и векторные вложения), ранжируются по оценке достоверности и полезности и возвращаются компактной выжимкой в начале следующей сессии. Команда `ts init --agent claude` вшивает хуки PostToolUse и PreToolUse в настройки агента: она показывает разницу, делает резервную копию `settings.json` а при повторном запуске ничего не дублирует. Так же она работает с Cursor, Gemini CLI, Codex и OpenClaw. Третий слой — Bash. Переписчик PreToolUse (10 правил) меняет команду до запуска, чтобы вывод получился короче. Тридцать четыре компактора PostToolUse дописывают сжатый вариант вывода и кладут полный в песочницу захвата, откуда он переживает сжатие контекста. Оба механизма выключены, пока не заданы `TS_BASH_REWRITE=1` и `TS_BASH_COMPACT=1`. Набор инструментов выбирает переменная `TOKEN_SAVIOR_PROFILE`: профиль `optimized` показывает агенту 15 инструментов, `full` показывает 68.
Для кого. Для разработчиков, которые ведут большие кодовые базы в Claude Code, Codex, Cursor или Gemini CLI и хотят, чтобы агент читал меньше лишнего и помнил решения прошлых сессий.
Подходит, если
- Агент читает файл целиком ради трех строк, и контекст заполняется уже на первых задачах
- Каждую сессию приходится заново объяснять договоренности и принятые в проекте решения
- Вывод `git`, `pytest` или `kubectl` раздувает ход, и нужны переписанные команды с короткой выдачей
- Перед правкой надо увидеть, что сломается: ответ дают `get_change_impact` и `detect_breaking_changes`
- Хочется понять, где агент мог сэкономить: `ts_discover` разбирает расшифровки сессий Claude Code и находит цепочки из Read, Grep и снова Read
Не подходит, если
- Нужна память в виде читаемых заметок: Token Savior хранит ее в базе SQLite, а обычные Markdown-файлы ведет Basic Memory
- Навигацию по символам вы уже получаете от serena: автор советует запускать Token Savior с профилем `compact-only`
- Нужен только слой Bash без навигации и памяти: берите профиль `compact-only`, он показывает один инструмент
- На машине нет Python 3.11 или новее: пакет требует эту версию
Пример запроса к агенту
Подключи Token Savior к этому проекту и покажи, какие места кода заденет изменение класса PaymentServiceMCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
WORKSPACE_ROOTS- Корни проектов для индексации через запятую, по умолчанию текущая папка
TOKEN_SAVIOR_PROFILE- Профиль набора инструментов, рекомендуется optimized, по умолчанию full
TS_API_KEYсекрет- Ключ Anthropic API для автоматического извлечения записей памяти вместе с TS_AUTO_EXTRACT=1
Ограничения
- Заявленные автором 97,9% (188 из 192 задач) и минус 80% токенов получены на закрытом стенде, репозитория стенда нет, и сам автор называет цифры непроверяемыми. Замер от 9 августа он отозвал: инструменты сервера в нем почти не вызывались. Повторный замер от 7 октября 2026 (8 задач, Claude Haiku 4.5) дал минус 45% стоимости и минус 59% новых токенов, но время выросло на 40%, а на правках файлов выигрыша не нашлось.
- В Claude Code версии 2.1.28x и новее без `"alwaysLoad": true` инструменты прячутся за `ToolSearch`, и агент продолжает читать файлы сам.
- Компакторы PostToolUse срабатывают уже после ответа инструмента: вывод сохраняется на будущее, а текущий ход остается прежним.
- В Codex переменные оболочки до сервера не доходят: `WORKSPACE_ROOTS` задают в `config.toml` в разделе `[mcp_servers.token-savior]`.
- Версия 4.24.0, лицензия MIT.
Как отключить. Уберите сервер из настроек MCP, для Claude Code это `claude mcp remove token-savior`, и выполните `pip uninstall token-savior-recall`. Хуки, добавленные `ts init`, удалите из `settings.json` агента: рядом лежит резервная копия с суффиксом `.bak-ГГГГММДД-ЧЧММСС`. Память отключает `TS_MEMORY_DISABLE=1`. Данные и статистика лежат в `~/.local/share/token-savior`.
Частые вопросы
Чем профиль `optimized` отличается от `full`?
`optimized` показывает агенту 15 инструментов с урезанными схемами, а манифест занимает около 1,5 тысячи токенов. `full` показывает 68 инструментов и около 6 тысяч токенов. Профиль `optimized` автор советует как основной, его же ставит `ts init`.
Зачем в настройке стоит `alwaysLoad: true`?
В Claude Code версии 2.1.28x и новее инструменты сервера без этого флага лежат за поиском `ToolSearch`, и модель берется за уже загруженные `Read` и `Grep`. В замере автора до появления флага сервер вызвала одна сессия из 143. С флагом манифест стоит несколько тысяч кэшированных токенов за сессию.
Как включить переписчик команд?
Он выключен по умолчанию и включается переменной `TS_BASH_REWRITE=1`. Журнал каждой замены в JSONL пишется в файл из `TS_BASH_REWRITE_LOG`. Хуки в настройки агента добавляет `ts init --agent claude --yes`.
Можно ли пользоваться без MCP, например в Cursor или Aider?
Да, для агентов без MCP есть CLI `ts`: `ts use /path/to/project`, `ts get my_function`, `ts search 'pattern'`. Команда `ts daemon start` держит процесс запущенным, вызов занимает около 145 мс вместо 1,5 с при холодном старте. В Claude Code автор советует MCP: он дешевле CLI.
Где хранятся данные и есть ли панель?
Статистика лежит в `~/.local/share/token-savior`, каталог меняет `TOKEN_SAVIOR_STATS_DIR`. Панель слушает адрес 127.0.0.1 на порту 8921, а веб-просмотр наблюдений памяти включается портом в `TS_VIEWER_PORT`. Захваченный вывод команд автоматически удаляется через 30 дней, срок задает `TS_CAPTURE_TTL_DAYS`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыToken Optimizer MCP
token-optimizer-mcp
Сжатие и кэш контекста, учет экономии токенов по агентам. Глобальная установка npm включает хуки Claude и оборачивает команды; телеметрия по умолчанию выключена
Локальный прокси с панелью в терминале: показывает, сколько токенов уходит с каждым запросом Claude Code и Codex, и сохраняет промпты в файлы
MCP-сервер долговременной памяти для кодовых агентов: поиск по прошлым сессиям на локальной модели BGE-m3 и проверка отхода от прежних правил
Память для кодинговых агентов на обычных Markdown-файлах: агент сам ведет спецификации, решения и уроки, а новая сессия начинает с них, без векторной базы
Скилл, который сокращает текстовые ответы агента, и локальный прокси, сжимающий то, что агент читает
Общая локальная память для Codex, Claude Code, Cursor, Hermes Agent и OpenClaw: агенты передают задачи, проверяют друг друга и ночью дорабатывают скиллы
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Token Savior (эта запись) | нет | не нужна | 1 184 | |
| codebase-memory-mcp | нет | не нужна | 47 078 | строит граф кода из функций, классов, вызовов и маршрутов и отвечает на структурные запросы локально |
| Basic Memory | нет | не нужна | 4 298 | память агента в локальных Markdown-файлах с графом связей и семантическим поиском |
Из блога
Коротко о README
Главная страница репозитория открывается таблицей замеров и историей отозванного замера, затем идут быстрый старт, включение слоя Bash, каталог из 34 компакторов, описание `ts_discover`, сравнение профилей и таблица совместимости с соседними инструментами. В конце собраны установка, описание стенда, CLI `ts` и полный список переменных окружения. В репозитории лежат журнал изменений, тесты (автор сообщает о 1898 пройденных), скрипты замеров, хуки для Claude Code, Codex, Gemini и OpenClaw и руководство по переходу с третьей версии.