Hypabase MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/hypabase/hypabase
cd hypabase

Then follow the repository README for any remaining dependency or build steps before continuing.

2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add hypabase -- node "<FULL_PATH_TO_HYPABASE>/dist/index.js"

Replace <FULL_PATH_TO_HYPABASE>/dist/index.js with the actual folder you prepared in step 1.

README.md

A Python hypergraph library with provenance and SQLite persistence.

Hypabase

A Python hypergraph library with provenance and SQLite persistence.

Install

uv add hypabase

Quick example

from hypabase import Hypabase

hb = Hypabase("my.db")

# One edge connecting five entities
hb.edge(
    ["dr_smith", "patient_123", "aspirin", "headache", "mercy_hospital"],
    type="treatment",
    source="clinical_records",
    confidence=0.95,
)

# Query edges involving a node
hb.edges(containing=["patient_123"])

# Find paths between entities
hb.paths("dr_smith", "mercy_hospital")

Features

  • Hyperedges — an edge connects 2+ nodes in a single relationship
  • Provenance — every edge carries source and confidence
  • SQLite persistence — data persists to a local file automatically
  • O(1) vertex-set lookup — find edges by their exact node set
  • Namespace isolation.database("name") for scoped views in a single file
  • Provenance queries — filter by source and min_confidence, summarize with sources()
  • Memory MCP server — 7 tools for AI agent persistent memory (remember, recall, forget, consolidate, connections, who_knows_what, resolve_contradiction)
  • CLIhypabase init, hypabase node, hypabase edge, hypabase query

Provenance

Every edge carries source and confidence:

hb.edge(
    ["patient_123", "aspirin", "ibuprofen"],
    type="drug_interaction",
    source="clinical_decision_support_v3",
    confidence=0.92,
)

# Bulk provenance via context manager
with hb.context(source="schema_analysis", confidence=0.9):
    hb.edge(["a", "b"], type="fk")
    hb.edge(["b", "c"], type="fk")

# Query by provenance
hb.edges(source="clinical_decision_support_v3")
hb.edges(min_confidence=0.9)

# Overview of all sources
hb.sources()

Namespace isolation

Isolate data into separate namespaces within a single file:

hb = Hypabase("knowledge.db")

drugs = hb.database("drugs")
sessions = hb.database("sessions")

drugs.node("aspirin", type="drug")
sessions.node("s1", type="session")

drugs.nodes()     # -> [aspirin]
sessions.nodes()  # -> [s1]

What is a hypergraph?

In a regular graph, an edge connects exactly two nodes. In a hypergraph, a single edge — called a hyperedge — can connect any number of nodes at once.

Consider a medical event: Dr. Smith prescribes aspirin to Patient 123 for a headache at Mercy Hospital. In a traditional graph, you'd split this into binary edges — doctor-patient, doctor-drug, patient-hospital — and the fact that they belong to one event becomes an inference, not a structure. A hypergraph stores this natively: one edge connecting all five entities.

This matters because real-world relationships often involve more than two things. A paper has three or four authors, not one. A transaction involves a buyer, a seller, a product, and a payment method. A chemical reaction has reagents and products on both sides. Forcing these into pairs means the grouping becomes implicit.

Why provenance?

When relationships come from different sources — manual entry, LLM extraction, sensor data, clinical records — you need to know where each one came from and how much you trust it. Hypabase tracks this with two fields on every edge: source (a string identifying the origin) and confidence (a float from 0 to 1). You can filter queries by these fields and get a summary of all sources in your graph with hb.sources().

Where hypergraphs show up

  • Knowledge graphs — representing complex real-world relationships without decomposition
  • Agent memory — structured, queryable memory for AI agents that persists across sessions
  • Biomedical data — drug interactions, clinical events, molecular pathways
  • RAG pipelines — storing extracted relationships for retrieval-augmented generation
  • Supply chains, collaboration networks, and anywhere relationships involve more than two things

The broader idea has roots in AI research going back to OpenCog's AtomSpace, which uses hypergraph-like structures to represent knowledge for AGI. More recent work applies hypergraphs specifically to retrieval and reasoning:

Tools (7)

rememberStore a new fact or relationship in the hypergraph memory.
recallRetrieve edges or nodes based on search criteria.
forgetRemove specific information from the memory.
consolidatePerform maintenance or optimization on the hypergraph database.
connectionsFind paths or relationships between entities.
who_knows_whatQuery information based on provenance sources.
resolve_contradictionIdentify and resolve conflicting information in the graph.

Configuration

claude_desktop_config.json
{"mcpServers": {"hypabase": {"command": "python", "args": ["-m", "hypabase.mcp"]}}}

Try it

Remember that Dr. Smith prescribed aspirin to patient_123 for a headache, sourced from clinical_records with 0.95 confidence.
Recall all edges containing patient_123 to see their medical history.
Find the connections between dr_smith and mercy_hospital.
Show me all information sourced from clinical_decision_support_v3.
Resolve any contradictions between the drug interaction records for aspirin and ibuprofen.

Frequently Asked Questions

What are the key features of Hypabase?

Hyperedges connecting 2+ nodes in a single relationship. Provenance tracking with source and confidence fields for every edge. SQLite-backed persistence for local data storage. Namespace isolation for scoped views within a single database file. Built-in MCP server tools for AI agent persistent memory.

What can I use Hypabase for?

Building structured, queryable long-term memory for AI agents. Representing complex real-world relationships in knowledge graphs. Managing biomedical data like drug interactions and clinical events. Storing extracted relationships for RAG pipelines. Tracking provenance in supply chains and collaboration networks.

How do I install Hypabase?

Install Hypabase by running: uv add hypabase

What MCP clients work with Hypabase?

Hypabase works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Hypabase docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare