m

mem0

Open-source memory layer with vector search across past interactions.

Works with: Claude DesktopClaude CodeCursorWindsurfCline
Quick install
npx -y mem0-mcp

How to install the mem0 MCP server

Add this to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "mem0": {
      "command": "npx",
      "args": [
        "-y",
        "mem0-mcp"
      ]
    }
  }
}

Add this to your Claude Code MCP configuration:

npx -y mem0-mcp

Add this to your Cursor MCP configuration:

{
  "mcpServers": {
    "mem0": {
      "command": "npx",
      "args": [
        "-y",
        "mem0-mcp"
      ]
    }
  }
}

Add this to your Windsurf MCP configuration:

{
  "mcpServers": {
    "mem0": {
      "command": "npx",
      "args": [
        "-y",
        "mem0-mcp"
      ]
    }
  }
}

Add this to your Cline MCP configuration:

{
  "mcpServers": {
    "mem0": {
      "command": "npx",
      "args": [
        "-y",
        "mem0-mcp"
      ]
    }
  }
}

mem0 is an open-source memory layer for AI applications, exposed as an MCP server. It uses vector embeddings to provide semantic recall across past conversations: ask “what did we discuss about pricing?” and get answers grounded in earlier sessions, even if you didn’t use the exact word “pricing”.

Why use it

Vector memory feels different from explicit memory. With Anthropic’s Memory server, you tell Claude “remember X” and it stores X verbatim. With mem0, mem0 watches the conversation, summarizes, embeds, and retrieves by semantic similarity later. Less precise, but covers more ground.

For long-running projects where you don’t want to remember to “tell Claude” every key fact, mem0 is the lower-friction option.

What it actually does

Add a memory (or let mem0 auto-extract from conversation), search by semantic query, list memories, delete a memory, manage memory namespaces. The hosted version adds team-sharing primitives.

Practical patterns:

  • “What do I usually prefer for state management in React projects?”
  • “What was the verdict on whether to roll our own auth or use Better Auth?”
  • “Recall any decisions I’ve made about pricing strategy.”

Gotchas

Embedding quality matters. Self-hosted with a small embedding model gives blurrier recall than hosted with a top-tier embedder. Test before you commit.

Vector databases can grow unbounded. mem0 has retention policies; use them. Don’t rely on mem0 to clean itself; review periodically.

Pair with ContextBolt for two layers of memory: one for what Claude learns from you (mem0), one for what you’ve captured externally (ContextBolt bookmarks). Claude reasons across both naturally.

Also in Memory & Knowledge

Combine mem0 with ContextBolt

mem0 gives Claude one kind of memory. ContextBolt adds another: every tweet, post, and article you save across X, Reddit, and LinkedIn becomes searchable by meaning. Run both as MCP servers and Claude can pull from both layers in one prompt.

See ContextBolt →

mem0 MCP server: FAQs

How is mem0 different from Anthropic's Memory server?

Anthropic's Memory uses an explicit knowledge graph (entities + relations). mem0 uses vector embeddings for semantic similarity. Mem0 is better when you want fuzzy recall ('what did we discuss about pricing?'); Memory is better for explicit facts ('I prefer Postgres over MongoDB').

Is mem0 free?

Open source on GitHub. They also offer a hosted SaaS with managed embeddings. Self-host the OSS version for free; pay for hosted if you don't want to manage it.

How does it differ from ContextBolt?

mem0 stores conversation summaries and explicit memories you tell it. ContextBolt captures bookmarks across X, Reddit, and LinkedIn. Different inputs, similar retrieval. Use both: mem0 for what Claude has learned, ContextBolt for what you've saved.

Where is the data stored?

Self-hosted version stores in your chosen vector database (Pinecone, Qdrant, Weaviate, Chroma). Hosted version uses mem0's infrastructure. Pick based on your data-sovereignty preferences.

Does it work in Claude Code?

Yes. Configure it the same as Claude Desktop. Useful for long-running coding sessions where you want Claude to remember earlier context.