Model Context Protocol server for memU AI memory framework. Provides standardized memory management capabilities for AI applications including conversation memorization, memory retrieval, semantic search, and memory management.
The memU server defines 5 tools with schemas and descriptions present, but has significant gaps in clarity, parameter validation, and error handling guidance. Tool naming is reasonable (verb_noun pattern), and schemas exist for all tools, but descriptions are often generic and lack the specificity required to guide LLM selection and parameter handling. Parameters have types but descriptions frequently lack actionable constraints (ranges, enums, format details). Output schemas are not documented. Error handling provides no recovery guidance. The server averages to a 'D' grade, functional but with major usability gaps that would lead to LLM errors and failed tool invocations.
Get statistics about stored memories
Update or delete specific memories
Store a conversation in memory for future reference
Retrieve relevant memories based on context
Search memories using semantic similarity
retrieve_memory vs search_memory distinction unclear. Both tools search for memories using different algorithms, but tool names and descriptions do not explain when to use each. LLMs will guess wrong or call both sequentially, wasting context and latency.
manage_memory combines update and delete into a single tool with an enum action parameter. This violates single-responsibility principle. LLMs should not reason about 'which action', split into update_memory and delete_memory tools so agents can compose them independently.
No output schemas documented for any tool. LLMs cannot infer what fields will be returned, preventing downstream tool chaining and forcing discovery detours. Example: does retrieve_memory return [{ id, content, timestamp }] or { results: [...], total_count, next_cursor }?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 51 | - | v1 |
Parameter descriptions lack actionable constraints. Examples: 'conversation' param has no mention of max length or expected format; 'query' params lack syntax guidance; 'filters' object in search_memory does not document required vs optional sub-fields; 'new_content' in manage_memory is not conditionally required (only needed for 'update' action).
No error handling guidance. All tools lack recovery-oriented error messages. Example: if search_memory returns no results, should the LLM try retrieve_memory? If manage_memory fails with 'memory not found', should it suggest listing available memories first? Absence of this guidance forces agents to guess or fail silently.
Destructive tool manage_memory lacks confirmation or dry-run pattern. An agent could accidentally delete important memories. No idempotent hint or undo capability documented.
Tool descriptions are too short (35-48 chars) and lack context on when to use each tool vs similar ones. Baseline for A+ tools is 50-200 chars. Example: 'Store a conversation in memory for future reference' does not explain prerequisites, data retention policy, or conflict resolution if the same conversation is stored twice.
Parameter 'user_name' and 'agent_name' in memorize_conversation have no descriptions. LLMs cannot infer what these parameters control (display names? profile names? something else?).
search_memory uses 'search_query' while retrieve_memory uses 'query' for the same semantic purpose. Inconsistent naming risks LLM confusion (pattern:name-clarity). Use a single canonical name across both tools.
No pagination guidance. If retrieve_memory or search_memory return many results, there is no mechanism for agents to request next page or offset. Result limits are capped at 50 but no indication whether this is enforced or advisory.