ContextKeep MCP
ContextKeep дает агентам постоянную память на SQLite с полнотекстовым поиском, категориями и веб-интерфейсом.
- 159 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Хранит заметки агента на сервере, доступном по сети; встроенной авторизации HTTP нет, а удаление записей необратимо.
Установка
- Работает в
Ручная установка
git clone https://github.com/mordang7/ContextKeep.git
cd ContextKeep
python -m venv .venvПервые команды чистой установки без Docker. Дальше `pip install -r requirements.txt` и `python server.py`.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Хранит заметки агента на сервере, доступном по сети; встроенной авторизации HTTP нет, а удаление записей необратимо.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
ContextKeep, MCP-сервер долговременной памяти, хранит заметки агента между сессиями в базе SQLite с полнотекстовым поиском FTS5. Память раскладывается по категориям, которые вы правите сами, и одна запись может лежать в нескольких. Агент идет от `list_categories` и `list_memories` к `retrieve_memory`, а не читает все подряд. Всего 16 инструментов: сохранение, поиск, список недавних, история правок, экспорт в JSON и статистика. Рядом работает веб-интерфейс для просмотра, правки и экспорта. MCP отвечает по stdio или по HTTP на `/mcp`, для старых клиентов есть запасной SSE.
Для кого. Тем, кто устал повторять агенту контекст проекта в каждой новой сессии и хочет хранить память на своем сервере.
Подходит, если
- Решения по архитектуре должны переживать закрытую сессию и находиться по ключевым словам.
- Один сервер памяти обслуживает несколько клиентов по сети.
- Память приходится править руками: смотреть, исправлять и выгружать в JSON из браузера.
- После обновления с версии 1 нужно сохранить старые заметки и тег за тегом перенести их в категории.
Не подходит, если
- Память требуется только на время одной сессии, а долговременное хранилище лишнее.
- Заметки нельзя хранить на сервере, который доступен другим пользователям сети.
- Нужна авторизация HTTP-доступа из коробки.
Пример запроса к агенту
Сохрани в память решение «выбираем PostgreSQL» в категории архитектуры, а завтра найди его по слову «база».MCP
- Транспорт
- stdio, http, sse
- Авторизация
- не нужна
Ограничения
Нужен Python 3.10 или Docker. Версия 2.1 меняет схему: `list_all_memories` удален, теги заменены категориями, а перед обновлением README требует запустить `scripts/upgrade_to_v2_1.py`, он делает проверенную резервную копию. В примерах HTTP-сервер слушает `0.0.0.0`, но README не описывает аутентификацию, поэтому закройте порты 5000 и 5100 файрволом или прокси. Старую конфигурацию с SSH и stdin под тем же именем удалите, иначе клиент запустит прежний сервер с другой базой. Инструмент `delete_memory` стирает запись без возможности вернуть.
Как отключить. Удалите сервер `context-keep` из конфигурации клиента и остановите процессы `server.py` и `webui.py` или контейнер через `docker compose down`. База остается на диске: сделайте экспорт и удалите ее, если она не нужна.
Частые вопросы
Как убедиться, что подключен нужный сервер?
Вызовите `get_contextkeep_info`: он вернет версию (`2.1.0`), хранилище `sqlite`, путь к базе и список инструментов. Путь и число записей должны совпасть с `/api/info` веб-интерфейса.
Какие порты по умолчанию?
Веб-интерфейс на `http://localhost:5000`, MCP по HTTP на `http://localhost:5100/mcp`.
Как обновиться с первой версии?
Запустите `python scripts/upgrade_to_v2_1.py baremetal` или `docker`. Скрипт делает резервную копию, проверяет ее и останавливается при расхождениях.
Что делать, если веб-интерфейс не видит записанное агентом?
Сравните `get_contextkeep_info` и `/api/info`: у них должны совпасть идентификатор базы и путь. Расхождение значит, что клиент запустил другой экземпляр.
Как сделать резервную копию?
Выполните `python scripts/backup_contextkeep.py baremetal --install-dir /path/to/contextkeep` или вариант `docker --volume <имя тома>`. Команды восстановления записываются в папку копии.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер сохраняет контекст Claude Code между сеансами: решения, контрольные точки и кэш файлов хранятся в локальной SQLite.
MCP-сервер, который держит крупный вывод инструментов вне контекстного окна агента и хранит память сессии в SQLite
Локальный MCP-сервер памяти для агентов: история сессий, индекс кодовой базы и граф понятий в одной базе SQLite
Самостоятельный MCP-сервер долговременной памяти для агентов: структурированные записи, версии с откатом и визуальная панель
Локальная память для агента: хуки сами записывают факты из разговоров, а MCP-сервер возвращает их в новых сессиях из файла SQLite
Долговременная память для агентов: удаленный MCP-сервер, плагины для Claude Code, Cursor и Codex и API для своих приложений
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| ContextKeep (эта карточка) | нет | не нужна | 159 | |
| MCP Memory Service | нет | не нужна | 2 090 | хранит память агента с векторным поиском; ContextKeep ставит ставку на категории, FTS5 и историю правок с веб-интерфейсом |
| Basic Memory | нет | не нужна | 4 509 | ведет память в markdown-файлах; ContextKeep держит ее в SQLite и дает проверку идентичности базы |
Коротко о README
Установка: клон, виртуальное окружение и `pip install -r requirements.txt` или `docker compose up -d --build`. Версия 2.1 принесла SQLite, FTS5, категории, один контейнер для веб-интерфейса и MCP и безопасное обновление с резервной копией.