Intelligence layer

The Intelligence Layer
Between Your Data and Your AI

Give your AI the right data, not all the data. CameoDB turns your enterprise data into a curated intelligence engine that keeps your information organized and governed, so your AI systems work from data that is current and relevant.

Searchable Persistent MCP-native Leaderless Single binary

Built for agents

An MCP endpoint agents call directly, answered at query speed, with every answer explaining itself.

Built for operators

One self-contained binary, embedded storage, no coordinator to babysit. Signed releases with SBOMs attached.

Scroll normally · the rail tracks where you are · groups [] · click any segment to jump
The dual-write problem

Your index is always
a little bit wrong

The classic stack writes to the database, then asynchronously updates a search index. Between those two moments, search results disagree with the data. An agent reading during that window gets an answer that was never true.

Traditional stack

  • Two clusters to scale and operate independently.
  • Eventual-consistency lag between write and searchability.
  • Distributed transactions and messy failure recovery.

CameoDB

  • One self-contained binary with embedded storage.
  • One write path: the search index follows the store at every commit.
  • Shared-nothing design: nodes join without an election or a coordinator.
Hybrid storage engine

One write path,
one source of truth

Redb for key-value durability, a flexible document model, and Tantivy for full-text search, behind one write path in one process. A document is readable by id the moment the write returns and searchable after the next commit, and Redb carries every write safely through a restart.

STAGE 01

Sequence & WAL

A monotonic sequence ID is issued and logged in the same Redb transaction as the document.

STAGE 02

KV insert

The document body lands in the Redb data table, giving O(log N) point retrieval by ID.

STAGE 03

Tantivy indexing

Fields are parsed and handed to the in-memory index writer for full-text availability.

STAGE 04

Dual commit

Redb commits with fsync; Tantivy commits on a steady clock, and each commit records exactly how far it has read, so recovery picks up right where it left off.

A Unified Architecture for AI

CameoDB fuses an ACID key-value store, a document model, and a full-text search engine into a single Rust binary. Agents query over MCP for grounded answers: no separate system to sync, no pipeline to keep alive, no guessing.

AI & MCP

Point your agent at it.
That is the integration

CameoDB speaks MCP natively. Add it to your agent and your data becomes a first-class tool in Claude Code, Claude Desktop, Cursor or Windsurf.

terminal
# Claude Code
claude mcp add --transport http cameodb \
  http://localhost:9480/mcp

# Claude Desktop, Cursor, Windsurf:
# the entry for each is on the Build page
  • Ingest your data once: documents, logs, catalogs, tickets.
  • Connect the agent with the command on the left, or its config entry.
  • Ask. Every answer is anchored to a retrievable document.

Iteration at query speed

A lookup by id is a single Redb B-tree read, about 0.1 ms inside the engine, with no search index involved. An agent can probe, refine and re-query many times inside a single reasoning step.

Every answer explains itself

A search tells you how it went: how many shards answered, which schema version it ran under, and any clause it set aside, by name. An agent always knows exactly what it was told.

Distributed mesh

No leader. No quorum.
No coordinator to lose

Consistent hashing places data, a Kademlia DHT discovers peers, and scatter-gather fans queries out across the mesh. Nodes join and leave without an election.

CameoDB consistent-hash ring Five nodes placed around a hash ring. Each node owns the key range ending at its position. Peers link directly to one another, with no coordinator at the centre. KEY RANGE N1 N2 N3 N4 N5 NO COORDINATOR
key range owned by N2 node on the hash ring direct peer link

Consistent hashing

Placement without coordination: every node computes a key's owner from the same ring of virtual nodes.

Kademlia DHT

Point a node at one seed and it learns the rest of the mesh from its peers.

Scatter-gather

Queries fan out in parallel and merge on return, so no node becomes the bottleneck.

Benchmarks & provenance

Production posture
not a promise

End-to-end figures from cameodb-bench, the harness in the repository: client-observed over HTTP, not engine micro-benchmarks. Every release ships with the artifacts an enterprise review asks for.

Bulk ingest
370,000 docs/s
One node, four shards, with fsync on every commit. It peaks using about a quarter of its cores.
Single writes
65,000/s
One document per request, with wal_sync off.
Search throughput
11,600/s
Searches a second on 15 cores, scaling with every thread you give it.
Search p99
5.75 ms
At concurrency 16 on an eight-core node, 6,300 searches a second.

The harness is closed-loop: each worker waits for its answer before issuing the next request, so these are service times at a fixed concurrency. Measured on a 15-core Apple M5 Pro and an eight-core Linux node, with settings tuned for throughput.

Verifiable, not just claimed

Every artifact ships cosign-signed with a published SHA-256, and both SPDX and CycloneDX SBOMs accompany each release. Check a build yourself →

Licensing

An Apache-2.0 core and MIT clients; the server is FSL-1.1-Apache-2.0 and converts to Apache-2.0 two years after release. Built on Rust 2024 with an actor-based runtime for fault isolation.

Get going

Download, run, query

Six commands from an empty directory to a query answered. The MCP endpoint comes up with the server, so an agent can ask the same question without another step.

terminal
# macOS: grab the binary
curl -sSO https://dl.cameodb.com/mac/cameodb
chmod +x ./cameodb

# start the server on :9480
./cameodb

# in a second terminal, open the client
./cameodb client -i

# load a public dataset, schema inferred
cameodb@localhost ▶ data load books https://dl.cameodb.com/examples/data/booksummaries.tsv

# search what you just indexed
cameodb@localhost ▶ search books title:"Harry Potter" limit 7