memory-mcp
memory-mcp
Личная кросс-инструментальная память: поисковый эпизодический архив ИИ-сессий со всех устройств плюс курируемый слой семантических фактов с высоким уровнем доверия, предоставляемый через MCP-сервер. Разработано для self-hosted устройства на arm64, доступ только через WG. Полное описание — в docs/mcp/memory-mcp-spec.md.
Структура
Пакет | Назначение |
| библиотека memory-core — хранение, разбиение на чанки, эмбеддинги, гибридный поиск, факты, очистка, дистилляция (без MCP и HTTP) |
|
|
| MCP-сервер memory-mcp (Streamable HTTP, static bearer) |
| эталонный стенд для оценки поиска (recall@5, MRR, p95) |
| compose.prod.yaml, Dockerfile, systemd-таймеры, скрипт резервного копирования |
Related MCP server: Mnemo
Два слоя, два уровня доверия
Эпизодический архив (Qdrant
memory_archive): все чанки всех сессий. Плотные (bge-m3, 1024) + разреженные (IDF-modified TF) векторы, гибридный поиск с RRF-объединением. Поиск по нему выполняется только по запросу (search_archive).Семантические факты (Postgres): курируемые утверждения с указанием источника. Поверхность чтения по умолчанию (
search_memory). Записываются черезremember(источникuser) и через одобренную человеком дистилляцию (источникdistilled) — ничего дистиллированное не становится активным безmemoryctl review.
MCP-поверхность
Инструменты: remember, search_memory, search_archive, forget (деструктивный, двухфазный по запросу). Ресурсы: memory://stats, memory://facts/recent, memory://facts/{id}.
Разработка
pnpm install
pnpm build # all packages
pnpm test # core + server suites (stores are mocked; nothing external touched)
pnpm eval # golden-set retrieval harness (needs live stores + ingested data)Конфигурация управляется через переменные окружения в packages/core/src/config.ts (loadConfig) — все переменные см. в deploy/.env.example.
Эксплуатация
cd deploy && cp .env.example .env # fill in POSTGRES_PASSWORD, STATIC_BEARER, keys
docker compose -f compose.prod.yaml up -d --build
docker compose -f compose.prod.yaml exec memory-mcp memoryctl init
docker compose -f compose.prod.yaml exec memory-mcp memoryctl verifycompose.prod.yaml предполагает, что Qdrant и OpenAI-совместимый LLM-шлюз уже запущены как внешние контейнеры на вашем хосте — измените поля name: в секции networks: в соответствии с именами ваших Docker-сетей.
Ежодневные ingest+дистилляция и ночные резервные копии выполняются через systemd-таймеры (deploy/systemd/). Резервные копии автоматически удаляются на 14-й день, поэтому действие forget полностью исчезает и из резервных копий в течение этого окна.
Модель безопасности
Привязка только через WG, static bearer (v1); JWT на шлюзе — запланированный будущий режим аутентификации (Step 8), после появления совместимого OIDC/JWT-шлюза перед сервером.
Очистка (gitleaks и собственные регулярные выражения) работает по принципу fail-closed и выполняется до того, как что-либо будет пре вращено в эмбеддинги или сохранено. Неразбираемый ввод отправляет весь файл в карантин (записывается в журнал); временные сбои инфраструктуры (недоступны embedder, Qdrant, gitleaks) чисто откатываются, ничего не записывается, и файл будет обработан повторно при следующем запуске.
forget— жёсткое удаление в обоих хранилищах.Архивные чанки возвращаются внутри ограничителей недоверенных данных — исторические транскрипты могут содержать текст, похожий на инструкции, и к нему следует относиться как к данным.
См. SECURITY.md, чтобы сообщить об уязвимости.
Участие в разработке
Issues и PR приветствуются — см. CONTRIBUTING.md по настройке окружения и конвенциям проекта, а CHANGELOG.md — по истории изменений. Этот проект следует Кодексу поведения.
Лицензия
This server cannot be deployed
Maintenance
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Hosted agent memory: store, search, and recall facts across sessions from any MCP client.
Cross-session memory for AI agents with a Source Receipt for every memory, over MCP.
Related MCP Servers
- AlicenseCqualityAmaintenanceProvides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.31139 PyPI1MIT
- AlicenseAqualityCmaintenanceEnables AI agents to share a portable, user-level memory layer through MCP, allowing them to store, search, update, link, and consolidate facts with optional full-text and vector retrieval.716 npmMIT
- AlicenseNot gradedqualityAmaintenanceProvides AI agents with persistent, human-like memory infrastructure via MCP, enabling them to store, search, summarize, and forget episodic, semantic, procedural, and working memories across sessions.1,822 npmMIT
- AlicenseAqualityBmaintenanceEnables AI agents to persist memory across sessions through MCP, supporting semantic retrieval, source-backed context, knowledge graph relationships, supersession lineage, and topic digests.431MIT