immutlex immutlex
Viewer fsgdbadd-on codinoadd-on usageguide connectguide techdive
immutlex knowledge-graph mark
immutlex
Cognitive database for AI knowledge

Your AI pilot worked.
Then it met real company knowledge.

> A knowledge viewer for you. A cognitive connective engine for your AI’s memory.

immutlex is a Rust storage engine for AI knowledge. It writes immutable document revisions to S3-compatible object storage or Azure Data Lake Storage Gen2, tracks ingest in a write-ahead log, and builds BM25, HNSW, and graph indexes for agents to query over MCP.

One native Immutlex binary bundles local inference models. Run an all-in-one node with object storage in your environment, or deploy across Kubernetes and air-gapped networks.

Rust storage engine WAL + immutable revisions BM25 + HNSW local inference models MCP + CLI
The production gap

The model passed the demo. Can its knowledge survive production?

Prototype knowledge

Documents live in folders, prompts, and separate services.

one enormous prompt
Which file has the approved policy?
Did that source change last week?
Can I run this inside our network?
# answers depend on glue, copies, and model calls
  • Source, derived facts, and current answers can drift apart.
  • Every additional service adds an operating boundary.
With immutlex

Query the source-backed knowledge store.

the question, grounded
What does the approved spec say?
# retrieve exact terms with BM25
# retrieve related meaning with HNSW
# return source-linked evidence to the agent
  • Original documents remain the record; indexes are derived and rebuildable.
  • Your approved model reasons over retrieved source material at query time.
See it work

Watch a source become searchable knowledge

Follow the data path: ingest source material, build searchable indexes, retrieve evidence, then inspect the graph and revision history. The demo uses a multimodal corpus of text, code, diagrams, and a whiteboard photo. The desktop shows the same vault while the agent searches it over MCP.

Ingest source documents and files. Immutlex preserves the source and creates versioned Markdown knowledge documents, then chunks and indexes them for retrieval. Agents query the results through MCP, CLI, or the client SDK.

agent <-> immutlex
Agent: "What connects transformers to attention?"
immutlex: Search (fused BM25 + HNSW):
  1. transformer-architecture - "based entirely on self-attention"
  2. attention-is-all-you-need - "replacing recurrence with attention"
  Graph: transformer-architecture <-> self-attention (1 hop)
  PageRank: 0.50 / 0.50 - Community: 2 clusters (Louvain)
The cognitive database

Keep the source trail as retrieval changes with the corpus.

RAG describes a retrieval pattern; it does not make retrieval results fixed. As documents arrive or change, the indexed corpus changes, and so can BM25 rankings, HNSW neighbors, graph context, and a query's top results. Immutlex preserves source material as immutable revisions and records ingest in a write-ahead log. The audit trail starts with the source and revision behind retrieved evidence; current retrieval relationships remain derived from the current corpus.

01 / RECORD

Original source

Raw documents and versioned Markdown records stay in the configured object store. Edits create a new revision.

02 / RECOVERY

Write-ahead log

Ingest stages are recorded so interrupted work can be audited and replayed from its source.

03 / RETRIEVAL

BM25 + HNSW

Tantivy finds exact terms. HNSW finds semantically related chunks. Reciprocal Rank Fusion combines their rankings.

04 / CONTEXT

Graph + MCP

MCP lets compatible agents call search, document, and graph tools. Authored wiki links stay distinct from derived retrieval neighbors.

Local models bundled with the native binary

The release binary is about 432 MB with model assets compiled in. Embedding and OCR do not require a hosted model API. Generation remains with the model the customer has approved.

Draw the deployment you will operate

The object store is part of the architecture. If you place it outside the host or VPC, show that boundary on the diagram.

Ingest and local inference

Bring the files your team already has.

Immutlex ingests Markdown, PDFs, spreadsheets, CSVs, images, and UTF-8 source files. Bundled local models create text, code, and image embeddings; local OCR extracts text from images. The resulting records and indexes are written through the same storage engine and its configured object-store boundary.

One binary, local inference

