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. |
Capabilities
Features and capabilities supported by this server
| 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_memory | Store a new memory. Requires at least one of user_id, agent_id, or run_id. |
| search_memories | Semantic search across existing memories. |
| get_memories | Page through memories using filters instead of search. |
| get_memory | Fetch a single memory by its ID. |
| update_memory | Overwrite an existing memory's text. Re-embeds and re-indexes. |
| delete_memory | Delete a single memory. |
| delete_all_memories | Bulk-delete all memories in the given scope. Requires at least one filter. |
| list_entities | 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_entities | Delete an entity and cascade-delete all its memories. |
| mcp_search_graph | Search entities by name/id substring matching in Neo4j knowledge graph. |
| mcp_get_entity | 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 | |