Living, local-first memory for AI agents built on hypervectors (VSA): surprise-gated writing, sleep consolidation, active forgetting, and compositional role queries. MCP server, CPU-only, no embeddings required.
Hipercampo has 19 well-named tools with clear, domain-specific descriptions (avg ~120 chars). All tools have input schemas with typed parameters and descriptions. However, output schemas are not documented, LLMs cannot predict return structure for chaining. Error handling is minimal; no recovery guidance or actionable error messages. Parameter descriptions lack constraints (ranges, enums, formats). No tool annotations (readOnlyHint, destructiveHint). Composition is strong (each tool has one responsibility), but missing pagination/limits on recall operations that could return large result sets.
Confirms a proposed bridge: it becomes a real association and now propagates.
Asks for a FIELD of a fact given the others. 'role' is the one you want; fill in what you know. E.g.: role='subject', predicate='bites', object='man'. Answers what's currently true; days_ago>0 asks what was true then. Abstains if it doesn't know.
What's needed this turn: recalls relevant memories, then returns them with a summary and a suggestion for what to do next. Combines recall + summary + next-step suggestion.
Proposes BRIDGES between memories with a shared associate. By default only proposes: hypotheses don't contaminate the memory. With dry_run=False they're left as 'proposed' links that don't propagate yet; confirm them with hc_accept_bridge.
Forgets a memory: makes it dormant (reversible). It won't be recalled unless explicitly woken. Unlike purge, the data stays in the database.
Stores a DECISION or OUTCOME: something the agent decided or learned. Importance defaults high (0.8) because decisions matter. Confidence is how sure the agent is.
Output schemas not documented. LLMs cannot predict return structure (fields, types, pagination) for downstream tool chaining. hc_recall, hc_muse, hc_assist, hc_stats, hc_tools lack documented return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without explicit hints. hc_purge, hc_forget, hc_dream, hc_accept_bridge should be marked destructive/reversible.
Parameter descriptions lack constraints. 'importance' and 'confidence' accept 0.0-1.0 but no min/max specified. 'k' and 'max_scan' unbounded. LLMs may pass invalid values (negative k, absurd max_scan).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
Moves a memory to a different namespace/context. Useful for organizing memories across projects or profiles.
INSPIRING recall: indirect connections and latent memories that can resurface. For brainstorming and analogies, not for looking up a fact (that's hc_recall).
Pauses memory recording: no new memories are written or reinforced (reading still works). Useful for sensitive contexts.
Permanently deletes a memory from the database (irreversible). Unlike forget, this physically removes the data.
Retrieves what's relevant. Returns [] if it doesn't know anything. max_scan bounds CPU/RAM; nav/nav_auto turn on the navigable graph.
Discards a proposed bridge: it won't be proposed again or propagate.
Stores something. Only records what's novel. importance>=0.8 protects from forgetting; confidence weighs into ranking.
Stores a structured FACT (compositional VSA). Fill in at least 2 fields. If it updates a current one (same subject and predicate), the previous one closes and stays as history.
Resumes memory recording after being paused.
Returns aggregate statistics: how many memories, how many are dormant, how many are consolidated, etc. Useful for monitoring and debugging.
Lists all available tools (the ones not announced up front). Registers them and notifies the client via MCP tools/list_changed notification.
Updates a fact that changed. Identify it by memory_id (best) or target. The old one isn't deleted: it stays as history.
Wakes a dormant memory: moves it back to active. Useful when something that was forgotten becomes relevant again.
No error handling guidance. Tools return empty lists or silent failures (e.g., 'Returns [] if it doesn't know anything') without actionable recovery steps. LLMs cannot distinguish 'no results' from 'error' or know what to try next.
Pagination missing on list-like tools. hc_recall, hc_muse, hc_assist accept 'k' but no offset/cursor or total_count. Large result sets could exhaust context window without pagination support.