mcp-mem0
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-mem0Remember that I like dark mode in editors."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-mem0
An MCP server for mem0 (self-hosted / open source) backed by Qdrant. Each request targets a Qdrant collection named by an HTTP header, so clients that send the same name share memories and different names stay isolated.
Tools
Tool | Purpose |
| Store memories (LLM fact-extraction, or raw with |
| Semantic search within the request's collection |
| Replace a memory's content by id |
| Delete a memory by id |
| Fetch one memory by id |
| List memories for a scope |
| Change history of a memory |
| Delete all memories for a scope |
Related MCP server: mem0-open-mcp
How collection routing works
The collection name is read from an HTTP header (
X-Collectionby default) and mapped to the Qdrant collectionmem0_<name>(prefix configurable; set it empty to use the value verbatim). The header value is validated against^[A-Za-z0-9_-]{1,64}$.Sharing: any clients that send the same collection name share the same memories. Different names are isolated.
One
AsyncMemoryinstance is built and cached per collection.The collection is chosen solely by the header —
user_id/agent_id/run_idnever affect which collection is used; they only narrow within a collection and are optional. Searching / listing without any of them spans the whole collection.add_memorystill needs one id to store (mem0 requirement); a defaultuser_id(MEM0_DEFAULT_USER_ID) is applied when the caller omits all three on a write.
Quick start
# 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_mem0Health check: curl localhost:8080/health
Docker
The Dockerfile is multi-stage with two targets: runtime (the server)
and test (the suite).
With docker compose (recommended)
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.pyInside the compose network the server reaches Qdrant at QDRANT_HOST=qdrant
(set automatically); tests reach the server at MCP_URL=http://server:8080/mcp.
With plain 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 -qVerify
# 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/collectionsConfiguration
All settings come from environment variables / .env — see .env.example.
Key ones: MEM0_COLLECTION_HEADER, MEM0_COLLECTION_PREFIX, QDRANT_HOST/QDRANT_PORT
(or QDRANT_URL+QDRANT_API_KEY), MEM0_EMBEDDING_DIMS (must match the embedder),
and the MEM0_LLM_* / MEM0_EMBEDDER_* provider blocks (openai / ollama / …).
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 Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides memory management tools for AI agents, enabling adding, searching, updating, and deleting memories via the Mem0 API.41MIT
- AlicenseNot gradedqualityCmaintenanceOpen-source MCP server for mem0 that enables memory storage and retrieval using local LLMs, self-hosted, and Docker-free.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceA 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
- AlicenseBqualityCmaintenanceAn MCP server for storing and retrieving memories using Qdrant vector search, acting as a semantic memory layer.2Apache 2.0
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
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
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/schwarzesonne13/mem0-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server