A production-ready Model Context Protocol (MCP) server for semantic memory management
This MCP memory server demonstrates solid definition quality with clear, verb-based tool names and comprehensive input schemas. However, it suffers from significant gaps in parameter descriptions and output schema documentation. All 10 tools are explicitly registered with JSON Schema inputs and descriptions, but parameter-level documentation is sparse, most properties lack descriptions explaining what they control. Output schemas are not documented at all, forcing LLMs to guess what fields to expect. Description quality is strong at the tool level (averaging 180+ chars with keywords and use-case guidance) but incomplete at the parameter level. Error handling is not visible in the schema definitions. The tool composition is excellent, search-first guidance, batch operations, graph traversal, and consolidation, but the lack of parameter descriptions and output documentation limits LLM reasoning clarity.
BATCH BULK MULTIPLE IMPORT - Store multiple memories at once for efficiency. Keywords: batch, bulk, multiple, import, mass store, save many, store all, bulk import, batch save
BATCH DELETE BULK REMOVE - Delete multiple memories at once. Keywords: batch delete, bulk remove, mass delete, delete many, remove all, clear multiple
CONSOLIDATE MERGE CLUSTER DEDUPLICATE - Group and merge similar memories to reduce redundancy. Keywords: consolidate, merge, cluster, deduplicate, group, combine, compress, organize
DELETE REMOVE FORGET ERASE - Delete a specific memory by ID. Keywords: delete, remove, forget, erase, clear, purge, discard, eliminate, destroy memory, remove fact, forget information
GRAPH RELATED CONNECTED NETWORK - Search memories and traverse relationships to find connected information. Keywords: graph, related, connected, network, relationships, linked, associated, traverse connections
LIST BROWSE SHOW ALL - List all stored memories chronologically. Use when search returns nothing or to explore what is stored. Keywords: list, browse, show, display, view all, get all, see memories, show history, list facts, display knowledge, browse storage, what is stored, show everything, recent memories
Output schemas not documented. No tool returns structured documentation. LLMs cannot determine what fields to expect from memory_search, memory_store, or batch operations, forcing them to guess about field names, types, and availability of pagination info or chaining IDs.
Parameter descriptions almost entirely missing. Properties like 'content', 'type', 'tags', 'confidence', 'parent_id', 'relation_type', 'importance_score', 'user_context', 'relate_to', 'depth', 'threshold', 'min_cluster_size' are defined in schema but lack descriptions. LLMs cannot infer parameter meaning from names alone.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 39 | - | v1 |
SEARCH FIND RECALL RETRIEVE QUERY LOOKUP - Search for stored information using natural language. USE THIS FIRST before any memory operation. Keywords: search, find, recall, retrieve, query, lookup, remember, fetch, get, access, locate, discover, check memory, find information, recall fact, retrieve data, search knowledge, what do I know, user preferences, user name, previous conversation
STATS STATUS INFO METRICS - Get database statistics, counts, and health metrics. Keywords: stats, status, info, metrics, statistics, counts, summary, overview, database info
STORE SAVE REMEMBER CREATE - Store new information, facts, preferences, conversations, or knowledge. Use after searching to avoid duplicates. Keywords: save, remember, store, record, memorize, learn, retain, persist, create memory, add knowledge, save fact, store preference, remember conversation
UPDATE MODIFY EDIT CHANGE - Update existing memory metadata, tags, confidence, or importance. Keywords: update, modify, edit, change, revise, amend, alter, adjust, correct, fix, improve memory, update fact, change information
No error handling guidance in definitions. Tools like memory_delete (DESTRUCTIVE), memory_update (WRITE), and memory_batch_delete lack error handling documentation. Rubric requires error responses to tell the LLM what to do next and classify errors as retryable, user-fixable, or fatal.
No confirmation/dry-run pattern for destructive operations. memory_delete and memory_batch_delete are irreversible but lack a confirm_before_execute pattern or dry-run mode. Agents make mistakes, this pattern prevents catastrophic errors.
Parameter 'relate_to' in memory_store is an array of objects with nested properties but those nested properties (memory_id, relation_type, strength) lack descriptions. LLMs cannot understand the structure or constraints of complex nested parameters without explicit documentation.
No documented pagination or chaining IDs in output. memory_search and memory_list accept 'limit' and 'offset' but no output schema is documented, LLM does not know if results include 'total_count', 'has_next', 'next_cursor', or how to chain results into downstream tools.