SodaMem MCP

Долговременная память для агентов: новые факты вытесняют старые, у каждого ответа есть источник, а поиск идет без вызовов LLM

  • 203 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-серверОфициальный

Расширенный доступ

Почему такой уровень

  • Хуки `sodamem install` отправляют реплики сессии на извлечение фактов выбранному провайдеру модели, так что содержимое переписки уходит за пределы машины
  • Записывающие инструменты, включаемые переменной `SODAMEM_MCP_ALLOW_WRITE=true`, дают агенту менять и удалять сохраненные факты
Все причины и проверки

sodamem/sodamem

Установка

Ручная установка

pip install "sodamem[chroma,llm]"

Python-путь из README. Для MCP-сервера нужен еще дополнительный пакет `mcp`, для TypeScript есть `npm i sodamem`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Хуки `sodamem install` отправляют реплики сессии на извлечение фактов выбранному провайдеру модели, так что содержимое переписки уходит за пределы машины
  • Записывающие инструменты, включаемые переменной `SODAMEM_MCP_ALLOW_WRITE=true`, дают агенту менять и удалять сохраненные факты

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

SodaMem хранит факты из разговоров агента и отдает их обратно готовым блоком контекста. Если пользователь сообщил, что переехал с Кауаи на Оаху, старый факт помечается замененным, а не затирается. Профили сущностей пересобираются по запросу, и каждая строка ответа ссылается на реплику, из которой взята. Поиск по памяти не вызывает языковую модель, поэтому один и тот же вопрос дает один и тот же ответ. Модель нужна только при записи: она извлекает факты из реплик. К агентам память подключается по-разному. MCP-сервер дает восемь инструментов, шесть из них только читают, среди них `entity_timeline` с историей одной сущности. Два записывающих, `add_memories` и `delete_memory`, появляются при `SODAMEM_MCP_ALLOW_WRITE=true`. Для Claude Code, GitHub Copilot CLI, Cursor и Codex CLI команда `sodamem install` добавляет еще и хуки, чтобы память подставлялась без решения модели.

Для кого. Разработчикам агентов и тем, кто часто работает в Claude Code и Cursor, кому нужна память между сессиями с проверяемым источником каждого факта.

Подходит, если

  • Агент забывает договоренности между сессиями, и их нужно подставлять в начало работы автоматически
  • Данные меняются: пользователь переехал или сменил стек, и старый факт не должен всплывать в ответе
  • Ответ агента надо проверить: каждая строка контекста ведет к реплике-источнику
  • Одна память нужна нескольким редакторам, и ее держит единый фоновый процесс `sodamem daemon`

Не подходит, если

  • Достаточно файла `CLAUDE.md` с заметками: отдельный демон и извлечение фактов будут лишними
  • Нет ключа к модели для извлечения фактов: поиск работает без него, а запись фактов нет
  • Нужна память, полностью лежащая на стороне вендора агента, без своего процесса и хранилища
  • Нужна автоматическая запись всех реплик в Cursor или Codex CLI: там хуки дают только сводку проекта при старте сессии

Пример запроса к агенту

Вспомни, какой пакетный менеджер мы выбрали для этого репозитория и почему, и покажи реплику, из которой это взято.

MCP

Транспорт
stdio
Авторизация
не нужна

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

SODAMEM_LLM_API_KEY секрет
Ключ провайдера модели, который нужен при записи фактов. Для поиска не требуется.
SODAMEM_MCP_ALLOW_WRITE
Значение `true` включает записывающие инструменты `add_memories` и `delete_memory`. Установщик задает его в конфигурации клиента.
SODAMEM_API_KEY секрет
Ключ HTTP-сервиса при самостоятельном запуске через Docker Compose.

Ограничения

Записывать факты может только процесс с ключом к языковой модели, поиск без ключа работает. Хранилища пользователей на SQLite без WAL открывает один процесс, поэтому клиенты ходят через общий `sodamem daemon`, а режим `--local-store` блокирует второго клиента.