The application binary includes the supported extractors and local model assets. OCR, image embeddings, and text or code embeddings do not require hosted model APIs. Immutlex writes to the configured object store: that can be RustFS on the same host, a service inside your VPC, an S3-compatible endpoint, or Azure Data Lake Storage Gen2.

the extract step
Ingest path: parse + OCR + embed + index
# local model inference inside the binary

Storage: immutable source + revisions
# local object store or configured endpoint
# retrieval indexes remain derived state
What it ingests

Documents and data

PDF .xlsx .xls .csv .md .txt

Images - OCR'd and embedded for visual search

.png .jpg .jpeg .gif .webp .bmp

Code and config - any UTF-8 text

.rs .py .ts .go .sql .json .yaml .toml .sh

Any text-shaped file lands, even with no extension - so a new language or config format needs zero changes. Plus any web page, cleaned to markdown by the open-source defuddle-rs add-on below.

Wiki links, retrieval edges, and MCP

Keep authored knowledge distinct from search signals.

Wiki links preserve the relationships a person or agent actually authored. Retrieval adds useful candidate relationships without rewriting those source links. Each edge type answers a different question, and each has a different durability and analytics role.

attention-is-all-you-need.md
---
id: attention-is-all-you-need
title: Attention Is All You Need
tags: [transformers, attention, nlp]
links: [transformer-architecture, self-attention]
---

The Transformer replaces recurrence with
pure [[self-attention]], the core idea behind the
[[transformer-architecture]] that followed.
Four edge types, four signals

Explicit links and backlinks preserve the authored graph. They are stored with document revisions and form the topology used by graph analytics such as PageRank and community detection.

Lexical, semantic, and implicit edges are derived from current retrieval results. Their rankings can change as the corpus changes; they are not written back as authored facts. Promote a useful candidate to an explicit [[wikilink]] and Immutlex records that choice as a new document revision.

query the graph
Agent via MCP: graph op="neighbors" doc="attention-is-all-you-need"
out: self-attention, transformer-architecture
in:  attention-survey, encoder-decoder
Agent via MCP: query mode="path" from="encoder-decoder" to="self-attention"
encoder-decoder -> attention-is-all-you-need -> self-attention
MCP
One protocol for the agent connection. Immutlex exposes search, document, and graph operations through the Model Context Protocol over stdio and HTTP/SSE. MCP-compatible hosts can call the same engine without a custom integration for each operation. The CLI and Python SDK provide other ways to use it.
The immutlex Editor workspace rendering hybrid-search.md - YAML frontmatter, the rendered markdown body with a code block and an inline wikilink, the document browser on the left, and Preview / Editor / Split view modes with Save and Push
The Editor workspace - inspect and revise Markdown while immutlex preserves each committed version.
See your own knowledge base

Your whole corpus, as a graph you can fly through.

Every document is a node; every [[wikilink]] is an edge. As your knowledge base grows, the graph fills in - this is a real vault with tens of thousands of docs rendered live in the browser. Pilot users get a hosted viewer to explore their own.

A real vault rendered live - as docs ingest, nodes and their links fill in.
immutlex web viewer showing a knowledge-base graph of tens of thousands of documents
The same corpus in the browser - the hosted viewer scales to tens of thousands of docs you can search and fly through in 3D.
>
It's a thin client - your knowledge base never leaves your machine. The hosted viewer at viewer.immutlex.dev talks to the daemon running on your own hardware; nothing is uploaded, and the same build serves every user. It's an installable PWA - add it to your dock and open your graph in one click.
>
More than a graph - seven workspaces over one vault. The same build the desktop and browser share opens on a working-memory Home briefing, then lets you fly the 3D Graph, read and write markdown in the Editor, filter your corpus by frontmatter in Bases, run MCP calls by hand in Tools, watch ingest and index health in Analytics, and drive operator tasks in Admin - every surface reading the same immutable vault, live.
Prove it on your workflow

Use your corpus. Measure your baseline.

Bring one hard question
Your data
Choose a question your current AI workflow gets wrong, cannot source, or cannot answer within your deployment boundary.
Run the same model and question
Source trail
Compare the baseline with BM25 + HNSW retrieval, graph context, and source-linked evidence from the relevant document revisions.
Agree on the measures
Your criteria
Measure source accuracy, retrieval coverage, token use, latency, and the services your team must operate.

