lean-memory — MCP-сервер для Claude Code: локальная память агента
Локальная память для MCP-агентов: факты из переписки складываются в SQLite-файл и достаются гибридным поиском. Данные не покидают машину.
claude mcp add --env LM_DATA_ROOT=<LM_DATA_ROOT> --transport stdio lean-memory -- uvx lean-memoryЧто делает lean-memory
lean-memory хранит факты, которые агент узнаёт по ходу работы. Вы пишете их обычным языком, движок сам вытаскивает утверждения и раскладывает по пространствам имён: на каждое — свой файл SQLite под LM_DATA_ROOT (по умолчанию ~/.lean_memory). Старые записи не стираются. Новый факт вытесняет прежний, но прежний остаётся доступен запросом на момент времени — это заметно, когда нужно понять, что агент знал раньше.
MCP-сервер даёт три инструмента: memory_add, memory_search, memory_clear. Поиск гибридный, плотный плюс разреженный. Без дополнений сервер работает офлайн на заглушках — для CI сойдёт, для реальной работы нет. Ставьте lean-memory[mcp,models,extract]: тогда подключаются настоящие эмбеддер и реранкер, а извлечение идёт через GLiNER2. При первом запуске скачиваются три открытые модели, около 2.0 GB суммарно, поэтому прогрев лучше сделать заранее, иначе клиент будет ждать загрузки.
Есть и обслуживание памяти: lean-memory-maintain дедуплицирует, суммирует и понижает в весе записи, которые давно не всплывали. По умолчанию это сухой прогон — команда только отчитывается, ничего не пишет; для правок нужен --apply. Запускать такое логично ночью по расписанию, а решения, которые нельзя принять автоматически, разбирать утром.
Какие задачи решает
- дать агенту память между сессиями без облачного сервиса
- найти актуальный факт, когда старая версия уже вытеснена новой
- посмотреть, что агент знал на конкретный момент времени
- почистить накопившиеся дубли и устаревшие записи
- развести память разных пользователей по отдельным файлам
Примеры запросов агенту
- Запомни: я работаю в Globex.
- Что ты знаешь о моём месте работы?
- Прогони обслуживание памяти по всем пространствам имён и покажи отчёт без записи.
Как установить lean-memory
Командой платформы
claude mcp add --env LM_DATA_ROOT=<LM_DATA_ROOT> --transport stdio lean-memory -- uvx lean-memoryВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from lean-memory <команда>
Командой платформы
codex mcp add lean-memory --env LM_DATA_ROOT=<LM_DATA_ROOT> -- uvx lean-memoryВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from lean-memory <команда>
Файл настроек
{
"mcpServers": {
"lean-memory": {
"command": "uvx",
"args": [
"lean-memory"
],
"env": {
"LM_DATA_ROOT": "<LM_DATA_ROOT>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from lean-memory <команда>
Файл настроек
{
"servers": {
"lean-memory": {
"type": "stdio",
"command": "uvx",
"args": [
"lean-memory"
],
"env": {
"LM_DATA_ROOT": "<LM_DATA_ROOT>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from lean-memory <команда>
Командой платформы
gemini mcp add -e LM_DATA_ROOT=<LM_DATA_ROOT> lean-memory uvx lean-memoryВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from lean-memory <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о lean-memory
Как установить lean-memory в Claude Code?
Выполните claude mcp add lean-memory -- uvx lean-memory. Если нужен свой каталог данных, используйте вариант с переменной: claude mcp add --env LM_DATA_ROOT=<LM_DATA_ROOT> --transport stdio lean-memory -- uvx lean-memory.
Что делает lean-memory?
Это MCP-сервер локальной памяти: он извлекает факты из естественного языка, хранит их в SQLite по пространствам имён и отдаёт гибридным поиском. Старые факты вытесняются новыми, но остаются доступны в запросах на момент времени.
Что нужно для работы lean-memory?
Пакет lean-memory[mcp,models,extract] и однократная загрузка трёх открытых моделей, около 2.0 GB. Без этих дополнений сервер поднимается на заглушках — годится для проверок, но не для настоящего поиска.