Mem0 Local Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mem0 Local Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A fully local, self-hosted mem0 memory server for MCP clients (Claude Code, Claude Desktop, Cursor, …).
BAAI/bge-small-en-v1.5, 384-dim. Can be used with different LLM via API key.localhost.infer=False) run entirely on your machine. A provider key is used only when you opt into LLM fact-extraction (infer=True).| Tool | Purpose |
|---|---|
add_memory(content, user_id, agent_id?, run_id?, infer=False) | Store a memory. infer=False stores verbatim (local, no LLM); infer=True extracts/dedupes via the LLM. |
search_memories(query, user_id, agent_id?, run_id?, top_k=5) | Semantic search within a scope. |
list_memories(user_id, agent_id?, run_id?) | List a scope without ranking. |
delete_memory(memory_id) | Delete a single memory. |
Memories are scoped by any of user_id / agent_id / run_id.
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.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](https://docs.astral.sh/uv/) to run the server (uvx), or pip install mem0-local-mcp.
The embedding model (~130 MB) downloads automatically on first use.
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-mcpAny 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"]
}
}
}All optional, with defaults:
| Variable | Default | Notes |
|---|---|---|
MEM0_USER_ID | default_user | Default scope when a tool call omits user_id. |
MEM0_LLM_PROVIDER | anthropic | anthropic or gemini. Only used for infer=True. |
MEM0_ANTHROPIC_MODEL | claude-haiku-4-5 | |
MEM0_GEMINI_MODEL | gemini-2.5-flash | Requires the gemini extra. |
MEM0_EMBED_MODEL | BAAI/bge-small-en-v1.5 | Any fastembed model. |
MEM0_EMBED_DIMS | 384 | Must match the embed model. |
MEM0_QDRANT_HOST | localhost | |
MEM0_QDRANT_PORT | 6333 | |
MEM0_COLLECTION | mem0 | |
ANTHROPIC_API_KEY | — | Only needed for infer=True with Anthropic. |
GOOGLE_API_KEY | — | Only needed for infer=True with Gemini. |
Keys are read from the process environment; nothing is written to disk by this server.
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 serverMIT — see LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.