Pilot usage has shown per-answer model costs fall from about $0.40 to $0.04—roughly 90%—on the measured workflow. Try your own corpus and model to see what changes.

The database beneath retrieval

Retrieval changes. Keep the source and revision trail.

RAG is a retrieval pattern. Its context depends on the indexed corpus: add or revise documents and BM25 rankings, HNSW neighbors, and the resulting top-K may change. Immutlex keeps source documents as immutable revisions, records ingest in a WAL, and rebuilds retrieval indexes from the durable record. That gives the team a source and revision trail for the evidence an agent receives, while keeping changing retrieval relationships identified as derived data.

01

The graph keeps authored links and retrieval signals distinct

Explicit wiki links are relationships a person or agent chose to record. Lexical edges come from BM25 co-retrieval; semantic edges come from HNSW neighbors; implicit edges mark agreement between the two retrieval signals. The first kind is preserved with the document revision and used for graph analytics. The retrieval edges can change as the corpus changes, so they remain visible as derived signals rather than being silently promoted into authored truth.

02

Choose where each part runs

The single-host setup runs one native Immutlex application binary with object storage in the customer's environment; RustFS can run on that host. The same engine can use external S3-compatible storage or Azure Data Lake Storage Gen2. Kubernetes deployments can separate writer, worker, and read roles and use a PostgreSQL-backed control plane. Local embedding and OCR models run without hosted model APIs.

where the work happens
Single host: agent -> Immutlex -> in-VPC object store
# retrieval and local inference stay in the environment

Kubernetes: writer / worker / read roles
# shared object store; control-plane services as configured
03

Source revisions are durable; indexes are derived

Markdown is an open view of document content. Immutlex adds storage and recovery semantics around it:

  • Original source material and versioned Markdown records live in S3-compatible object storage or Azure Data Lake Storage Gen2.
  • Edits create new immutable revisions, preserving document history for inspection and time travel.
  • BM25, HNSW, and graph retrieval state are derived from the record and rebuildable; the WAL tracks ingest and recovery.

The current top-K is a view of the current corpus. The source and revision trail lets the team inspect what changed as that view evolves.

04

Context lands even when the agent forgets to ask

Tools only help when the agent calls them. On a long session it stops - it drifts along on whatever is left in the window, and your knowledge base may as well not exist. immutlex closes that gap without asking the agent to behave: start it under the shell wrapper and a bounded context anchor is spliced into the agent's own input every Nth turn. The agent reads it as if you typed it, so there is no tool call to skip and no MCP support required on its side. Any agent CLI works, and the block is capped in characters and tokens so it cannot eat your context budget.

any agent, no integration
$ immutlex-shell -- claude
$ immutlex-shell -- codex
$ immutlex-shell -- copilot
# context arrives on its own, every Nth turn.
What your agent can ask

MCP tools across 13 categories

Everything your agent can ask of its own knowledge base. Open a category to see what it covers.

Ingest & Validate

Ingest markdown, PDFs, CSVs, images, and any web page. Validate frontmatter and wikilinks before they land.

Query & Retrieve

Fused BM25 + semantic search, heading and backlink search, document rehydration with provenance.

Graph Analytics

Neighbors, shortest path, PageRank, community detection, orphan detection over the wiki-link graph.

Context & Budget

Auto-inject ranked chunks under a token budget. Extractive, diversity-aware summarization.

Relevance & Temporal

Decay, mark-noise, and revalidate - so stale knowledge fades instead of being deleted.

Documents & Revisions

Read any document or chunk, list and audit the corpus, and reconcile contradictions across revisions.

Sessions & Decisions

Wrap up a session, record decisions, promote episodic notes, and synthesize a topic across sources.

Vaults

Create, switch, rename, archive, and report on isolated vaults - each with its own indexes and graph.

Custom Tools

Install and run your own tools in a sandbox: read-only vault access, no host environment, no network.

WAL & Compaction

A write-ahead log with durable stages and compaction - immutable and auditable by design.