Хуки полноценные только у Claude Code и GitHub Copilot CLI. Cursor и Codex CLI получают сводку проекта при старте сессии и пишут через `add_memories`, остальные клиенты работают только через инструменты MCP. Цифры на LongMemEval и LoCoMo в README измерены самим автором на `deepseek-v4-flash`.

Как отключить. Остановите демон командой `sodamem daemon` с подкомандой остановки из справки CLI и уберите блок `sodamem` из конфигурации клиента. Перед первой правкой файла установщик оставляет рядом копию `.sodamem-backup`, ее можно вернуть на место.

Частые вопросы

Как подключить SodaMem к Claude Code?

Запустите `sodamem daemon ensure`, затем `sodamem install claude-code`. Установщик добавит MCP-инструменты и хуки, существующую конфигурацию он объединяет с новой и оставляет резервную копию. Команда `--dry-run` сначала покажет, что изменится.

Нужен ли ключ к модели?

Для чтения нет: поиск и сборка контекста идут без вызовов LLM. Для записи нужен ключ в переменных вроде `SODAMEM_LLM_API_KEY`, и `sodamem daemon ensure` сообщает об этом сразу, а не после неудачной записи.

Какие инструменты видит агент через MCP?

Восемь инструментов. Шесть читают, включая `entity_timeline` и `explore_memory`. Записывающие `add_memories` и `delete_memory` включаются переменной `SODAMEM_MCP_ALLOW_WRITE=true`, которую `sodamem install` записывает в конфигурацию клиента.

Чем SodaMem отличается от basic-memory?

basic-memory хранит заметки в Markdown-файлах. SodaMem извлекает из реплик факты, хранит их в SQLite, помечает устаревшие как замененные и к каждому ответу прикладывает ссылку на исходную реплику.

Можно ли развернуть общий сервис для команды?

Да. В репозитории есть HTTP-сервис и веб-консоль в образе, запуск: `cp .env.example .env`, задать `SODAMEM_API_KEY` и выполнить `docker compose up -d`. Для TypeScript есть клиент `npm i sodamem`.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы
Официальный

Долговременная память для агентов: удаленный MCP-сервер, плагины для Claude Code, Cursor и Codex и API для своих приложений

MCP-серверРасширенный доступ31,6 тыс.Звезды репозитория

Общая локальная память для ИИ-агентов: Claude Code, Codex, Cursor и другие находят в ней договоренности прошлых сессий и записывают новые

CLIШирокий доступ2,2 тыс.Звезды репозитория

Постоянная память агента на графе связей: решения и ошибки переживают сессию, без векторной базы и платных вызовов API

MCP-серверРасширенный доступ244Звезды репозитория

Двойная память для агентов: граф знаний на вашей машине, поиск по запросу и подсказки до запроса, сквозные между сессиями.

ПлагинРасширенный доступ58Звезды репозитория

MCP-сервер долговременной памяти для ИИ-агентов: факты стареют по кривой забывания, связанные записи сжимаются в сводку

MCP-серверРасширенный доступ272Звезды репозитория
Официальный

Membase хранит одну общую память для ИИ-агентов, и Claude Code, Cursor и Codex читают ее через MCP, SDK или команду membase

MCP-серверРасширенный доступ141Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
SodaMem (эта карточка)дане нужна203
Basic Memoryнетне нужна4 566заметки в Markdown-файлах с графом связей, без замены устаревших фактов и ссылок на исходную реплику
MCP Memory Serviceнетне нужна2 117самостоятельно размещаемая память с семантическим поиском и автоконсолидацией, без пометки замененных фактов

Коротко о README

README открывается таблицей интеграций: Hermes Agent, DeepSeek Harness, любой MCP-клиент, адаптеры LangGraph, CrewAI и OpenAI Agents SDK, Vercel AI SDK. Дальше идут бенчмарки: 92,8 процента на LongMemEval с опубликованными ответами и 86,88 процента на LoCoMo без ответов по вопросам, затем быстрый старт на Python и самостоятельный запуск через Docker.

Бейдж для README

Сообщить о проблеме