Community Edition

One binary.
Full retrieval.

Source-available retrieval engine with cryptographic receipts baked in. Append-only event store, BM25 search, 27 MCP tools, CROWN receipts, and optional dense vector retrieval. Run locally, in Docker, or on bare metal.

RustSingle binaryDocker readyCCL-1.0

Up and running in 60 seconds

1

Start the server

One command. Runs on port 14800 (HTTP) and 14801 (MCP).

docker compose up -d
2

Store a fact

Structured knowledge with confidence scores and versioning.

curl -X PUT http://localhost:14800/v1/facts \
  -H "Content-Type: application/json" \
  -d '{"entity":"project","key":"status","value":"Phase 1 complete"}'
3

Connect your agent

Built-in MCP server with 27 tools. Any MCP-compatible client.

curl -X POST http://localhost:14801/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

What's inside

Click any card to learn more

Agent Passport

Primary

Identity, lineage, and reputation

Every agent earns a passport with a 5-tier reputation system. Sync operations require a minimum tier, so agents must prove local track record before sharing knowledge.

Tiers: unverified, basic (10+ receipts), established (100+), trusted (500+), elite (2000+). Pull requires basic tier. Push requires established. Passports track sponsor lineage and are BLAKE3-hashed for integrity. Tier upgrades happen automatically as receipt count grows.

The passport is the anchor of six identity layers

An agent answers six questions about itself. The passport provides identity; the other five layers plug in alongside it.

LayerQuestionSource
IdentityWho am I to this platform?Passport (exists)
OperatorWho do I work for and how do they work?OperatorProfile (v2.3, shipped)
DirectiveWhat am I here to do, specifically?Task context / role / resume intent
RulesWhat must I not do?Constraints + Shield grants (exist)
PlaybookHow is this work typically done here?Agent Skills + Operating Rhythms
ContinuityWhat happened since last time?resume_session + domain changelog

What's included

Community Edition vs Optional vs Proprietary

FeatureCEOptionalProprietary
Append-only event store (BLAKE3)yes
CROWN receipts (Ed25519)yes
Fact store + session storeyes
Built-in MCP server (27 tools)yes
Prometheus /metricsyes
HTTP + gRPC APIsyes
CLI tooling (verify, replay, etc.)yes
BM25 text searchyes
Agent Passport (5-tier reputation)yes
Sync gated by passport tieryes
Dense vector retrievalBYOM
Graph signal fusionhosted
GPU/CUDA accelerationhosted
Remote sync (hosted platform)hosted

All 27 MCP tools

Grouped by category. Every tool your agents get out of the box.

Retrieval

3
query

Search the retrieval index using BM25 + graph fusion. Returns scored results with query coverage. Use token_budget to cap results by token count.

query_scan

Lightweight scan returning metadata only (no content). Useful for checking what exists before expanding. Returns scores and token counts per result.

query_expand

Expand previously retrieved results by segment or doc IDs to get full content.

Fact Store

6
store_fact

Store a key-value fact against an entity. Facts carry optional receipt references and confidence scores. Set private to scope the fact to your agent identity only.

query_facts

Query the fact store by keyword, entity, or both. Results are ranked by confidence. Private facts are visible only to their owning agent.

delete_fact

Soft-delete a fact by its ID. The fact's receipt is preserved for audit.

list_entities

Discover all entity names in the fact store. Returns a sorted, deduplicated list of entity names with at least one active fact.

get_bootstrap

Query bootstrap knowledge at runtime. Returns facts stored under the __bootstrap__ entity prefix for onboarding, patterns, and error resolution.

fact_history

Return the full version chain for a given (entity, key) pair. Shows how a fact evolved over time, including superseded versions.

Sessions

4
get_session

Retrieve your session state by ID. Authenticated agents see only their own session namespace.

save_session

Create or update your session state. Supports optional time-to-live for automatic expiry.

list_sessions

List active session IDs visible to you. Returns a sorted list.

delete_session

Delete one of your sessions by ID.

Constraints

3
declare_constraint

Declare an organisational constraint (boundary, relationship, policy, or context flag) that agents must respect. Stored with severity levels.

get_constraints

List active organisational constraints, optionally filtered by type or status. Sorted by severity.

check_constraints

Check a proposed action against all active constraints. Returns a verdict: pass, warn, or block based on keyword matching against constraint assertions.

Decisions

1
record_decision

Record why a decision was made. Stores an append-only, BLAKE3-hashed decision record as a fact. Queryable via query_facts.

Handoff

2
create_handoff

Package session state and relevant non-private facts into a server-authenticated handoff bundle for another agent.

accept_handoff

Accept a server-authenticated handoff package from another agent, restoring session state and facts into your namespace.

Passport

2
issue_passport

Issue an agent passport for the calling agent. Tracks identity, sponsor lineage, and reputation tier. Required before sync operations.

get_passport

Return the calling agent's passport with current reputation tier and receipt count. Automatically upgrades tier when new thresholds are met.

Sync

3
sync_pull

Pull latest facts from a remote CoreCrux instance. Requires basic passport tier (10+ receipts). Resumes from the last pull cursor.

sync_push

Push local facts to a remote CoreCrux instance. Requires established passport tier (100+ receipts). Private facts are never pushed.

sync_status

Show sync mode: local-only, manual sync, full background sync, or degraded. No passport required.

Observability

1
get_gaps

Retrieve known knowledge gaps from the ops observation layer. Check after low-coverage queries to understand what is missing.

Agent

1
get_agent_identity

Return the calling agent's name. Returns "anonymous" if no agent identity is authenticated.

Update

1
update_status

Show whether this checkout is current, behind, ahead, diverged, disabled, or unavailable relative to the tracked git branch.

Ready to run your own retrieval engine?

Source-available. No credit card. No cloud dependency.