Skip to content

Kappa Graph — κ(G)

Kappa Graph extracts concepts from documents, tracks how well-supported each concept is across your corpus, and preserves contradictions rather than resolving them.

The system stores concepts and the typed relationships between them — IMPLIES, CONTRADICTS, ENABLES. Traditional retrieval finds similar text chunks; Kappa Graph stores the graph of relationships between ideas and computes confidence from evidence. Queries traverse these edges. Every result carries a grounding score and a provenance chain to source text or images.

What You Can Do

Ingest documents — PDFs, markdown, images, plain text. Concepts, relationships, and evidence are extracted automatically via an LLM extraction pipeline.

Search by meaning — Vector similarity finds concepts related to your query even when exact terms differ.

Explore connections — Traverse paths between concepts. See how ideas relate across sources.

Check confidence — Every concept carries a grounding score computed from supporting versus contradicting evidence. Know what is well-evidenced and what is contested.

Trace sources — Every concept links to the original text or image that generated it.

Query via AI — The MCP server lets Claude and other assistants use the graph as persistent, grounded memory.

Navigate via filesystem — The FUSE driver mounts the graph as a filesystem. Use ls, grep, and find on semantic space.

Architecture

flowchart TD
    DOCS([("External Documents<br>PDF / MD / Images / Text")])
    API(["FastAPI<br>Extraction Pipeline and REST API"])
    LLM(["LLM Extraction<br>Concept and Relationship Mining"])
    PG[("PostgreSQL 18 + AGE 1.7.0<br>Graph Store — ACID Source of Truth")]
    GA(["graph_accel<br>Rust Extension — In-Memory BFS and Shortest Path"])
    S3[("Garage S3<br>Document Asset Storage")]
    WEB(["React + D3<br>Web Visualization"])
    CLI(["kg CLI / MCP / FUSE<br>Client Interfaces"])

    DOCS -->|ingest| API
    API -->|chunk + extract| LLM
    LLM -->|upsert concepts and edges| PG
    PG -->|epoch-based read model| GA
    API -->|store assets| S3
    WEB -->|REST API| API
    CLI -->|REST / MCP| API

    style DOCS fill:#c2410c,color:#ffffff,stroke:#9a3412
    style API  fill:#6d28d9,color:#ffffff,stroke:#4c1d95
    style LLM  fill:#0d9488,color:#ffffff,stroke:#0f766e
    style PG   fill:#16a34a,color:#ffffff,stroke:#15803d
    style GA   fill:#0d9488,color:#ffffff,stroke:#0f766e
    style S3   fill:#16a34a,color:#ffffff,stroke:#15803d
    style WEB  fill:#64748b,color:#ffffff,stroke:#475569
    style CLI  fill:#64748b,color:#ffffff,stroke:#475569

PostgreSQL 18 + Apache AGE 1.7.0 — Graph database with native openCypher queries. ACID transactions, schema integrity, vector search via pgvector.

graph_accel — Rust PostgreSQL extension that maintains an adjacency structure in shared memory for instant BFS and shortest-path traversal. AGE handles writes; graph_accel handles reads. Epoch-based invalidation keeps the read model current. (ADR-201)

FastAPI — Extraction pipeline and REST API.

React + D3 — Interactive graph visualization and exploration.

kg CLI — Command-line interface and MCP server for AI assistant integration. Requires Node.js 20.12.0 or later.

Garage — S3-compatible object storage for document assets.

Ollama — Optional local inference for air-gapped operation.

Where to Go Next

If you want to… Start here
Install and run Kappa Graph Self-Host: Quick Start
Ingest your first document Get Started: Your First Graph
Connect an AI assistant via MCP Get Started: Connect via MCP
Understand how grounding works Explanation: Grounding and Epistemic Confidence
Look up a CLI command or API endpoint Reference
Configure AI providers or embeddings How-To: Configure AI Providers
Understand the design decisions Architecture Decisions

License

Apache License 2.0 — use, modify, and distribute freely. Patent grant included.