MCP server for storing and retrieving memories
Server has 5 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-50 chars, mostly short), and input schemas are present with Zod validation. However, descriptions lack depth, they state WHAT but not WHEN or WHY to use each tool. Parameter descriptions are minimal (e.g., 'ID of the memory to delete' for delete-memory). No output schemas documented. Error handling returns generic text responses without recovery guidance. No pagination for get-all-memories or search-memories despite potentially large result sets. No tool annotations (readOnlyHint, destructiveHint). Naming is clear and verb-first, but composition could be tighter.
Delete a memory by ID
Retrieve all stored memories
Get a summary of all used tags
Search for stored memories
Store a new memory
No output schemas documented. LLMs cannot predict response structure (fields, types, nesting). Responses are free-text formatted strings, not structured objects.
Descriptions are too short (10-50 chars) and lack context. They state WHAT but not WHEN to use or any prerequisites. E.g., 'Store a new memory' does not explain when to call this vs search-memories.
No pagination support. get-all-memories and search-memories return all results as formatted text. Large memory stores will blow context windows and degrade LLM reasoning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
No tool annotations. delete-memory is destructive but lacks destructiveHint. search-memories and get-all-memories are read-only but lack readOnlyHint. Agents cannot infer safety properties.
Error handling returns generic text ('Failed to store memory: <error>') without recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal.