MCP Directory

How to add OpenMemory MCP to Cursor

Mem0's local-first memory layer: a Dockerized MCP server plus dashboard that keeps agent memories on your machine. Paste the config into ~/.cursor/mcp.json and restart Cursor.

Last updated June 14, 2026 · 60k · sse · apikey · official

Cursor config for OpenMemory MCP

curl -sL https://raw.githubusercontent.com/mem0ai/mem0/main/openmemory/run.sh | OPENAI_API_KEY=your_api_key bash
{
  "mcpServers": {
    "openmemory-mcp": {
      "url": "http://localhost:8765/mcp/<client-name>/sse/<user-id>"
    }
  }
}

Remote server — no local install needed. Restart the client after saving the config.

Setup steps

  1. 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
  2. 2Paste the OpenMemory MCP config below into the "mcpServers" object.
  3. 3Fill in placeholder secrets, then save.
  4. 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
  5. 5Ask Cursor to use one of OpenMemory MCP's tools to confirm it's connected.

Before you start

  • Docker and Docker Compose
  • An OpenAI API key (default LLM + embedder) — or a running Ollama for the fully local configuration
  • Node.js/npx for the @openmemory/install client-setup helper and for UI development
  • Python 3.9+ only if hacking on the backend outside Docker

What OpenMemory MCP can do in Cursor

add_memories

Store new memories whenever the user shares preferences or facts worth keeping.

search_memory

Semantic search over stored memories; meant to be called before answering personal questions.

list_memories

List everything in the user's memory store.

delete_memories

Delete specific memories by their IDs.

delete_all_memories

Wipe the user's entire memory store.

Security

Memories live locally in Docker volumes (Qdrant + SQLite), but memory text is sent to your configured LLM/embedder — OpenAI by default — unless you switch to Ollama for a fully local pipeline. The SSE endpoint is unauthenticated on localhost, and note the README's sunsetting notice: Mem0 now steers new users to its self-hosted server instead.

OpenMemory MCP + Cursor FAQ

Where is the Cursor config file?

Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the OpenMemory MCP config there under the "mcpServers" key and restart the client.

Is OpenMemory MCP safe to use with Cursor?

Memories live locally in Docker volumes (Qdrant + SQLite), but memory text is sent to your configured LLM/embedder — OpenAI by default — unless you switch to Ollama for a fully local pipeline. The SSE endpoint is unauthenticated on localhost, and note the README's sunsetting notice: Mem0 now steers new users to its self-hosted server instead.

Is OpenMemory private and free?

Yes — Apache-2.0, self-hosted, and memories are stored locally in Qdrant/SQLite Docker volumes. The one external dependency is the LLM/embedder: the default OpenAI setup sends memory text to OpenAI, so switch both providers to Ollama if you need everything on-device.

Is OpenMemory still maintained?

It works, but the README carries an explicit sunsetting notice: Mem0 directs local self-hosted memory users to the Mem0 self-hosted server (make bootstrap in the monorepo's server/ directory) instead. Existing setups keep running; new deployments should weigh starting on the successor.

How do multiple MCP clients share the same memories?

Each client connects to its own SSE URL — http://localhost:8765/mcp/<client-name>/sse/<user-id> — but the <user-id> is what scopes the data. Use the same user id across Claude, Cursor, and Windsurf and they read and write one shared store, with per-app attribution visible in the dashboard.

View repo Full OpenMemory MCP page