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: Memorium
Два слоя, два уровня доверия
Эпизодический архив (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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to have persistent long-term memory by automatically storing and retrieving important information via MCP tools.MIT
- AlicenseNot gradedqualityDmaintenanceUniversal AI session memory substrate providing persistent context across sessions, with MCP tools for recall, search, recent events, and knowledge graph queries.981AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to persistently store and semantically search shared knowledge via MCP tools.2MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Marinski/memory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server