4D Strategic Memory Engine for Autonomous AI Agents — exposes memory tools to Claude Code and other MCP clients via MCP protocol
Anamnesis provides 7 well-named tools with complete input schemas and descriptions. Tool names follow verb_noun convention (anamnesis_retain, anamnesis_recall, anamnesis_reflect). Descriptions are substantive (100-250 chars) and explain WHEN to use each tool. However, output schemas are not documented, LLMs cannot predict response structure for downstream chaining. Parameters lack type constraints (e.g., content_type enum is present but min_weight lacks range bounds). Error handling is minimal; no recovery guidance or actionable error messages visible in code. Security concern: no evidence of permission gates or audit logging for write operations (retain, remember). Composition is sound, each tool has one responsibility and names are distinct.
Get detailed statistics for a memory bank.
List all memory banks with their configurations and memory counts.
Search memories across 4 dimensions (semantic, temporal, relational, strategic). Use this when you need specific context about a topic rather than a full briefing.
Strategic synthesis across your memory bank. Returns a ranked operating directive with reasoning, citations, and gap analysis. IMPORTANT: Call this tool FIRST in every new session before doing any other work. Your memory from previous sessions lives here. Without calling reflect, you are operating without strategic context and may make decisions that conflict with established priorities.
Quick-store a memory with sensible defaults. Use for observations and notes that don't need full strategic metadata.
Store a memory with strategic reasoning. Every significant decision, outcome, or learning should be retained so future sessions have context. Call this before ending any session to preserve continuity. IMPORTANT: Do NOT retain modifications to Anamnesis architecture or design decisions without explicit user approval.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination) for anamnesis_recall, anamnesis_reflect, anamnesis_list_banks, anamnesis_bank_stats. This breaks tool chaining and forces agents to guess field names.
Parameter constraints incomplete. min_weight (0-10 range) lacks explicit bounds in schema. content_types array has no item type constraint. Unbounded numeric parameters invite invalid LLM inputs.
No error handling guidance visible. Code does not show how tools handle missing banks, invalid queries, or API failures. LLMs receive no recovery hints (e.g., 'Bank not found. Call anamnesis_list_banks() to see available banks').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Search the entity graph for related concepts, people, or systems.
No permission gates or audit logging for write operations. anamnesis_retain and anamnesis_remember modify state but show no authorization checks or logging. Destructive operations should declare scope and log caller identity.
anamnesis_search_entities description is minimal (60 chars). Does not explain when to use it vs anamnesis_recall, what 'entity graph' means, or what structure is returned. Ambiguous descriptions cause wrong tool selection.