session-knowledge MCP
Локальный поиск по всей истории сессий Claude Code: решения, команды, значения переменных и уже написанный код через 13 MCP-инструментов
- 306 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Индекс хранит в открытом виде ключи и пароли из ваших сессий, а get_credential отдает их агенту
- Хук SessionStart запускает скрипт обновления индекса при каждом старте Claude Code
- Сервер читает все транскрипты Claude Code и исходники из выбранных каталогов
Установка
- Работает в
Ручная установка
git clone https://github.com/nameforjt-afk/session-knowledge.git && cd session-knowledge && bash install.shСкрипт регистрирует MCP-сервер и хук SessionStart. После установки перезапустите Claude Code. Нужен Python 3.10 или новее.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Индекс хранит в открытом виде ключи и пароли из ваших сессий, а get_credential отдает их агенту
- Хук SessionStart запускает скрипт обновления индекса при каждом старте Claude Code
- Сервер читает все транскрипты Claude Code и исходники из выбранных каталогов
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Память Claude Code привязана к каталогу проекта, а история сессий лежит на диске в файлах ~/.claude/projects/**/*.jsonl и из другого каталога недоступна. session-knowledge индексирует все эти файлы в локальные базы SQLite с полнотекстовым поиском и отдает агенту 13 MCP-инструментов. Вы спрашиваете как обычно, например, как была устроена повторная отправка в скрипте деплоя, и Claude сам берется за нужный инструмент. Сценариев четыре. Код индексируется с тегами возможностей, поэтому можно найти по внешнему сервису, кто уже написал платежную авторизацию. Поиск по вашим прошлым указаниям восстанавливает решения и показывает, как менялся стандарт по месяцам. Прошлые вызовы Bash и MCP находятся с аргументами и результатами, есть фильтр только по неудачным. Реестр переменных окружения на вопрос о значении DATABASE_URL для staging вернет всех кандидатов с местом вызова. Индекс обновляется сам: хук SessionStart запускает инкрементальное обновление при каждом старте Claude Code, обычно за одну–две секунды. Проект целиком на стандартной библиотеке Python, без зависимостей и внешних API.
Для кого. Разработчикам, которые много работают в Claude Code в разных проектах и устали заново объяснять уже принятые решения и переписывать готовые интеграции.
Подходит, если
- Нужно вспомнить, почему выбрали ту или иную схему аутентификации, и найти ваши указания по теме за несколько месяцев
- Перед новой интеграцией со Stripe хочется узнать, не писали ли вы уже платежную авторизацию в другом проекте
- Надо найти команду, которая однажды сработала, или собрать ловушки по неудачным вызовам docker и API
- Требуется вспомнить значение переменной среды из прошлой сессии и увидеть все варианты по приложениям и средам
- Нужен отчет о дублирующихся реализациях в ваших проектах и о том, какие из них форки друг друга
Не подходит, если
- Вы работаете в Cursor или Copilot: индексируются только транскрипты Claude Code
- На машине нельзя хранить копии секретов из сессий: сервер намеренно складывает их в локальное хранилище
- Нужен поиск по коду на языках кроме Python, JavaScript и TypeScript: индекс кода читает только эти файлы
Пример запроса к агенту
Найди в прошлых сессиях, какое значение DATABASE_URL я использовал для staging, и покажи, где оно вызывалосьMCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
SESSION_KNOWLEDGE_PROJECT_DIRS- Каталоги проектов для индекса кода, через двоеточие
Ограничения
Индекс лежит в ~/.claude/session-index/ и содержит в открытом виде учетные данные, которые вы вставляли в сессии: без этого вопрос о том, какой ключ использовался, не работает. Не коммитьте этот каталог, не синхронизируйте его в облако и не отправляйте никому. Очистка полнотекстового индекса опирается на шаблоны, поэтому нестандартные форматы секретов могут просочиться. Проверяйте результат командой verify-redaction.
Нужны Python 3.10 или новее с FTS5 в sqlite3 (системный Python на macOS иногда его не содержит). Первый полный индекс нескольких сотен сессий занимает 1–3 минуты. Разбор JS и TS частичный, регулярными выражениями.
Как отключить. Выполните `bash uninstall.sh` в каталоге проекта: скрипт снимет регистрацию MCP и хук SessionStart, индекс останется. Команда `bash uninstall.sh --purge` удалит и индекс вместе с хранилищем секретов.
Частые вопросы
Как поставить session-knowledge в Claude Code?
Склонируйте репозиторий, выполните `bash install.sh` в его каталоге и перезапустите Claude Code. Скрипт регистрирует MCP-сервер session-knowledge в ~/.claude.json и добавляет хук обновления в settings.json.
Где хранятся секреты из моих сессий?
Открытые значения лежат только в vault.db с правами 0600, а каталог индекса закрыт правами 0700. В полнотекстовом индексе секреты заменены метками вида ⟦SECRET:отпечаток⟧. Значение возвращает только явный вызов get_credential, например creds get в командной строке.
Что делать с ненастоящими ключами в списке кандидатов?
Из примеров в документации и обсуждений в индекс попадают и вымышленные значения. Команда `python3 -m sessionmcp.cli creds forget --fingerprint <отпечаток> --reason "doc example"` удаляет значение и заносит его в черный список. Без черного списка ежедневное сканирование вернет значение обратно.
Чем поиск по сессиям лучше обычного grep?
Grep работает, когда вы заранее знаете строку, например tenant_access_token. Теги возможностей позволяют искать по внешнему сервису, а полнотекстовый индекс с BM25 охватывает все сессии, включая китайский текст, который разбивается на пары символов.
Как задать каталоги для индекса кода вручную?
По умолчанию берутся рабочие каталоги с двумя и более сессиями за последние 45 дней, до 30 штук. Новичкам с единичными сессиями это дает пустой список, тогда задайте переменную SESSION_KNOWLEDGE_PROJECT_DIRS, например "~/proj-a:~/proj-b".
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыЛокальная панель для сессий Claude Code: таймлайны, расходы токенов, инструменты, агенты, скиллы и живые сессии
Плагин Supermemory для Claude Code: долговременная память между сессиями с автоматическим поиском по подсказке, сохранением диалога и индексом кодовой базы
Локальная память для агентов: хранит переписку и файлы проекта дословно и находит нужное семантическим поиском через MCP
Среда для Claude Code, которая держит контекст между сессиями через хуки, леджеры и передачи, оркеструет агентов и экономит токены
Долговременная память агента в локальных Markdown-файлах с графом связей, семантическим поиском и MCP-доступом
CLI и TUI для поиска по локальной истории сессий Claude Code, Codex, Cursor, Gemini CLI и других агентов, с режимом --robot для самих агентов
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| session-knowledge (эта запись) | нет | не нужна | 306 | |
| deja-vu | нет | 1 325 | индексирует сессии 38 агентов и дает поиск по ним, без реестра переменных и поиска готового кода | |
| Obelisk | нет | 700 | собирает историю сессий агентов в один файл SQLite для запросов | |
| Context Mode | нет | не нужна | 32 711 | держит большой вывод инструментов вне контекста окна, а прошлые сессии не индексирует |
Коротко о README
README сразу предупреждает о секретах в открытом виде. Дальше идут команды командной строки, схема индексов, настройка, удаление и известные ограничения.