A Model Context Protocol server that provides persistent memory across all AI platforms (Antigravity, Cursor, VS Code Copilot, Gemini, ChatGPT, etc.). Supports 4-tier memory architecture (short-term, semantic, episodic, procedural) with hybrid vector + full-text search, auto-consolidation, and conflict resolution.
Mixed quality across 29 tools. Strengths: comprehensive tool naming with action verbs (save_, search_, get_, list_, update_, recall, etc.); detailed parameter descriptions with context; thoughtful design for multi-tier memory architecture. Weaknesses: output schemas are entirely undocumented, no structured response types defined for any tool; parameter schemas lack explicit type constraints (enums, ranges, patterns); error handling is implicit rather than explicit; security concerns around data access without permission gates; no tool annotations (readOnlyHint, destructiveHint, idempotentHint). The server is conceptually mature but lacks production-grade specification rigor.
Automatically extract user preferences from conversation text.
Remove expired short-term memories and orphaned records.
Compress large context blocks (long transcripts, file dumps, logs) into summaries stored in long-term memory.
Consolidate short-term memories and expired entries into long-term storage.
Count all memories by type (conversations, knowledge, short-term, code snippets).
Apply decay to all memory importance scores to age out stale knowledge.
Retrieve a specific conversation with all its messages.
No output schemas documented for any of the 29 tools. Agents cannot plan downstream calls or extract required fields without trial and error. This is a critical gap for tool composition.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 70 | 2026-07-28+ | v2 |
Retrieve a project's metadata and context.
Retrieve recent conversations, optionally filtered by platform.
Load active session context (short-term memory for the current platform).
Retrieve version history and change log for a knowledge entry.
List all knowledge entries with optional filtering by category or tags.
List cross-platform memory conflicts awaiting resolution.
List all registered projects.
Get memory system health metrics (counts, storage, integrity).
Hybrid search across all 4 memory tiers (short-term, semantic, episodic, procedural) ranked by similarity, relevance, recency, and importance.
Reflect on older memories and compress them into summaries.
Resolve a cross-platform memory conflict using one of 4 strategies.
Rollback a knowledge entry to a previous version.
Save reusable code patterns or configurations (procedural memory).
Save a conversation to persistent memory (episodic memory).
Save a knowledge entity to persistent semantic memory.
Save a knowledge entity with automatic deduplication and cross-platform conflict detection.
Register or update a project to scope memory by codebase.
Save transient session context that auto-expires (short-term memory).
Search procedural memory for reusable code patterns.
Search semantic memory by query, category, or tags.
Search across all stored conversations and knowledge using semantic similarity and full-text search.
Update an existing knowledge entry with versioning and conflict tracking.
No enums, ranges, or constraints on parameters. E.g., 'outcome' in save_conversation should be an enum ('success'|'failure'|'neutral'|'partial'); 'importance' should have min/max (0.0-1.0). This invites LLM hallucination.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present in any tool. Irreversible operations like cleanup_expired_memories and rollback_knowledge lack destructive warnings. This prevents agents from applying proper caution.
No explicit error handling or recovery guidance. Tools do not document what errors are retryable, user-fixable, or fatal. E.g., search_memory does not specify what happens if the query returns 0 results or if the database is temporarily unavailable.
No pagination defaults documented. list_all_knowledge, list_projects, and list_conflicts accept 'limit' and 'offset' but lack guidance on safe defaults. Large result sets could blow context windows.
No permission gates or scope declarations. All tools appear to grant read/write access without checking user authority or agent privileges. E.g., any agent can call cleanup_expired_memories or rollback_knowledge. Critical for multi-tenant systems.
Tool naming uses compound verbs for some tools (save_knowledge_smart, auto_extract_preferences, reflect_and_compress, resolve_conflict) when simpler action verbs would be clearer. 'extract_preferences' is more concise than 'auto_extract_preferences'; 'compress_memories' vs 'reflect_and_compress'.
Parameter descriptions lack actionable constraints. 'search_memory' query is described as 'Search query text' without guidance on length, format, or what kind of queries are most effective. This invites inefficient or malformed searches.
memory_health, count_memories accept no input parameters but return unspecified schemas. Unknown return structure makes it hard for agents to act on health data or counts.
save_conversation, save_short_term_memory, and save_code_snippet do not document what they return on success. Do they return an ID for chaining? A confirmation? This breaks the composition pattern.