Kremis is a minimal graph engine for "grounded AI," written in Rust. Its positioning is to record, relate, and retrieve, but never to invent content. The project is currently in the Alpha stage; its features are usable and tested, but breaking changes may still occur before v1.0.
Purpose
Kremis aims to provide a deterministic, verifiable knowledge graph substrate for AI systems. It does not rely on LLMs or embedding models; all nodes come from real signals, making it suitable for scenarios that require traceability, auditability, and reproducibility.
Main Capabilities
- Deterministic graph engine: A pure Rust implementation; the core has no async and no floating-point operations, so the same input always produces the same output.
- Three interfaces: CLI, HTTP API, and MCP bridge, aimed at terminals, REST, and AI assistants respectively.
- BLAKE3 hashing: Cryptographic hashing of the complete graph state, allowing integrity to be verified at any point in time.
- Canonical export (KREX): Deterministic binary snapshots for provenance, audit trails, and reproducibility.
- Verifiable query certificates (KVQC): POST /certify returns reproducible certificates as portable proof of the existence or non-existence of a fact.
- Zero built-in knowledge: Kremis starts empty; every node comes from real signals.
- ACID persistence: Uses the redb backend by default, supporting crash-safe transactions.
How to Use
Kremis requires Rust 1.89+ and Cargo. It provides CLI commands and an HTTP server, but the two cannot run at the same time because redb holds an exclusive lock; the server must be stopped before using the CLI. The MCP bridge allows MCP-compatible assistants such as Claude and Cursor to connect and gain a verifiable memory layer.
Use Cases
- AI agent memory: Provide a verifiable memory layer for AI assistants via MCP; facts are stored as graph nodes, and every answer can be traced back to real data points, with no embeddings and no probabilistic retrieval.
- LLM fact-checking: After importing data, have the LLM generate claims, then check them one by one against the graph. Each response carries a grounding field (fact, inference, or unknown), and POST /certify can turn unknown into a certificate bound to the graph state's BLAKE3 hash.
- Provenance and audit trails: Export the complete graph as a deterministic binary snapshot, compute its BLAKE3 hash, and verify integrity at any point in time. Every node is linked to the signal that created it, making it suitable for compliance workflows that need to prove when data existed and what it contained.
Limitations
- The project is in the Alpha stage, and the API may change.
- The CLI and HTTP server cannot run at the same time.
- Brand assets (logos, icons, favicons in docs/logo/) are proprietary and are not covered by the Apache 2.0 license.
- Details such as model performance and scale effects mentioned in the benchmarks are experimental results self-reported by the project; for specific data, please refer to benchmark/README.md in the repository.
- Commercial information such as fees, pricing, and platform support is not currently provided in the materials.