MCP adapter for Claude and other AI tools that connects to an Open Memory Protocol server to save, recall, extract, and compress memories across conversations
The OMP MCP adapter defines 6 tools with complete input schemas and descriptions. Naming follows verb_noun convention (omp_remember, omp_recall, omp_forget, omp_list, omp_extract, omp_compress). Descriptions are present and contextual (avg ~150 chars), explaining WHAT and WHEN. However, output schemas are not documented in the visible code, the tool definitions show only inputSchema, not what fields are returned. Parameter descriptions are adequate but lack format constraints (e.g., no regex for memory IDs, no min/max for limits). Error handling is basic: the ompFetch wrapper throws generic errors without recovery guidance. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels (WRITE, DESTRUCTIVE, READ_ONLY). Composition is sound, each tool has one responsibility and tools chain naturally (recall → remember, list → forget). Naming is clear and consistent across the suite.
Compress a long conversation into a single episodic memory summary. Use at the end of long sessions to preserve what was discussed. Requires OMP_AI_API_KEY to be set on the server.
Extract and save memories from a conversation transcript using AI. Automatically identifies facts, preferences, and context worth remembering. Requires OMP_AI_API_KEY to be set on the server.
Delete a specific memory by ID from the Open Memory Protocol server.
List recent memories from the Open Memory Protocol server.
Search memories from the Open Memory Protocol server. Use this at the start of conversations to retrieve relevant context about the user.
Save a memory to the Open Memory Protocol server. Use this to persist important facts, preferences, or context about the user that should be available across sessions and tools.
Output schemas not documented. Tools return MemoryResult, ListOrSearchResult, ExtractResult, CompressResult (visible in TypeScript interfaces) but these are not exposed in the tool definitions sent to the LLM. LLMs cannot plan downstream calls or extract fields without knowing the response structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels declared in the spec. omp_forget is DESTRUCTIVE, omp_remember and omp_extract are WRITE, others are READ_ONLY. Annotations guide agent safety and planning.
Error handling is generic. ompFetch throws 'OMP error {status}' or message from server without recovery guidance. LLMs cannot determine if an error is retryable, user-fixable, or fatal. No actionable error messages like 'Memory not found. Try omp_recall() to search first.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Parameter constraints are missing. 'limit' parameters lack min/max (e.g., limit could be 0 or 999999). Memory 'id' parameter in omp_forget has no format hint (should document 'starts with mem_'). 'type' enums are present but 'tags' and 'namespace' lack format guidance.
omp_extract and omp_compress require OMP_AI_API_KEY environment variable but do not document this dependency in tool descriptions. LLMs will attempt to call these tools without knowing they may fail if the key is not set.