Infrastructure

Choose bundled local RustFS, an S3-compatible object store, or Azure Data Lake Storage Gen2. Local or cloud, your choice.

System

Health, status, and license info - role, storage reachability, pending jobs, generations.

Admin

Operator surface: vault overview, ingest jobs, worker nodes, leases, index generations.

Or skip the transport entirely

Call immutlex in-process from Python

The same engine, as a Python object

No MCP transport, no separate server to dial. The wheel is the daemon's Rust core (UniFFI), in your process.

ground a prompt in three lines
from immutlex import ImmutlexClient, InjectMode

client = ImmutlexClient.open("immutlex.toml", "default")
ctx = client.inject_substrate(prompt, max_chars=4096,
                              mode=InjectMode.RECALL)
# prepend ctx to your model call - every tool
# the daemon exposes is a typed method here
Ships for every platform
  • Per-platform wheels for Linux, macOS, and Windows (x86_64 + arm64), built from the same Rust source as the server.
  • The wheel rides along inside your gated download - install.sh (Linux/macOS) and install.ps1 (Windows) pip-install it automatically.
  • Loads your license at runtime from the same place the daemon does. No separate setup, nothing on public PyPI.
  • Durable fire-and-forget ingest with an on-disk queue, typed health for monitoring loops, per-writer attribution.
Pricing

Own your data. Pay for the intelligence, not per seat.

No per-seat pricing, ever. You pay for what immutlex processes and stores for you - documents ingested and storage used. Two numbers you already know, scaling linearly.

Pro - for teams under ~250 people

One VPS you manage. No cloud account required.

The full system on a single box you control, with bundled storage. Everything runs local; nothing phones out. The fastest way to put a durable memory in front of your agents.

25,000 docs / mo 10 GB included Bundled storage Priority email support
$249 / mo

Overage $5 / GB/mo
and $10 / 1K docs.

Subscribe

Introductory rate while we onboard early teams - the Pro price may rise as immutlex matures. Prefer a pilot first?

Pro Plus - more headroom, cheaper overage

Same single-box simplicity, room to grow.

For teams pushing past Pro's limits. More documents and storage included, and a lower overage rate when you spill over - so growing costs less, not more.

35,000 docs / mo 25 GB included Cheaper overage Priority email support
$499 / mo

Overage $4 / GB/mo
and $8 / 1K docs.

Subscribe

Introductory rate while we onboard early teams - the Pro Plus price may rise as immutlex matures.

Enterprise - usage-based, deployed your way

Base by capacity, plus usage - no per-seat pricing. Deploy Managed (your corpus on immutlex-operated storage, no cloud account to stand up) or Hybrid (compute we operate, documents stay in your own S3-compatible store or ADLS Gen2 and never leave your cloud - the compliance path for banking, healthcare, and manufacturing).

Enterprise
$1,500 / mo

50 GB - 50K docs / mo included

Subscribe (Managed)
Enterprise
$3,000 / mo

100 GB - 100K docs / mo included

Subscribe (Managed)
Enterprise
$6,000 / mo

250 GB - 250K docs / mo included

Subscribe (Managed)
Enterprise
$12,000 / mo

500 GB - 500K docs / mo included

Subscribe (Managed)

Prices above are Managed (your corpus on immutlex-operated storage) and subscribe directly. Hybrid (documents stay in your S3-compatible store or ADLS Gen2 account) is a guided setup - talk to us. Enterprise overage $4 / GB/mo and $8 / 1K docs. Need more than 500 GB or 500K docs a month? Contact us for custom pricing.

Air-gapped / fully self-hosted
For banking, healthcare, and public sector

Run it fully air-gapped. Nothing leaves your walls.

Deploy immutlex end to end inside your own environment: your infrastructure, your network, your data. No shared infra, no hybrid dependency, no inbound or outbound connection required - the models run in-binary, so a fully air-gapped install works with zero network at inference time. Built and priced for your org, your compliance posture, and your scale.

Fully air-gapped Full data sovereignty Zero network at inference Your compliance posture
Contact us for full self-hosted

Tailored to your org.

