mcp-mem0
mcp-mem0
MCP-сервер для mem0 (self-hosted / open source) на базе Qdrant. Каждый запрос направляется в коллекцию Qdrant, имя которой задаётся HTTP-заголовком, поэтому клиенты, отправляющие одно и то же имя, разделяют воспоминания, а разные имена изолированы.
Инструменты
Инструмент | Назначение |
| Сохранение воспоминаний (извлечение фактов через LLM или сырых с |
| Семантический поиск в коллекции запроса |
| Замена содержимого воспоминания по id |
| Удаление воспоминания по id |
| Получение одного воспоминания по id |
| Список воспоминаний для области видимости |
| История изменений воспоминания |
| Удаление всех воспоминаний для области видимости |
Related MCP server: mem0-open-mcp
Как работает маршрутизация коллекций
Имя коллекции считывается из HTTP-заголовка (
X-Collectionпо умолчанию) и сопоставляется с коллекцией Qdrantmem0_<name>(префикс настраивается; можно задать пустым, чтобы использовать значение как есть). Значение заголовка проверяется по^[A-Za-z0-9_-]{1,64}$.Совместное использование: любые клиенты, отправляющие одно и то же имя коллекции, разделяют одни и те же воспоминания. Разные имена изолированы.
Один экземпляр
AsyncMemoryсоздаётся и кэшируется для каждой коллекции.Коллекция выбирается только по заголовку —
user_id/agent_id/run_idникогда не влияют на выбор коллекции; они лишь сужают выбор внутри коллекции и необязательны. Поиск / список без них охватывает всю коллекцию.Для
add_memoryвсё равно требуется один id для сохранения (требование mem0); применяется значение по умолчаниюuser_id(MEM0_DEFAULT_USER_ID), если вызывающий опускает все три при записи.
Быстрый старт
# 1. Start Qdrant
docker compose up -d qdrant
# 2. Configure
cp .env.example .env
# edit .env: set OPENAI_API_KEY (or switch to the Ollama block for a key-free setup)
# 3. Run the server (streamable-HTTP on :8080/mcp)
uv run -m mcp_mem0Проверка работоспособности: curl localhost:8080/health
Docker
Dockerfile — многоступенчатый, с двумя целями: runtime (сервер)
и test (набор тестов).
С docker compose (рекомендуется)
cp .env.example .env # set OPENAI_API_KEY (or the Ollama block)
# Qdrant + server together
docker compose up -d --build qdrant server
curl localhost:8080/health
# Run unit tests (no Qdrant / keys needed)
docker compose run --rm tests
# End-to-end smoke against the running server (needs an embedder key)
docker compose run --rm tests python tests/smoke.pyВнутри сети compose сервер обращается к Qdrant по адресу QDRANT_HOST=qdrant
(задаётся автоматически); тесты обращаются к серверу по адресу MCP_URL=http://server:8080/mcp.
С обычным docker
# Service image
docker build --target runtime -t mcp-mem0 .
docker run --rm -p 8080:8080 --env-file .env -e QDRANT_HOST=host.docker.internal mcp-mem0
# Test image
docker build --target test -t mcp-mem0-test .
docker run --rm mcp-mem0-test # pytest -qПроверка
# Unit tests (no Qdrant needed)
uv run pytest -q
# End-to-end smoke test (server + Qdrant + embedder must be running)
uv run python tests/smoke.py
# Confirm per-client collections were created
curl localhost:6333/collectionsКонфигурация
Все настройки берутся из переменных окружения / .env — см. .env.example.
Ключевые: MEM0_COLLECTION_HEADER, MEM0_COLLECTION_PREFIX, QDRANT_HOST/QDRANT_PORT
(или QDRANT_URL+QDRANT_API_KEY), MEM0_EMBEDDING_DIMS (должны совпадать с эмбеддером),
и блоки провайдеров MEM0_LLM_* / MEM0_EMBEDDER_* (openai / ollama / …).
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP memory server. One memory your agents share — across models, devices and apps.
Cloud-hosted MCP server for durable AI memory
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides memory management tools for AI agents, enabling adding, searching, updating, and deleting memories via the Mem0 API.11 npmMIT
- AlicenseNot gradedqualityCmaintenanceOpen-source MCP server for mem0 that enables memory storage and retrieval using local LLMs, self-hosted, and Docker-free.1Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA fully local, self-hosted memory server for MCP clients (Claude Code, Cursor, etc.) that provides persistent memory storage with semantic search, using local embeddings and a local Qdrant vector store.MIT
- AlicenseBqualityDmaintenanceAn MCP server for storing and retrieving memories using Qdrant vector search, acting as a semantic memory layer.2Apache 2.0