MCP Directory

How to add Mem0 MCP Server to Windsurf

Archived official Mem0 server for long-term agent memory: add, search, update, and delete memories via the Mem0 API. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 655 · stdio · apikey · official

Windsurf config for Mem0 MCP Server

pip install mem0-mcp-server
{
  "mcpServers": {
    "mem0-mcp-server": {
      "command": "uvx",
      "args": [
        "mem0-mcp-server"
      ],
      "env": {
        "MEM0_API_KEY": "<your-mem0-api-key>",
        "MEM0_DEFAULT_USER_ID": "<your-user-id>"
      }
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Mem0 MCP Server config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Mem0 MCP Server's tools become available to Cascade.

Before you start

  • A Mem0 platform account and API key (m0-...) from app.mem0.ai
  • uv/uvx (recommended) or pip with Python to run mem0-mcp-server
  • Optional: MEM0_DEFAULT_USER_ID env var to scope memories to a user handle (defaults to 'mem0-mcp')

What Mem0 MCP Server can do in Windsurf

add_memory

Save text or conversation history (or explicit message objects) for a user/agent.

search_memories

Semantic search across existing memories with filters and limit.

get_memories

List memories with structured filters and pagination.

get_memory

Retrieve one memory by its memory_id.

update_memory

Overwrite a memory's text once the user confirms the memory_id.

delete_memory

Delete a single memory by memory_id.

delete_all_memories

Bulk delete all memories in the confirmed scope (user/agent/app/run).

delete_entities

Delete a user/agent/app/run entity and its memories.

Security

This repo is archived (read-only since March 2026): no maintenance, no security patches — Mem0 now points users at its hosted MCP endpoint instead. The server sends memory content to the Mem0 cloud API under your MEM0_API_KEY, and delete_all_memories / delete_entities are destructive bulk operations, so scope the key carefully.

Mem0 MCP Server + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Mem0 MCP Server config there under the "mcpServers" key and restart the client.

Is Mem0 MCP Server safe to use with Windsurf?

This repo is archived (read-only since March 2026): no maintenance, no security patches — Mem0 now points users at its hosted MCP endpoint instead. The server sends memory content to the Mem0 cloud API under your MEM0_API_KEY, and delete_all_memories / delete_entities are destructive bulk operations, so scope the key carefully.

Is mem0-mcp still safe to use?

It still works, but the repo has been a public archive since March 2026: no bug fixes, no security patches, no releases. For anything new, Mem0 recommends its hosted MCP server at https://mcp.mem0.ai/mcp; for local-first memory, OpenMemory in the mem0 monorepo is the sibling project.

What replaced mem0-mcp — and where does OpenMemory fit?

Two paths. The direct successor is Mem0's cloud-hosted MCP endpoint (https://mcp.mem0.ai/mcp), which needs no local process. OpenMemory is the local alternative from the same company: it runs the whole memory stack on your machine (Docker + dashboard), whereas mem0-mcp was a local shim that stored everything in the Mem0 cloud.

Where do my memories actually live?

In Mem0's cloud platform, not on your machine. The server is a stdio bridge that calls the Mem0 API with your MEM0_API_KEY, and responses are raw JSON from that API — so data residency and retention follow your Mem0 account, and revoking the key cuts off access.

View repo Full Mem0 MCP Server page