Model Context Protocol server for Procedural Long-Term Memory system. Provides tools for personality tracking, mood detection, memory management, epistemic reasoning, and memory analytics.
This server has significant definition quality gaps. While 11 tools are registered with descriptions and input schemas, most descriptions are under 100 characters and lack actionable context for LLM selection. Parameter descriptions are present but generic. No output schemas are documented. Error handling is absent, tools return raw results with no recovery guidance. The tool set mixes analytics (tool_analytics.py), memory operations (process_message, get_memory), and system health checks without clear composition or chaining support. Tool names are reasonable (verb_noun pattern) but descriptions fail to explain WHEN to use each tool or what downstream operations they enable.
Flush the accumulated tool sequence for a session. Records the sequence of tools called during a session.
Retrieve user's memory. Returns substantiated facts and optionally unsubstantiated shadow buffer.
Identify unused, error-prone, and co-occurring tools. Analyzes tool usage patterns to detect redundancy and consolidation opportunities.
Find frequent tool call subsequences. Extracts bigrams and trigrams from tool sequences to identify common patterns.
Get system statistics. Returns counts of messages processed, total atoms, and substantiated/unsubstantiated atom counts.
Per-tool usage statistics over the last N days. Returns call counts, average duration, success rates, last used timestamp, and average result size for each tool.
No output schemas documented. Tools return results but LLMs cannot predict field structure, forcing runtime parsing and increasing hallucination risk.
Descriptions lack WHEN/WHY context. 'Identify unused, error-prone, and co-occurring tools' does not explain when an LLM should call this vs get_usage_stats, or what downstream actions it enables.
No error handling or recovery guidance. Tools return raw results or fail silently. No indication of retryability, user-fixable errors, or next steps on failure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Privacy-safe hash of tool arguments. Creates SHA256 hash of arguments for logging without exposing sensitive data.
Health check endpoint. Verifies that the pipeline and storage systems are initialized and operational.
Log a single tool invocation. Called from call_tool wrapper. Records tool name, session ID, duration, success status, error type, argument hash, and result size.
Process a user message through the memory pipeline. Extracts facts, validates with jury, resolves conflicts, and stores in memory.
Suggest tool consolidation opportunities based on usage patterns, co-occurrence, and error rates.
Tool composition unclear. process_message, get_memory, and log_invocation operate on different data models (messages, memory atoms, invocations) with no documented chaining. LLM must infer relationships.
hash_args and get_stats have descriptions under 40 characters, violating the 10 - 1024 character guideline. Insufficient context for LLM selection.