A memory management system for users that stores, retrieves, searches, and manages memories with priority-based eviction policies
Memory MCP has clear, well-structured tool definitions with consistent naming (verb_noun pattern) and comprehensive descriptions. All 7 tools have input schemas with Zod validation and type definitions. However, output schemas are not formally documented, responses are text-only without structured field definitions. Parameter descriptions are present but some lack constraint details (e.g., no length limits on title/content). Error handling is minimal; tools return generic success/failure messages without recovery guidance. The update_memory tool has excellent instructional descriptions but no validation that content actually preserves original data. Missing: pagination for list_memory_titles, structured output schemas, and actionable error messages.
Delete a memory for a user
Run memory eviction sweep: archive P2 memories older than 30 days and P1 older than 90 days (based on last access time). P0 memories are never evicted.
List all memory titles for discovery. Call this FIRST in new conversations to see what memories exist before querying specific ones.
Read memories for a user, optionally filtered by query
Search archived (evicted) memories. Use when current memories don't have the answer - old memories may be in the archive.
Update an existing memory for a user. IMPORTANT: Preserve the original content and only add or modify specific parts. Do NOT summarize or condense existing content. If adding new information, append it to the existing content. If correcting information, only change the specific incorrect parts.
Output schemas not documented. Tools return text-only responses without structured field definitions. LLMs cannot reliably extract data for downstream tool calls or understand response structure.
Error handling lacks recovery guidance. Tools return 'Memory not found' or 'Memory updated successfully' without actionable next steps. LLMs cannot self-correct or know whether to retry.
Parameter constraints missing. title and content parameters lack length limits, character restrictions, or format guidance. LLMs may pass excessively long or invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 79 | 2026-07-28+ | v2 |
Write a memory for a user
list_memory_titles returns unpaginated results. No limit parameter or pagination support. Large memory collections could exhaust context window.
update_memory instructs preservation of content but provides no validation. Tool cannot enforce that original content is preserved, relies entirely on LLM compliance.