A Model Context Protocol (MCP) server for intelligent memory management with vector search capabilities
This server demonstrates solid tool design with consistent naming, complete parameter schemas, and reasonable descriptions. All 11 tools follow verb_noun conventions and have documented input schemas with enums where appropriate. However, several tools lack critical details: output schemas are entirely absent (making it impossible for LLMs to know what fields to expect), error handling guidance is missing, and some descriptions are generic or incomplete. The server addresses a focused domain (memory management) well but falls short of production-grade quality due to missing output documentation and weak error-recovery guidance. Scores trend B-/C+, good intent, incomplete execution.
Clean up old conversation memory files
Configure embedding provider for vector search functionality
Create a new memory entry with specified content and type
Delete a memory entry by ID
Get comprehensive statistics including memory, cache, index, and performance metrics
Get statistics about stored memories
List memories with smart filtering - combines current conversation and global memories for quick access
No output schemas documented for any tool. LLMs cannot know what fields to expect in responses, forcing them to guess field names and risk downstream failures when chaining tools or extracting data.
Missing error handling guidance across all tools. Descriptions do not explain what happens on error, what the agent should do next (retry, ask user, abandon), or how to correct invalid inputs. E.g., delete_memory has no guidance if memoryId not found; update_memory does not explain partial-update semantics.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 66 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 47 | - | v1 |
Advanced query interface for finding specific memories with detailed filtering
Read memories with optional filtering
Set the storage path for memory files
Update an existing memory entry
Destructive/sensitive tools (delete_memory, cleanup_old_conversations, configure_embedding) lack confirmation mechanisms. delete_memory is irreversible but has no confirm-before-execute pattern or dry-run. cleanup_old_conversations silently deletes based on age logic that is not fully specified.
Ambiguous semantics in set_storage_path, list_memories sort='relevance', cleanup_old_conversations maxAge logic, and query_memories metadata filter. Descriptions do not specify: file path format rules, how 'relevance' is computed, date field used for 'old', or metadata query syntax.
configure_embedding accepts apiKey as a plain parameter. Credentials must never be exposed in tool parameters, they end up in logs and traces. Use server-side secret injection via environment variables or vault.
list_memories and query_memories are near-duplicates with overlapping functionality. LLMs waste reasoning cycles choosing between them. Consolidate into one canonical tool or clearly document when to use each (e.g., 'use query_memories for complex filters, list_memories for quick access').