Self-hosted memory MCP server using Qdrant, Neo4j, Ollama, and optional Anthropic models for persistent agent context.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Mem0 MCP Selfhosted.
add_memoryStore text or conversation history as memories. Supports `enable_graph`, `infer`, `metadata`.
search_memoriesSemantic search with optional `filters`, `threshold`, `rerank`, `enable_graph`.
get_memoriesList/filter memories (non-search). Supports `limit` and scope filters.
get_memoryFetch a single memory by UUID.
update_memoryReplace memory text. Re-embeds and re-indexes in Qdrant.
delete_memoryDelete a single memory by UUID.
The elvismdev/mem0-mcp-selfhosted MCP server adds persistent memory to MCP-compatible agent workflows. It stores semantic memories in Qdrant, uses Ollama with the bge-m3 model to create embeddings, and can maintain entity relationships in Neo4j 5 or later. Neo4j is optional; Qdrant and Ollama are required.
The server supports two main model arrangements. The default uses Claude through a Claude Code session token for fact extraction. Setting MEM0_PROVIDER=ollama switches the main and graph language-model providers to Ollama, allowing a fully local deployment. Google credentials are only needed when using the gemini or gemini_split graph providers.
Memory records can be added from plain text or conversation history. The server can infer facts, attach metadata, and optionally update the knowledge graph. Semantic searches use Qdrant and support filters, score thresholds, reranking, and graph participation. Non-semantic listing and scope filtering are available separately.
Graph queries search Neo4j entities by name substring or return an entityβs incoming and outgoing relationships. Entity deletion cascades to its associated memories. Updating a memory replaces its text and rebuilds its Qdrant index entry.
The elvismdev/mem0-mcp-selfhosted MCP server also includes Claude Code session hooks. A startup hook searches for project context and recent session summaries, then returns the results as additional context. A stop hook reads a bounded portion of the transcript, creates a summary through memory inference, and saves it. Hook failures are non-fatal, so Claude Code can continue if the memory services are unavailable.
Run the server with Python 3.10 or newer and uv. Start Qdrant locally on its default port, 6333, and Ollama on its default port, 11434, with the bge-m3 embedding model available. The documented Claude Code setup launches the project through uvx from its Git repository. Set MEM0_USER_ID to identify the memory scope.
For a local-only deployment, configure MEM0_PROVIDER=ollama and choose an Ollama model with MEM0_LLM_MODEL, such as qwen3:14b. Service-specific settings such as MEM0_LLM_URL and MEM0_EMBED_URL can override the default endpoints. Anthropic deployments can use MEM0_ANTHROPIC_TOKEN, the Claude Code credentials file, or ANTHROPIC_API_KEY, in that priority order. The server can refresh supported Claude Code OAT tokens before expiry.
The included mem0-install-hooks command installs project or global Claude Code hook entries. A CLAUDE.md file can additionally instruct the agent to search and save memories during normal work, complementing the boundary hooks.
The elvismdev/mem0-mcp-selfhosted MCP server exposes these tool groups:
This setup depends on self-hosted Qdrant and Ollama, and graph features additionally depend on Neo4j. Anthropic use may involve Claude subscription OAT authentication or pay-per-use API billing; the Ollama configuration avoids that cloud dependency. The documented client integration targets Claude Code, including its session hooks and CLAUDE.md instructions. Graph processing is disabled by the session hooks to remain within their stated timeout budgets.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/elvismdev-mem0-mcp-selfhosted)<a href="https://allmcps.com/mcp/elvismdev-mem0-mcp-selfhosted"><img src="https://allmcps.com/api/badge/elvismdev-mem0-mcp-selfhosted?style=directory" alt="Mem0 MCP Selfhosted on AllMCPs" /></a>