MCP server for Claude Code

Your AI remembers
everything about
your project

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.

two commands to install — zero config needed
brew brew install tggo/tap/hippocamp
Works for any domain
🏗
Construction
phases, materials, inspections
🌱
Gardening
plants, schedules, soil data
📈
Sales
leads, pipelines, forecasts
📊
Accounting
ledgers, reports, audits
🍳
Recipes
ingredients, methods, pairings
01

See it in action

claude — ~/my-renovation

A fresh Claude session answered 5/5 questions correctly

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.

5/5 correct answers from graph alone
Living room area + room count
42 m², 8 rooms
Flooring supplier + price
OakWood Co., $28/sq.ft
Decided vs pending decisions
5 decided + 2 pending
Total expenses to date
$47,200
Completion date + remaining phases
Oct 2026, 3 phases left

15× faster than file scanning

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.”

2 sec vs 3 min — same answer
File scanning
Hippocamp
Time
~3 min (38 tool calls)
~2 sec (2 queries)
Tokens used
60,500 tokens
~2,000 tokens
Result quality
Complete but verbose
Structured, concise
Context consumed
Large text blocks
Compact JSON

Memory retrieval benchmarks

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.

MemEval
90.5%
Extraction: 100% Reasoning: 100% Abstention: 33% 21 queries across 3 categories
ConvoMem
94.1%
User facts: 100% Temporal: 100% Implicit: 100% 17 queries across 5 categories
LoCoMo
100%
Single-hop: 100% Multi-hop: 100% Temporal: 100% Adversarial: 100%
*
These benchmarks test hippocamp's retrieval layer directly using adapted question sets, not the full ingestion-to-answer pipeline tested by the original benchmarks. Results are not directly comparable to MemPalace, Mem0, or Supermemory scores, but demonstrate strong keyword-based retrieval without embeddings. Known weakness: abstention (keyword search cannot distinguish "no relevant result" from partial keyword matches).
02

Six tools

triple
add remove list

CRUD on individual triples. URIs, literals, blank nodes. Wildcard pattern matching. Language tags and XSD datatypes.

sparql
SELECT ASK CONSTRUCT UPDATE

Full SPARQL 1.1 engine. Expressive graph queries, pattern matching, aggregations. Updates auto-detected.

graph
create delete list dump load prefix_*

Named graph lifecycle. TriG persistence. Namespace prefixes. Stats and clear.

search
keyword temporal confidence explain

Keyword + temporal search with confidence scoring. Ask “decisions last week” or “march 2026 notes”. Results ranked 0–100% with optional per-field explain.

validate
types labels rationale

Check graph compliance. Verify all resources have proper types and labels. Catch issues before they become problems.

analyze
god_nodes components surprising visualize

Graph structure analysis. Find hub resources, connected clusters, cross-topic bridges. Live interactive visualization in the browser.

03

Examples

// 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' }"
}
# 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"]
    }
  }
}
04

Built-in ontology

Base layer — any domain
hippo:Topicsubject areas, themes
hippo:Entitypeople, orgs, products, plants
hippo:Notefree-form observations
hippo:Sourcearticles, papers, URLs, books
hippo:Decisiondecisions with rationale
hippo:Questionopen questions
hippo:Taglightweight labels
Code layer — software projects
hippo:Projecttop-level project
hippo:Modulepackage / module
hippo:Filesource file
hippo:Functionfunction / method
hippo:Structstruct / type
hippo:Interfaceinterface definition
hippo:Dependencyexternal dependency
05

Get started

Homebrew (recommended)
1
Install
brew install tggo/tap/hippocamp
2
Add to Claude Code
hippocamp install
3
Done — hooks auto-install on first run
ask Claude: "analyze this project and build a knowledge graph"
Direct download
macOS Apple Silicon
hippocamp_darwin_arm64.tar.gz
macOS Intel
hippocamp_darwin_amd64.tar.gz
Linux / Windows
→ github.com/tggo/hippocamp/releases
06

Under the hood

Auto-setup

Hooks and skills auto-install to .claude/ on first launch. Updated only when the binary is newer.

Named graphs

Multiple isolated graphs in one store. One graph per project, shared ontology.

BadgerDB

Context-aware in-memory store with ACID transactions. Proper graph isolation.

TriG persistence

Auto-load on startup, auto-save on shutdown. TriG preserves named graph boundaries.

SPARQL 1.1

W3C-conformant query engine. SELECT, ASK, CONSTRUCT, and all UPDATE operations.

Open-world ontology

Base + code layers. Extend with your own classes and properties — RDF is open-world.

Temporal search

“last week”, “yesterday”, “march 2026” — auto-parsed into date ranges. Smooth proximity scoring boosts recent results.

Confidence scoring

Every result ranked 0–100%. Top hit is 100%, rest proportional. LLMs instantly see which results matter.

Explain mode

Set explain: true to see per-field score breakdown. Which fields matched, temporal proximity, graph-traversal path.

Live visualization

Interactive force-directed graph in the browser. Nodes colored by type, sized by connections. Refreshes on every load — always current.

Provenance tracking

hippo:confidence, hippo:provenance, hippo:source — track where knowledge came from and how certain it is.