Hippocamp gives Claude a persistent memory that survives between sessions. It reads your project files, builds a structured knowledge graph, and answers questions — even in a fresh session with zero context.
We built a knowledge graph for a home renovation project (185 triples, 42 resources). Then we started a brand new Claude session with zero context — it only had access to the graph. No files, no conversation history.
It answered every question correctly: room dimensions, contractor quotes, budget totals, project phases, and open decisions.
Real test: the same question — “what’s needed for electricity?” — asked two ways. First, Claude scanned dozens of markdown files (38 tool calls, 3 minutes). Then it queried the Hippocamp graph (2 calls, 2 seconds).
Same answer. 15× faster. 30× less context consumed. The LLM remembered on its own: “from now on, always search Hippocamp first.”
Adapted from LongMemEval (ICLR 2025), ConvoMem (Salesforce), and LoCoMo (Snap Research). Measures R@5 — whether the correct resource appears in the top 5 search results. Keyword search only, no embeddings.
CRUD on individual triples. URIs, literals, blank nodes. Wildcard pattern matching. Language tags and XSD datatypes.
Full SPARQL 1.1 engine. Expressive graph queries, pattern matching, aggregations. Updates auto-detected.
Named graph lifecycle. TriG persistence. Namespace prefixes. Stats and clear.
Keyword + temporal search with confidence scoring. Ask “decisions last week” or “march 2026 notes”. Results ranked 0–100% with optional per-field explain.
Check graph compliance. Verify all resources have proper types and labels. Catch issues before they become problems.
Graph structure analysis. Find hub resources, connected clusters, cross-topic bridges. Live interactive visualization in the browser.
// Track tomato varieties in your garden { "action": "add", "graph": "garden:2026", "subject": "garden:TomatoBrandywine", "predicate": "rdf:type", "object": "hippo:Entity" } // Add planting details { "action": "add", "graph": "garden:2026", "subject": "garden:TomatoBrandywine", "predicate": "hippo:summary", "object": "Heirloom variety, planted March 15, bed #3", "object_type": "literal" } // Search across your garden { "query": "tomato planting", "scope": "garden:2026" }
// Track construction phases { "action": "add", "graph": "project:house", "subject": "house:FoundationPhase", "predicate": "rdf:type", "object": "hippo:Topic" } // Record a decision { "action": "add", "subject": "house:DecisionSlabType", "predicate": "hippo:summary", "object": "Chose post-tension slab over traditional — better for clay soil", "object_type": "literal" } // Find all decisions about foundation { "query": "foundation slab", "type": "hippo:Decision" }
// Find all entities in your garden graph { "query": "SELECT ?plant ?summary WHERE { ?plant a hippo:Entity ; hippo:summary ?summary . }", "graph": "garden:2026" } // Count items by type across all graphs { "query": "SELECT ?type (COUNT(?s) AS ?count) WHERE { ?s a ?type } GROUP BY ?type ORDER BY DESC(?count)" } // Insert data with SPARQL UPDATE { "query": "INSERT DATA { <garden:Basil> a <hippo:Entity> ; <hippo:summary> 'Companion plant for tomatoes' }" }
// Search any keyword { "query": "irrigation schedule" } // Temporal: "last week", "today", "march 2026" { "query": "decisions last week" } // Results with confidence scores (0-100%) // [{"uri":"...","confidence":100.0}, {"uri":"...","confidence":67.4}] // Explain mode: per-field score breakdown { "query": "budget overrun", "type": "hippo:Decision", "explain": true } // Scope to a specific project graph { "query": "invoice payment", "scope": "project:accounting", "limit": 5 }
# config.yaml store: default_file: "./data/default.trig" auto_load: true format: "trig" prefixes: garden: "http://example.org/garden/" house: "http://example.org/house/" --- # Claude Code / Desktop config { "mcpServers": { "hippocamp": { "command": "hippocamp", "args": ["--config", "/path/to/config.yaml"] } } }
Hooks and skills auto-install to .claude/ on first launch. Updated only when the binary is newer.
Multiple isolated graphs in one store. One graph per project, shared ontology.
Context-aware in-memory store with ACID transactions. Proper graph isolation.
Auto-load on startup, auto-save on shutdown. TriG preserves named graph boundaries.
W3C-conformant query engine. SELECT, ASK, CONSTRUCT, and all UPDATE operations.
Base + code layers. Extend with your own classes and properties — RDF is open-world.
“last week”, “yesterday”, “march 2026” — auto-parsed into date ranges. Smooth proximity scoring boosts recent results.
Every result ranked 0–100%. Top hit is 100%, rest proportional. LLMs instantly see which results matter.
Set explain: true to see per-field score breakdown. Which fields matched, temporal proximity, graph-traversal path.
Interactive force-directed graph in the browser. Nodes colored by type, sized by connections. Refreshes on every load — always current.
hippo:confidence, hippo:provenance, hippo:source — track where knowledge came from and how certain it is.