
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
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the OpenMemory MCP config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 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_memoriesStore new memories whenever the user shares preferences or facts worth keeping.
search_memorySemantic search over stored memories; meant to be called before answering personal questions.
list_memoriesList everything in the user's memory store.
delete_memoriesDelete specific memories by their IDs.
delete_all_memoriesWipe 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.