OpenMemory MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENMEMORY_URL | Yes | The URL of the OpenMemory API (e.g., http://richard-XPS-15-9560.local:8892) | |
| OPENMEMORY_API_KEY | No | API key if your OpenMemory API requires authentication |
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 |
|---|---|
| search_memoriesA | Keyword (BM25) search over all memories: best for exact terms such as hostnames, ports, file paths, names. Works regardless of embedding provider; no side effects. query: words to look for. sector: optional filter (episodic, semantic, procedural, emotional, reflective). require_all: if true, every query word must appear. |
| semantic_searchA | Meaning-based search via the backend's /memory/query (embeddings + salience + recency + links). Good for questions phrased in your own words. Only meaningful when health_check shows a real embedding provider (openai, gemini, ollama); with 'synthetic' results are random. The backend marks every returned memory as seen and raises its salience slightly, so it also acts as reinforcement. |
| add_memoryA | Store a new memory. content: one self-contained fact, with absolute dates. sector: optional override of the automatic classification (episodic, semantic, procedural, emotional, reflective). tags/metadata optional; a metadata 'type' such as system_info, preference, decision, troubleshooting helps later filtering. |
| list_memoriesB | List memories newest first, with pagination. sector optionally filters by primary sector. |
| get_memoryB | Fetch one memory by id, with full metadata. |
| reinforce_memoryB | Raise a memory's salience (importance) by boost (0..1, default 0.1) and mark it as seen now. |
| delete_memoryA | Permanently delete a memory and its vectors/links. Prefer adding a corrected memory over deleting. |
| health_checkA | Backend health, embedding provider in use, and per-sector counts/average salience. |
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 8 tools
search_memories and semantic_search are clearly differentiated by keyword vs. meaning-based, though reinforce_memory overlaps with semantic_search's side effect of marking memories as seen and raising salience. The other tools (add, list, get, delete, health_check) are distinct.
All tools follow a consistent snake_case verb_noun pattern (search_memories, add_memory, list_memories, get_memory, delete_memory, reinforce_memory, health_check). health_check is a minor deviation but still clearly named.
Eight tools form a well-scoped set for a memory management server, covering search, CRUD, and health checks without bloat.
Core lifecycle (create, read, list, delete, search) and utility (health_check, reinforce) are covered. Missing an explicit update_memory tool, though the description suggests adding a corrected memory as a workaround.