Talk to us
>
Built on open formats - your data stays yours. Documents are plain markdown with YAML frontmatter in S3-compatible storage or Azure Data Lake Storage Gen2 that you control, on open-source foundations. Export every document to a directory of .md files and take it anywhere - no proprietary format, no vendor lock. What you keep by staying is everything the system builds on top of those files: the wiki-link graph, the revision lineage, and the months of grounding that accrete around your corpus.
Extend it

Standalone tools. One thing in common: clean markdown.

These are independent tools - each useful entirely on its own, each one an MCP server your agent can call (codino and fsgdb ship a CLI too). What ties them to immutlex is not a dependency, it's a format: every one of them emits plain .md - and codino and fsgdb emit it already linked, with frontmatter and back-and-forward [[wikilinks]], so it lands in the graph fully formed. Use them with immutlex, use them without it. The markdown goes wherever you want.

defuddle-rs open source

Ingest any website

The doc your agent needs is a web page buried in nav, ads, share widgets, and chrome. Point defuddle-rs at the URL and it keeps the article, drops the rest, and hands back clean markdown - ready to drop into immutlex or anything else that reads .md. One page or a whole capture flow.

Clean-room Rust defuddle - the same parser ships as a crate, MCP server, Python package, browser extension, and WASM. MIT, free. View on GitHub

fsgdb add-on

Teach your agent how the codebase actually works

Your agent can write code but doesn't know what calls what, what breaks if it changes a function, or which tests cover it. fsgdb maps the real structure of your repo - call graphs, blast radius, dead code, coverage, git history - and dumps it as plain markdown, ready to drop into immutlex or read anywhere your agent already looks. Scan once, re-scan whenever the code moves.

Local tree-sitter parsing into a full Cypher graph database over the Bolt protocol. 34 MCP tools; exports the graph as immutlex-compatible linked markdown - frontmatter plus a workspace index that cross-links every module. Explore fsgdb ->

$69 / mo - flat Get fsgdb ->

codino add-on

Give last week's conversation back to your agent

Every hard problem your agent already solved is sitting in a Claude Code, Codex, or Copilot session log - and forgotten the moment the window closed. codino reads those logs where the tools already keep them, finds the threads worth keeping, and turns them into markdown your agent can ask again. The work you already paid for stops evaporating.

Hybrid retrieval over any SQLite or JSONL: SQLite FTS5 lexical + DuckDB HNSW semantic, fused with RRF. Exports interlinked wiki markdown - YAML frontmatter, bidirectional [[wikilinks]], no dangling. Source stays read-only. Explore codino ->

$19 / mo - flat Buy codino ->

Local-first and zero-telemetry, same as immutlex - but they stand alone. defuddle-rs is open source; codino ($19/mo) and fsgdb ($69/mo) are flat-priced and pair naturally with any plan, no coupling required. Ask us which ones fit your stack.

Add-on spotlight

fsgdb is not just an add-on.

Code intelligence for AI agents, a graph database for everything else. fsgdb parses your repo into a full Cypher graph - call paths, blast radius, dead code, test coverage, git history, even data lineage - then serves it to your agent over MCP and to you in VS Code, the browser, a desktop app, and the CLI.

34 MCP tools Full Cypher + Bolt Five surfaces Runs local
The fsgdb desktop graph - your whole codebase, traversable.

Bring one AI workflow that failed outside the demo.

Bring the documents, approved model, and deployment boundary. We will trace how Immutlex stores revisions, retrieves evidence, and connects the agent through MCP.

What a pilot looks like
  • Point immutlex at your real documents - markdown, PDFs, CSVs, images.
  • Connect the agent over MCP or evaluate the CLI and SDK paths.
  • Run a single-host, Kubernetes, or air-gapped deployment that matches your boundary.
  • Vaults are unlimited, and each one is isolated - its own indexes, graph, and access rules.
Why now
  • Preserve source documents as immutable revisions; build search and graph state from that record.
  • Use bundled local models for embedding and OCR; generation stays with the model you approve.
  • Choose local object storage, an S3-compatible store, or Azure Data Lake Storage Gen2. Show the resulting network boundary.