Kremis
Deterministic knowledge graph MCP server. Single binary, no LLM in the loop.
Kremis
A deterministic knowledge graph MCP server. Local, single binary, no LLM in the loop.
A minimal, graph-based cognitive substrate in Rust.
Records, associates, retrieves — but never invents.
Alpha — Functional and tested. Breaking changes may still occur before v1.0.
Why Kremis
| Problem | How Kremis addresses it |
|---|---|
| Hallucination | Every result traces back to a real ingested signal. Missing data returns explicit "not found" — never fabricated |
| Opacity | Fully inspectable graph state. No hidden layers, no black box |
| Lack of grounding | Zero pre-loaded knowledge. All structure emerges from real signals, not assumptions |
| Non-determinism | Same input, same output. No randomness, no floating-point arithmetic in core |
| Data loss | ACID transactions via redb embedded database. Crash-safe by design |
Design Philosophy — why these constraints exist.
Features
- Deterministic graph engine — Pure Rust, no async in core, no floating-point. Same input always produces the same output
- CLI + HTTP API + MCP bridge — Three interfaces to the same engine: terminal, REST, and AI assistants
- BLAKE3 hashing — Cryptographic hash of the full graph state for integrity verification at any point
- Canonical export (KREX) — Deterministic binary snapshot for provenance, audit trails, and reproducibility
- Zero baked-in knowledge — Kremis starts empty. Every node comes from a real signal
- ACID persistence — Default
redbbackend with crash-safe transactions
Use Cases
AI agent memory via MCP
Give Claude, Cursor, or any MCP-compatible assistant a verifiable memory layer. Kremis stores facts as graph nodes — the agent queries them, and every answer traces back to a real data point. No embeddings, no probabilistic retrieval.
LLM fact-checking
Ingest your data, let an LLM generate claims, then validate each claim against the graph. Kremis labels every statement as [FACT] or [NOT IN GRAPH] — no confidence scores, no ambiguity.
Provenance and audit trail
Export the full graph as a deterministic binary snapshot, compute its BLAKE3 hash, and verify integrity at any point. Every node links to the signal that created it. Useful for compliance workflows where you need to prove what data was present and when.
Honesty Demo
Ingest a few facts, let an LLM generate claims, and Kremis validates each one:
[FACT] Alice is an engineer. ← Kremis: "engineer"
[FACT] Alice works on the Kremis project. ← Kremis: "Kremis"
[FACT] Alice knows Bob. ← Kremis: "Bob"
[NOT IN GRAPH] Alice holds a PhD from MIT. ← Kremis: None
[NOT IN GRAPH] Alice previously worked at DeepMind. ← Kremis: None
[NOT IN GRAPH] Alice manages a team of 8. ← Kremis: None
Confirmed by graph: 3/6
Not in graph: 3/6
Three facts grounded. Three fabricated. No ambiguity.
python examples/demo_honesty.py # mock LLM (no external deps)
python examples/demo_honesty.py --ollama # real LLM via Ollama
Quick Start
Requires Rust 1.89+ and Cargo.
git clone https://github.com/TyKolt/kremis.git
cd kremis
cargo build --release
cargo test --workspace
cargo run -p kremis -- init # initialize database
cargo run -p kremis -- ingest -f examples/sample_signals.json -t json # ingest sample data
cargo run -p kremis -- server # start HTTP server
In a second terminal:
curl http://localhost:8080/health
curl -X POST http://localhost:8080/query \
-H "Content-Type: application/json" \
-d '{"type":"lookup","entity_id":1}'
Note: CLI commands and the HTTP server cannot run simultaneously (
redbholds an exclusive lock). Stop the server before using CLI commands.
Docker
docker build -t kremis .
# MCP server (default) — pipe MCP stdio JSON-RPC; suitable for any MCP client
docker run -i --rm kremis
# HTTP API only — override the entrypoint
docker run -d -p 8080:8080 -v kremis-data:/data \
--entrypoint kremis kremis server -H 0.0.0.0 -D /data/kremis.db
Architecture
| Component | Description |
|---|---|
| kremis-core | Deterministic graph engine (pure Rust, no async) |
| apps/kremis | HTTP server + CLI (tokio, axum, clap) |
| apps/kremis-mcp | MCP server bridge for AI assistants (rmcp, stdio) |
See the architecture docs for internals: data flow, storage backends, algorithms, export formats.
Documentation
Full reference at kremis.mintlify.app:
| Topic | Link |
|---|---|
| Introduction | kremis.mintlify.app/introduction |
| Installation | kremis.mintlify.app/installation |
| Quick Start | kremis.mintlify.app/quickstart |
| Configuration | kremis.mintlify.app/configuration |
| CLI Reference | kremis.mintlify.app/cli/overview |
| API Reference | kremis.mintlify.app/api/overview |
| MCP Server | kremis.mintlify.app/mcp/overview |
| Philosophy | kremis.mintlify.app/philosophy |
Testing
cargo test --workspace
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --all -- --check
Benchmarks
Auto-generated on CI runners — 2026-05-12.
| Operation | Linux | Windows | macOS |
|---|---|---|---|
| Node insertion (100K) | 22.68 ms | 18.96 ms | 22.01 ms |
| Signal ingestion (10K batch) | 7.62 ms | 8.45 ms | 10.65 ms |
| Graph traversal (depth 50, 1K nodes) | 2.7 µs | 3.5 µs | 5.3 µs |
| Strongest path (1K nodes) | 8.0 µs | 9.0 µs | 16.7 µs |
| Canonical export (1K nodes) | 73.0 µs | 75.7 µs | 83.0 µs |
| Canonical import (10K nodes) | 3.23 ms | 3.56 ms | 5.06 ms |
| Redb node insertion (1K) | 363.54 ms | 13.1 s | 1.1 s |
License
The brand assets in docs/logo/ (logo, icon, favicon) are proprietary and not covered by the Apache 2.0 license. See docs/logo/LICENSE.
Contributing
See CONTRIBUTING.md for guidelines. The architecture is still evolving — open an issue before submitting a PR.
Acknowledgments
This project was developed with AI assistance.
Keep it minimal. Keep it deterministic. Keep it grounded. Keep it honest.
관련 서버
CData Connect Cloud
Query and manage data through CData Connect Cloud, providing a unified interface to various data sources.
MCP-MySQL-Ops
You are working with the MCP MySQL Operations Server, a powerful tool that provides comprehensive MySQL database monitoring and analysis capabilities through natural language queries. This server offers 19 specialized tools for database administration, performance monitoring, and system analysis.
Project Synapse MCP Server
Transforms raw text into interconnected knowledge graphs and generates insights using a Neo4j database.
Bankless Onchain
Interact with blockchain data using the Bankless API.
Synechron Text2SQL MCP Server
Provides natural language access to relational databases using advanced language models, supporting multiple database types.
CData MCP Server for Microsoft SQL Server
An MCP server for Microsoft SQL Server by CData. Requires a separately licensed CData JDBC Driver.
Chroma MCP Server
An MCP server for the Chroma embedding database, providing persistent, searchable working memory for AI-assisted development with features like automated context recall and codebase indexing.
Unity Catalog MCP Server
An MCP server that allows LLM agents to seamlessly execute functions within Unity Catalog.
Redis Cloud
Interact with the Redis Cloud API to manage your Redis databases.
Gunsnation MCP
MCP server that gives assistants real-time access to the Gunsnation firearms catalog