mem0-mcp-selfhosted
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEM0_USER_ID | No | Default user ID for memory scoping. Used to isolate memories between different users or projects. | user |
| MEM0_PROVIDER | No | Top-level provider ('anthropic' or 'ollama'). Cascades to MEM0_LLM_PROVIDER and MEM0_GRAPH_LLM_PROVIDER. | anthropic |
| GOOGLE_API_KEY | No | Google API key (required for 'gemini'/'gemini_split' graph providers). | |
| MEM0_LLM_MODEL | No | Model for the selected LLM provider. Defaults to 'claude-opus-4-6' for Anthropic, 'qwen3:14b' for Ollama. | claude-opus-4-6 |
| MEM0_LOG_LEVEL | No | Logging level ('DEBUG', 'INFO', 'WARNING', 'ERROR'). | INFO |
| MEM0_NEO4J_URL | No | Neo4j Bolt endpoint. | bolt://127.0.0.1:7687 |
| MEM0_TRANSPORT | No | Transport mode: 'stdio', 'sse', or 'streamable-http'. | stdio |
| MEM0_COLLECTION | No | Qdrant collection name. | mem0_mcp_selfhosted |
| MEM0_EMBED_DIMS | No | Embedding vector dimensions. | 1024 |
| MEM0_NEO4J_USER | No | Neo4j username. | neo4j |
| MEM0_OLLAMA_URL | No | Shared Ollama base URL for LLM and embeddings. | http://localhost:11434 |
| MEM0_QDRANT_URL | No | Qdrant REST API URL. | http://localhost:6333 |
| MEM0_EMBED_MODEL | No | Embedding model name. | bge-m3 |
| ANTHROPIC_API_KEY | No | Standard Anthropic API key (priority 3). | |
| MEM0_ENABLE_GRAPH | No | Enable graph memory (entity extraction to Neo4j). | false |
| MEM0_EMBED_PROVIDER | No | Embedding provider ('ollama' or 'openai'). | ollama |
| MEM0_NEO4J_PASSWORD | No | Neo4j password. | mem0graph |
| MEM0_QDRANT_API_KEY | No | Qdrant API key (for Qdrant Cloud). | |
| MEM0_ANTHROPIC_TOKEN | No | Anthropic OAT or API token (priority 1). Overrides local credentials. | |
| MEM0_HISTORY_DB_PATH | No | SQLite path for memory change history. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_memoryA | Store a new memory. Requires at least one of user_id, agent_id, or run_id. |
| search_memoriesC | Semantic search across existing memories. |
| get_memoriesA | Page through memories using filters instead of search. |
| get_memoryB | Fetch a single memory by its ID. |
| update_memoryA | Overwrite an existing memory's text. Re-embeds and re-indexes. |
| delete_memoryB | Delete a single memory. |
| delete_all_memoriesA | Bulk-delete all memories in the given scope. Requires at least one filter. |
| list_entitiesB | List which users/agents/runs currently hold memories. Uses Qdrant Facet API (v1.12+) for server-side aggregation, with scroll+dedupe fallback for older versions. |
| delete_entitiesA | Delete an entity and cascade-delete all its memories. |
| mcp_search_graphA | Search entities by name/id substring matching in Neo4j knowledge graph. |
| mcp_get_entityA | Get all relationships for a specific entity (bidirectional). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| memory_assistant | Quick-start guide for using the mem0 memory server. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools have distinct purposes: add, get, update, delete, search, and entity management. However, delete_all_memories and delete_entities could be confused as both are bulk deletions, and get_memories vs search_memories may cause ambiguity despite different filtering/semantic approaches.
The majority follow a consistent verb_noun pattern (e.g., add_memory, delete_memory). Two tools (mcp_get_entity, mcp_search_graph) deviate with an 'mcp_' prefix, breaking the otherwise uniform style.
With 11 tools, the server covers core memory CRUD, search, and entity operations without being excessive. This count is well-scoped for a focused memory management MCP server.
The tool surface includes creation, retrieval (by ID, pagination, semantic search), update, and multiple deletion methods, plus entity listing and graph search. This provides comprehensive lifecycle coverage for agent memory management.