Mem0 MCP Selfhosted MCP Server

Self-hosted [mem0](https://github.com/mem0ai/mem0) MCP server for Claude Code. Run a complete memory server against self-hosted Qdrant + Neo4j +

Remote serverstreamable-httpPython

What is the Mem0 MCP Selfhosted MCP server?

Connect Mem0 MCP Selfhosted to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Self-hosted mem0 MCP server for Claude Code. Run a complete memory server against self-hosted Qdrant + Neo4j + Ollama, with your choice of Anthropic (Claude) or Ollama as the main LLM. The mem0 mcp selfhosted mcp server is what makes that connection.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • add_memory — Store text or conversation history as memories. Supports enable_graph, infer, metadata
  • search_memories — Semantic search with optional filters, threshold, rerank, enable_graph
  • get_memories — List/filter memories (non-search). Supports limit and scope filters
  • get_memory — Fetch a single memory by UUID
  • update_memory — Replace memory text. Re-embeds and re-indexes in Qdrant
  • delete_memory — Delete a single memory by UUID
  • delete_all_memories — Bulk-delete all memories in a scope
  • list_entities — List users/agents/runs with memory counts. Uses Qdrant Facet API
  • delete_entities — Cascade-delete an entity and all its memories
  • search_graph — Search Neo4j entities by name substring. Returns entities + outgoing relationships
  • get_entity — Get all relationships for an entity (bidirectional: incoming + outgoing)
  • Prompt — The server registers a memory_assistant MCP prompt that provides Claude with a quick-start guide for using the memory tools effectively

Installation

Because this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.

Credentials and setup notes

Configuration is passed through the environment: MEM0_PROVIDER, MEM0_LLM_MODEL, MEM0_USER_ID, MEM0_LLM_URL, MEM0_EMBED_URL, MEM0_ANTHROPIC_TOKEN, ANTHROPIC_API_KEY, MEM0_OLLAMA_URL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

| Service | Required | Purpose | |---------|----------|---------| | Qdrant | Yes | Vector memory storage and search | | Ollama | Yes | Embedding generation (bge-m3) and optionally local LLM | | Neo4j 5+ | Optional | Knowledge graph (entity relationships) | | Google API Key | Optional | Required only for gemini/gemini_split graph providers | Python >= 3.10 and

Where it fits

Plenty of knowledge and memory servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Mem0 MCP Selfhosted's toolset — add_memory, search_memories, get_memories and 11 more — is a fair guide to whether it matches your workflow. It is maintained by elvismdev; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Mem0 MCP Selfhosted's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Worth knowing first

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Mem0 MCP Selfhosted.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
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.
delete_all_memoriesBulk-delete all memories in a scope.
list_entitiesList users/agents/runs with memory counts. Uses Qdrant Facet API.
delete_entitiesCascade-delete an entity and all its memories.
search_graphSearch Neo4j entities by name substring. Returns entities + outgoing relationships.
get_entityGet all relationships for an entity (bidirectional: incoming + outgoing).
PromptThe server registers a memory_assistant MCP prompt that provides Claude with a quick-start guide for using the memory tools effectively.
ParametersAll tools use Pydantic Annotated[type, Field(description=...)] for self-documenting parameter schemas. Common patterns:
AuthenticationThe Authentication tool exposed by this server.

Configuration

| Service | Required | Purpose | |---------|----------|---------| | Qdrant | Yes | Vector memory storage and search | | Ollama | Yes | Embedding generation (bge-m3) and optionally local LLM | | Neo4j 5+ | Optional | Knowledge graph (entity relationships) | | Google API Key | Optional | Required only for gemini/gemini_split graph providers | Python >= 3.10 and

VariableDescriptionRequired
MEM0_PROVIDERConfiguration value read at startup.Optional
MEM0_LLM_MODELConfiguration value read at startup.Optional
MEM0_USER_IDConfiguration value read at startup.Optional
MEM0_LLM_URLEndpoint or connection string the server talks to.Yes
MEM0_EMBED_URLEndpoint or connection string the server talks to.Yes
MEM0_ANTHROPIC_TOKENCredential the server authenticates with.Yes
ANTHROPIC_API_KEYCredential the server authenticates with.Yes
MEM0_OLLAMA_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Mem0 MCP Selfhosted to add memory.
  • Use Mem0 MCP Selfhosted to search memories.
  • Use Mem0 MCP Selfhosted to get memories.

Frequently asked questions

It connects Mem0 MCP Selfhosted to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (add_memory, search_memories, get_memories, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Mem0 MCP Selfhosted directly.