mem0-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEM0_API_KEY | Yes | API key for mem0 | |
| MEM0_API_URL | Yes | URL of the mem0 API, e.g. http://your-mem0-host:8888 | |
| MEM0_DEFAULT_USER_ID | No | Fallback user ID when no user_id, agent_id, or run_id is provided | |
| MEM0_DEFAULT_AGENT_ID | No | Default agent ID added to memories on add_memory when not provided |
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. Provide at least one of user_id, agent_id, or run_id to scope it; if none are given, falls back to MEM0_DEFAULT_USER_ID. Tagged with MEM0_DEFAULT_AGENT_ID unless agent_id is given explicitly. |
| search_memoriesB | Semantic search over stored memories, scoped to a user_id/agent_id/run_id. |
| list_memoriesA | List stored memories for a given user_id/agent_id/run_id. |
| get_memoryA | Retrieve a single memory by its id. |
| update_memoryA | Update an existing memory's text and/or metadata. Confirm the memory_id with the user first if it wasn't just returned by another tool call. |
| delete_memoryA | Delete a single memory by its id. Confirm the memory_id with the user first if it wasn't just returned by another tool call. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: list, get, add, search, update, and delete memories. There is no functional overlap; even get vs list are differentiated by retrieval method (by ID vs. enumeration).
All tool names follow a consistent verb_noun pattern (list_, get_, add_, search_, update_, delete_). Minor singular/plural variation (memory vs memories) is natural and does not affect predictability.
With 6 tools, the server is well-scoped for a memory management system. Each tool covers a necessary operation without redundancy or bloat.
The tool set provides full CRUD coverage (add, get, update, delete) plus list and semantic search. There are no missing lifecycle operations for the stated purpose.