mem0-local-mcp
Provides optional LLM-based memory extraction using Google Gemini models (requires gemini extra).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mem0-local-mcpRemember that I like hiking."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mem0-local-mcp
A fully local, self-hosted mem0 memory server for MCP clients (Claude Code, Claude Desktop, Cursor, …).
Local embeddings via fastembed (ONNX, no PyTorch, no GPU) —
BAAI/bge-small-en-v1.5, 384-dim. Can be used with different LLM via API key.Local vector store via Qdrant on
localhost.Switchable extraction LLM — Anthropic Claude (default) or Google Gemini, chosen by one env var.
No API key needed for normal use. Reads and verbatim writes (
infer=False) run entirely on your machine. A provider key is used only when you opt into LLM fact-extraction (infer=True).
Tools
Tool | Purpose |
| Store a memory. |
| Semantic search within a scope. |
| List a scope without ranking. |
| Delete a single memory. |
Memories are scoped by any of user_id / agent_id / run_id.
Related MCP server: local-memory-mcp
Instructions for your agent
Copy the block below and paste it to your coding agent (Claude Code, Cursor, …) — it will install and verify everything for you:
Set up the mem0-local-mcp memory server on this machine for me:
1. Ensure a local Qdrant is running on port 6333: run `curl -s http://localhost:6333/`.
If it is not running, start it with Docker:
docker run -d --name qdrant --restart always -p 6333:6333 -v ~/.qdrant_storage:/qdrant/storage qdrant/qdrant
If Docker is unavailable, download the Qdrant binary for my OS from
https://github.com/qdrant/qdrant/releases and run it.
2. Ensure `uv` is installed (`which uv`); if not, install it from https://docs.astral.sh/uv/.
3. Register the MCP server at user scope:
claude mcp add mem0 --scope user -- uvx --from git+https://github.com/sanchezvivi/mem0-local-mcp.git mem0-local-mcp
4. Verify with `claude mcp list` that `mem0` shows Connected. The first run downloads the
embedding model (~130 MB), so allow up to a minute.
5. Reads and infer=False writes need no API key. Only if I want infer=True (LLM) extraction,
confirm ANTHROPIC_API_KEY (or GOOGLE_API_KEY with MEM0_LLM_PROVIDER=gemini) is set in my
environment before launching the client. Then tell me it is ready.Prerequisites
1. A running Qdrant (pick one):
# Docker
docker run -d --name qdrant -p 6333:6333 -v ~/.qdrant_storage:/qdrant/storage qdrant/qdrant
# or the binary (macOS/Linux release from https://github.com/qdrant/qdrant/releases)
./qdrant2. uv to run the server (uvx), or pip install mem0-local-mcp.
The embedding model (~130 MB) downloads automatically on first use.
Install in Claude Code
claude mcp add mem0 --scope user -- \
uvx --from git+https://github.com/sanchezvivi/mem0-local-mcp.git mem0-local-mcpFor Gemini extraction, install the extra and select the provider:
claude mcp add mem0 --scope user \
--env MEM0_LLM_PROVIDER=gemini \
-- uvx --from "git+https://github.com/sanchezvivi/mem0-local-mcp.git#egg=mem0-local-mcp[gemini]" mem0-local-mcpOther MCP clients
Any stdio MCP client can launch it. Example config entry:
{
"mcpServers": {
"mem0": {
"command": "uvx",
"args": ["--from", "git+https://github.com/sanchezvivi/mem0-local-mcp.git", "mem0-local-mcp"]
}
}
}Configuration
All optional, with defaults:
Variable | Default | Notes |
|
| Default scope when a tool call omits |
|
|
|
|
| |
|
| Requires the |
|
| Any fastembed model. |
|
| Must match the embed model. |
|
| |
|
| |
|
| |
| — | Only needed for |
| — | Only needed for |
Keys are read from the process environment; nothing is written to disk by this server.
Local development
git clone https://github.com/sanchezvivi/mem0-local-mcp.git
cd mem0-local-mcp
uv venv && uv pip install -e ".[gemini]"
.venv/bin/mem0-local-mcp # stdio serverLicense
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Self-hosted AI workspace: semantic RAG document search, long-term memory, and AI chat via MCP.
An MCP memory server. One memory your agents share — across models, devices and apps.
Persistent memory for AI agents across Claude, ChatGPT and any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA self-hosted MCP memory server that gives AI assistants persistent, semantic memory by storing facts as vector embeddings locally, supporting semantic search and swappable embedding models.47 npmMIT
- FlicenseNot gradedqualityDmaintenanceA local MCP server that provides semantic memory storage and retrieval for coding and AI agents, enabling durable context across chat sessions.39 npm4-
- AlicenseNot gradedqualityDmaintenanceA local-first MCP memory server that gives AI coding agents persistent memory with hybrid semantic and keyword retrieval, working fully offline.20 npm199MIT
- AlicenseNot gradedqualityCmaintenanceA self-hosted MCP memory server with hybrid semantic and keyword search, providing persistent memory for AI coding assistants like Claude Code, Cursor, and Windsurf.3 npm4MIT