Inillucent
A highly performant agentic database.
An embedded database, using a SQL syntax you're familiar with, and the power of vector embeddings for semantic search. A perfect solution for agentic systems.
inillucent.com · Documentation · Install · Client libraries
What's in the box?
- Complete SQLite dialect implementation. (Upcoming Postgres dialect option)
- Highly performant database written in Rust.
- 400% faster than SQLite overall.[^1]
- 3000% faster on reads by key.[^1]
- 300% faster than Postgres on keyword search.[^3]
- 180% faster than Postgres + pgvector for semantic search.[^3]
- Full featured CLI and MCP toolset.
- Battle tested log and recovery.
- Comprehensive vector embedding support for semantic search.
- Single db file that supports multi process access.
Documentation
The full guide is at inillucent.com/docs. The pages in this repository are indexed in docs/README.md. Good places to start:
| Product overview | what Inillucent is and who it is for |
| Getting started | install, the four programs, your first database |
| SQL support | what runs, and where it differs from SQLite |
| Vector search | vector columns, HNSW indexes, keyword search and hybrid ranking |
| Embeddings | running the embedding model inside your process |
| Migrating | moving in from SQLite, PostgreSQL or MySQL |
| Performance | every speed, processor and memory figure against SQLite |
| Retrieval quality | search quality and speed against PostgreSQL with pgvector |
| AGENTS.md | the starting point for an AI agent using or changing this repository |
Install
Windows
irm https://inillucent.com/downloads/install.ps1 | iex
macOS and Linux
|
Both scripts check the download against the published SHA256SUMS, install into your home
directory, and need no administrator rights.
Package managers
| Homebrew | brew install black-rainbow-labs/inillucent/inillucent |
| npm | npm install -g inillucent |
| pip | pip install inillucent |
| Go | go install github.com/Black-Rainbow-Labs/Inillucent/packages/go/cmd/inillucent-install@latest && inillucent-install |
| Composer | composer require black-rainbow-labs/inillucent && vendor/bin/inillucent-install |
| cargo | cargo install inillucent-cli |
A signed macOS installer, .deb and .rpm packages, and plain archives for every platform are on
inillucent.com and the
GitHub release. To check a
download by hand:
Your first database
Every install gives you four programs:
inillucent |
the command line, with --output json on every command |
inillucent-shell |
an interactive shell that works like sqlite3 |
inillucent-mcp |
an MCP server, so an AI agent can use a database with no code written |
inillucent-migrate |
builds a database from a SQLite file, or from a running PostgreSQL or MySQL server |
What it does
Your SQLite, only faster
Your SQLite queries, schemas and sqlite3 scripts run as they are: joins, recursive CTEs, window
functions, triggers, foreign keys, upserts, RETURNING, JSON, FTS5 and more. Under that SQL is a
storage engine written from scratch in Rust, which runs 400% faster than SQLite overall and 3000%
faster on reads by key,[^1] using 50% less processor time.[^2]
SQL support
Search by meaning and by keyword
Store embeddings in a VECTOR(768) column, index them with HNSW, and order results by
vector_distance_cos. Keyword search with BM25 sits in the same file and can be combined with vector
search in one query, so an agent can find "how does the release process work" and PROJ-1932 with
the same call. It is 180% faster than Postgres with pgvector for semantic search, and 300% better at
finding identifiers than Postgres full text search.[^3]
Vector search
A search that can come back empty
Ask most search engines a question your data can't answer, and they return their ten closest matches anyway. An agent will write a confident answer from them. Inillucent gives every result a calibrated confidence score, so a search with no good answer returns nothing. On 200 questions with no answer, Postgres with pgvector returned a result every time. Inillucent returned one for 0.5% of them. Retrieval quality
The embedding model runs inside your process
inillucent setup-embeddings all downloads the embedding model once, and after that
embed('some text') works in any SQL statement. There is no embedding server to deploy or keep
running.
Embeddings
One file, many processes
Tables, the vector index and the keyword index all live in one .rdb file, and they commit and roll
back together. Several processes can open that file at the same time. Writes take turns: one writer
holds the file at a time, and the others wait up to PRAGMA busy_timeout.
Architecture in one page
Bring your data with you
inillucent migrate copies a SQLite file, a PostgreSQL database or a MySQL database into Inillucent.
It never writes to the source, and it checks every table by row count and by checksum before it
finishes.
Migrating
A first search
examples/rag-agent/ holds a ready made database of Greek
philosophy: 80 Wikipedia articles split into 2,661 passages, each with its embedding. Install the
embedding model and ask it a question:
For AI agents
To give an agent a database over MCP:
Add --readonly to refuse every statement that changes data, and --root DIR to keep every file
the agent opens inside one directory.
agent-skills/ has a skill for each common job: installing, querying,
searching, migrating, embedding Inillucent in an application, and troubleshooting. Each is a plain
SKILL.md that Claude Code can load from ~/.claude/skills, and any other agent can read as
Markdown.
Client libraries
From Node, the npm package runs queries and returns rows as objects:
import from 'inillucent';
const rows = await ;
From Python, the pip package runs the engine inside your process:
=
The Go and PHP packages offer the same kind of query call. Every language binds to the same C library, which ships in each
archive with its header. The driver documents it for anyone writing a new
binding. Client libraries for TypeScript, Rust, Java and C# are being built in
inillucent-clients and are not on a
package registry yet.
Licence
MIT. See LICENSE.
[^1]: Measured against SQLite 3.53.4, built from the official source and run as a separate program over the same data, with the same SQL, the same durability setting and the same cache budget. Thirty paired rounds, four consecutive runs, at 100,000 rows on Windows x64, on 23 September 2026, with both programs pinned to the same eight performance cores. Overall: 397% faster, the weighted geometric mean across ten families of work, with a 95% lower bound of 362%. Reads by key: 2,885% faster. Every result is hashed and compared with SQLite's before its timing counts. Six of the thirty individual workloads are slower than SQLite; Performance names each one.
[^2]: Processor time was 555 ms against 1,082 ms for SQLite on the same plan at 100,000 rows, which is 50% less.
[^3]: Graded on 20 September 2026 against PostgreSQL with pgvector over a 185,078 passage corpus at 768 dimensions, with both engines loaded with the same vectors and given the same embedded query. Semantic search: a median of 0.85 ms against 2.32 ms for the faster of two pgvector configurations, 174% faster. Keyword search on identifiers: mean reciprocal rank 0.546 against 0.136 for PostgreSQL full text search, 302% better. Across 17 graded measurements, Inillucent was better on 15 and worse on none. Retrieval quality has the full table.