Skip to content

Getting started

mnesio is a Rust workspace. The fastest way to see it running is Docker (no toolchain) or a single make target; building from source is the third option. Every path lands you on the same live dashboard at http://localhost:7777.

Builds and runs the server in a container and serves the live dashboard with zero external downloads on first boot (mock embedder + synthetic writer):

Terminal window
git clone https://github.com/mnesio/mnesio.git && cd mnesio
docker compose up --build

Open http://localhost:7777. For real, persistent use, set MNESIO_DEMO=0 and MNESIO_EMBEDDER=fastembed in docker-compose.yml (fastembed downloads bge-small-en-v1.5 on first run; the log persists in the mnesio-data volume).

Terminal window
git clone https://github.com/mnesio/mnesio.git && cd mnesio
make demo # instant demo: live dashboard, zero downloads (mock embedder + learning curve)

Other targets (make on its own lists them all):

TargetWhat it does
make demoInstant demo — mock embedder, synthetic writer, live procedural learning curve
make runReal server — persistent log + fastembed embeddings
make testThe workspace test suite
make lintExactly what CI enforces (fmt --check + clippy -D warnings)
make mcpInstall the MCP binary for Claude Desktop / Cursor / any MCP client
make dockerThe Docker path above
  1. Prerequisites: Rust (stable, 1.75+, via rustup) and a C toolchain (for native deps like tantivy and hnsw_rs).

  2. Clone and build the workspace:

    Terminal window
    git clone https://github.com/mnesio/mnesio.git
    cd mnesio
    cargo build --release
  3. Run the tests and lint exactly as CI does:

    Terminal window
    cargo test
    cargo fmt --check
    cargo clippy -- -D warnings

The host process (mnesio-server, binary name mnesio) exposes an HTTP API and a live dashboard.

Terminal window
# Real embeddings (fastembed, 384-d) — downloads bge-small on first run:
cargo run --release -p mnesio-server
# Or offline/instant with the deterministic mock embedder (no download):
MNESIO_EMBEDDER=mock cargo run --release -p mnesio-server

Open http://localhost:7777. The dashboard surfaces live panels for retrieval metrics, memory evolution, the procedural learning curve, and each frontier phase (causal, probe, KV, exchange, dream, provenance).

Env varDefaultMeaning
MNESIO_PORT7777HTTP listen port
MNESIO_HOST127.0.0.1Bind address; the Docker image sets 0.0.0.0
MNESIO_DATA./mnesio-dataPath to the fjall keyspace
MNESIO_EMBEDDERfastembedmock for the 32-d deterministic embedder (no download)
MNESIO_DEMO01 → temp data dir + synthetic writer
MNESIO_PROCEDURALoffon → spawn the procedural compiler worker

mnesio persists to a single append-only event log (fjall-backed) plus its materialized views. By default it lives under ./mnesio-data. Because the log is the single system of record, every index is rebuildable by replaying events — deleting a view directory and restarting reconstructs it.

Terminal window
# route evolution / procedural / qaeval through a local Ollama model
cargo run --release -p mnesio-server --features ollama

Next: wire it into an agent with the MCP quickstart.