mcp-openmemory
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEM0_API_KEY | No | Admin API key, sent as X-API-Key | |
| MEM0_TIMEOUT | No | HTTP timeout (s) for reads (search/list) | 10 |
| MEM0_MEM0_URL | No | Base URL of the mem0 REST server | http://mem0:8000 |
| MEM0_SERVER_HOST | No | Bind host for the SSE server | 0.0.0.0 |
| MEM0_SERVER_PORT | No | Bind port for the SSE server | 8000 |
| MEM0_SEARCH_LIMIT | No | Default number of memories per search | 5 |
| MEM0_WRITE_TIMEOUT | No | HTTP timeout (s) for writes (add runs a server-side LLM extraction) | 60 |
| MEM0_DEFAULT_USER_ID | No | Bucket used when no user_id is passed | coder-agent |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_memoryA | Search long-term memory for entries relevant to a query. Call this at the start of a task (or whenever prior context would help) to recall what was learned in earlier sessions. The memory bucket is determined automatically from your authenticated identity; you cannot and need not specify whose memory to read. |
| add_memoryA | Store a new memory (a fact, preference, or exchange) in long-term memory. Use this automatically when you learn something durable about the user or project, or on explicit request ("remember that ..."). mem0 runs a server-side extraction to decide what is worth keeping, so not every call creates a stored entry. The memory bucket is determined automatically from your authenticated identity; you cannot and need not specify whose memory to write. |
| list_memoriesA | List all stored memories for your authenticated identity's bucket. Returns: A list of memory objects with their ids and remembered text. |
| delete_memoryA | Delete a single memory by its id. Note: mem0 deletes by id without a user filter, so ids should only be
obtained from this identity's own |
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 4 tools
Each tool has a clearly distinct purpose: search, add, list, and delete memory. There is no overlap or ambiguity between them, and the descriptions reinforce their unique roles.
All tool names follow a consistent verb_noun pattern (search_memory, add_memory, list_memories, delete_memory). The plural in list_memories is a natural fit for listing multiple items, similar to standard API conventions.
Four tools is well-scoped for a memory management server, covering the essential operations without unnecessary bloat. It sits comfortably within the ideal 3-15 tool range.
The server provides create, read (search and list), and delete operations, but lacks an update operation. This is a minor gap, as memories can be deleted and re-added, but it slightly limits full lifecycle coverage.