Universal memory runtime for AI agents — episodic, semantic, and procedural memory with 8-signal fusion retrieval
Pensyve MCP Server has 6 tools with explicit schema definitions and descriptions. Naming follows verb_noun convention (episode_start, episode_end, remember, recall, consolidate, stats), which is good. However, descriptions are generally brief (10-60 chars), parameter descriptions lack detail about format/validation, and output schemas are not documented. The tools are coherent around a memory system domain, but lack the depth expected of production-grade agent tools. No tool annotations (readOnlyHint/destructiveHint) despite clear semantic differences between read and write operations. Error handling and recovery guidance are not evident in the visible code.
Trigger memory consolidation and analysis
End the current episode and trigger consolidation
Start a new episode in the memory system
Retrieve memories based on query
Store a fact or observation in memory
Get memory statistics and system information
Tool descriptions are too brief (10-60 chars). LLM cannot determine when/why to select tool without fuller context. Pattern requires 10-1024 chars with WHAT, WHEN, and prerequisites.
No output schemas documented. Agents cannot plan downstream calls or extract needed fields from responses without knowing return structure.
No tool annotations present. episode_start, episode_end, remember, consolidate are clearly destructive/write operations; recall and stats are read-only. Tool should declare readOnlyHint and destructiveHint annotations for LLM planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Parameter descriptions lack validation detail. 'memory_type' enum is declared, but 'tags' array items lack type specification. 'limit' parameter has no bounds or format constraints documented.
No error handling or recovery guidance visible. Tools do not document what happens on failure (e.g., episode_id not found, memory store exhausted, query timeout) or how agent should retry.
Tool 'stats' has empty input schema {}. While technically valid, description is too generic ('Get memory statistics and system information') to help LLM decide when to call it.
No idempotency guarantees documented. Agents may retry tools like 'episode_start' on transient failures, without idempotency markers, duplicates could occur.