memory-industry — MCP-сервер памяти для Claude Code и других агентов
Долговременная память для ИИ-агентов: граф знаний, который агент ищет, проверяет и правит между сессиями.
claude mcp add --env DATABASE_URL=<DATABASE_URL> --env CUBA_PROJECT_FILTER=<CUBA_PROJECT_FILTER> --env CUBA_SYNC_DIR=<CUBA_SYNC_DIR> --env CUBA_JUDGE=<CUBA_JUDGE> --env CUBA_JUEZ_CLI=<CUBA_JUEZ_CLI> --transport stdio memory-industry -- npx -y memory-industryЧто делает memory-industry
MemoryIndustry (раньше назывался cuba-memorys) — MCP-сервер на Rust с хранилищем в PostgreSQL 18 и pgvector. Агент получает граф знаний, по которому можно искать, рассуждать и вносить исправления, поэтому кодовая база не забывается от сессии к сессии. Внутри 31 MCP-инструмент (32 при CUBA_DOCS=1) и 28 CLI-команд, среди них гибридный поиск BM25+MMR и проверка утверждений с судьёй-LLM.
Установка короткая: pip install memory-industry (или npm install -g memory-industry), затем claude mcp add memory-industry -- memory-industry. При первом запуске сервер сам поднимает контейнер PostgreSQL 18 + pgvector через Docker и создаёт схему. Docker должен быть запущен, иначе ничего не стартует. Свою базу тоже можно подключить через DATABASE_URL — тогда понадобятся расширения vector и pg_trgm, а cuba-memorys doctor покажет, чего не хватает. Команда cuba-memorys setup прописывает конфиг всем найденным клиентам, а setup check сверяет их между собой: расхождение в размерности эмбеддингов ломает поиск тихо.
Вместо процесса на каждого клиента есть общий демон: cuba-memorys serve слушает 127.0.0.1:8787 и грузит модели один раз, а не по копии на каждое окно редактора. Если демон слушает не loopback, токен CUBA_HTTP_TOKEN обязателен, и на маршрутизируемом адресе он должен быть не короче 32 символов — без него граф отдаётся вообще без аутентификации. Порт открывается раньше загрузки моделей, поэтому второй демон на том же порту падает сразу, а не через две минуты.
Какие задачи решает
- найти нужный фрагмент кода в памяти агента по смыслу, а не по точному слову
- сохранить решения и договорённости между сессиями Claude
- проверить утверждение агента о коде с помощью судьи-LLM
- поднять общую память для нескольких окон редактора без копий моделей
- сверить конфиги MCP у разных клиентов и поймать расхождение размерности эмбеддингов
Примеры запросов агенту
- Найди в памяти, что мы решали про схему авторизации
- Сохрани в память вывод: миграции идут через alembic
- Проверь утверждение, что этот модуль нигде не вызывается
Как установить memory-industry
Командой платформы
claude mcp add --env DATABASE_URL=<DATABASE_URL> --env CUBA_PROJECT_FILTER=<CUBA_PROJECT_FILTER> --env CUBA_SYNC_DIR=<CUBA_SYNC_DIR> --env CUBA_JUDGE=<CUBA_JUDGE> --env CUBA_JUEZ_CLI=<CUBA_JUEZ_CLI> --transport stdio memory-industry -- npx -y memory-industryВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера
Командой платформы
codex mcp add memory-industry --env DATABASE_URL=<DATABASE_URL> --env CUBA_PROJECT_FILTER=<CUBA_PROJECT_FILTER> --env CUBA_SYNC_DIR=<CUBA_SYNC_DIR> --env CUBA_JUDGE=<CUBA_JUDGE> --env CUBA_JUEZ_CLI=<CUBA_JUEZ_CLI> -- npx -y memory-industryВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера
Файл настроек
{
"mcpServers": {
"memory-industry": {
"command": "npx",
"args": [
"-y",
"memory-industry"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"CUBA_PROJECT_FILTER": "<CUBA_PROJECT_FILTER>",
"CUBA_SYNC_DIR": "<CUBA_SYNC_DIR>",
"CUBA_JUDGE": "<CUBA_JUDGE>",
"CUBA_JUEZ_CLI": "<CUBA_JUEZ_CLI>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера
Файл настроек
{
"servers": {
"memory-industry": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"memory-industry"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"CUBA_PROJECT_FILTER": "<CUBA_PROJECT_FILTER>",
"CUBA_SYNC_DIR": "<CUBA_SYNC_DIR>",
"CUBA_JUDGE": "<CUBA_JUDGE>",
"CUBA_JUEZ_CLI": "<CUBA_JUEZ_CLI>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера
Командой платформы
gemini mcp add -e DATABASE_URL=<DATABASE_URL> -e CUBA_PROJECT_FILTER=<CUBA_PROJECT_FILTER> -e CUBA_SYNC_DIR=<CUBA_SYNC_DIR> -e CUBA_JUDGE=<CUBA_JUDGE> -e CUBA_JUEZ_CLI=<CUBA_JUEZ_CLI> memory-industry npx -y memory-industryВместо <…> подставьте свои значения. Ещё 4 переменные окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о memory-industry
Как установить memory-industry в Claude Code?
Сначала pip install memory-industry (или npm install -g memory-industry), затем claude mcp add memory-industry -- memory-industry. При первом запуске сервер поднимает контейнер PostgreSQL 18 + pgvector, поэтому Docker должен быть запущен.
Что делает memory-industry?
Даёт агенту долговременную память в виде графа знаний на PostgreSQL с pgvector. Агент ищет по ней, рассуждает и получает исправления, так что контекст проекта не теряется между сессиями.
Что нужно для работы со своей базой PostgreSQL?
Укажите DATABASE_URL в конфиге MCP-сервера. База должна поддерживать расширения vector и pg_trgm; проверить готовность можно командой cuba-memorys doctor.