Skip to content
Local memory server for AI tools

Your agents forget. Mnema remembers.

Give every MCP- or HTTP-capable agent one durable store on your machine. Mnema is free to download, local by default, and built on a formally specified, machine-checked engram engine.

curl -fsSL https://mnema.zimac.ai/install.sh | sh
macOS universal + Linux x86_64 No account in local mode Machine-checked engine
Illustrative /v1/consult tracelocal by default
what do we know about the payments retry loop?
BM25 + PRF
local vectors
ACT-R activation
temporal context
source cues
MMR diversity
rank fusion
01Retry loop caps at 3 to prevent duplicate gateway charges0.91
02Backoff starts after the provider returns a retryable status0.78
03Payment idempotency key is scoped to the original attempt0.69
0.82
grounded retrievalevidence + margin + corroboration

Confidence describes retrieval strength,
not factual truth.

Thirty-second setup

Two commands. Four durable tools.

Install the headless binary, connect an MCP client, and the client gains a shared memory it can consult before acting and update after learning.

01 · INSTALL

Get the verified binary

The installer selects the supported prebuilt for your platform, verifies its published SHA-256, and installs without root access.

curl -fsSL https://mnema.zimac.ai/install.sh | sh

Prebuilts: universal macOS (Apple silicon + Intel) and Linux x86_64.

02 · CONNECT

Add it to an MCP client

In local mode, mnema mcp starts the loopback memory server if it is not already running, then bridges tools over stdio.

claude mcp add mnema -- mnema mcp

Claude Code is one example. Any client that can launch an MCP stdio server can use the same command and arguments.

03 · REMEMBER

Use the shared store

Each compatible client reaches the same local memory through four explicit tools.

consultlearnrelatedlist

consult returns ranked memories and a retrieval-confidence band. Low confidence should be treated as a hint, not a fact.

One store, every interface

Use the protocol your tool already speaks.

MCP is a stdio bridge. HTTP and the Pensieve use the loopback server. The CLI calls the same API. They are distinct interfaces over one engram store—not three names for the same transport.

Clients

MCP agentsClaude Code, compatible IDEs
Scripts + CIcurl and any HTTP client
HumansCLI or Pensieve on Mac

Interfaces

MCP over stdioconsult · learn · related · list
HTTP on 127.0.0.1:7077/v1/consult · /v1/learn · /v1/related · /v1/list
CLI + Pensievethe same server and data directory

Memory server

engramdrecall, indexes, confidence, authored graph
Health + operations/healthz · /readyz · /metrics

Durable store

~/.mnemabinary-framed engram log
Optional remote

Set MNEMA_URL and MNEMA_TOKEN to bridge MCP or CLI calls to an authenticated remote store. A non-loopback server bind is refused unless authentication is configured or the explicit unsafe override is set.

The Pensieve

Memory you can inspect.

The Mac app renders a deterministic field of memories and an evidence rail. It is not a black-box claim about what recall did: the layout and the confidence inputs have explicit meanings.

  • XHorizontal position is time. Newer and older memories stay spatially legible.
  • YVertical proximity reflects connection and category lanes. Size increases with linked degree.
  • EThe evidence rail explains retrieval. Relevance, base-level entrenchment, retrievability, evidence, margin, and corroboration stay visible.
  • AAn accessible list view is one toggle away. The visual field is not the only way to inspect the store.
Pensieve mechanics · schematicillustrative selection
retry policyidempotencygateway charge
earliercreation time →now
Why this surfaced
relevance0.91
base level0.72
retrievability0.84
margin0.67
corroboration3 hits
groundedretrieval-confidence band
The diagram shows the documented layout and evidence semantics; it is not a product screenshot. Retrieval confidence measures accessibility and separation of evidence—not whether a claim is objectively true.
Cognitive recall, precisely

A better ranking, not a bigger prompt.

Public consult runs a deterministic retrieval pipeline. Default recall makes no model call. Optional external neural embeddings can expand the semantic leg when you configure them.

01 · CANDIDATES

Lexical + local vectors

The embedded server fuses lexical retrieval with deterministic feature-hash vectors and HNSW-backed candidate search.

02 · EXPAND

BM25 + PRF

A field-weighted BM25 pass seeds pseudo-relevance feedback, adding salient terms before the candidate pool is ranked again.

03 · REMEMBER

ACT-R base level

Frequency and recency contribute a cognitive activation signal, so repeatedly useful memories remain easier to retrieve.

04 · CONTEXT

Temporal + source cues

Reinstated temporal context, tightly gated neighbors, entity affinity, and named-person source cues help recover scattered evidence.

05 · COVERAGE

MMR diversity

A deduplication-floored MMR selection reduces repeated near-duplicates while preserving the strongest ranked evidence.

06 · METAMEMORY

Retrieval confidence

Evidence strength, winner margin, and corroboration produce grounded, tentative, or exploratory retrieval bands.

Connections are explicit. Two tools, two jobs: consult ranks with the cognitive-fusion pipeline above, and related traverses the graph links you or your agents authored — so a hop in the graph always means something a person or agent actually recorded.

curl -sS -H 'content-type: application/json' 127.0.0.1:7077/v1/consult -d '{"query":"retry loop"}'
Measured, not implied

Recall you can put a number on.

Mnema keeps committed baselines for retrieval quality and performance. The results below compare Mnema cognitive recall with its own semantic-RAG baseline—not with competitor marketing claims.

LOCOMO · deterministic retrieval slice
+9.7pp

Overall recall@5: semantic-RAG baseline 0.451 → cognitive recall 0.548.

Recall@5Semantic RAGMnema cognitiveLift
Overall0.4510.548+9.7pp
Multi-hop0.1850.291+10.6pp

Gold supporting turns are scored deterministically — no LLM judge — so the number is a reproducible measurement of the retrieval layer itself.

10,000 memories · committed ANN baseline
11.0×

HNSW approximate top-10 p50 was 0.284ms versus 3.128ms for brute-force cosine, with recall@10 of 1.0 on that run.

brute force
3.128ms
HNSW
0.284ms

Component latency is hardware-specific. Full search_cogni p50 was 19.4ms at the same 10k scale in the committed baseline.

Durability + boundaries

Local-first is a design. Not a slogan.

The default standalone store is a local binary-framed log under ~/.mnema. Its file format, network boundary, and failure behavior are explicit.

APPEND

One durable record at a time

The log appends and fsyncs CRC32-framed records. A per-segment SHA-256 chain makes segment history tamper-evident.

RECOVER

Torn tails heal to the valid prefix

On reopen, incomplete active-tail bytes are truncated after the last complete frame. Corrupt completed data is detected rather than silently accepted.

BOUND

Loopback unless you opt out safely

HTTP defaults to 127.0.0.1:7077. A non-loopback bind requires configured auth tokens or an explicit unsafe override.

!

Know the boundary. Default recall stays local; an external embeddings endpoint or a remote MNEMA_URL touches the network only because you configured it. At-rest protection comes from your disk encryption — FileVault on a Mac covers ~/.mnema — and the store is a plain directory you can back up or move while Mnema is stopped.

Formal methods, built in

Proof where it changes what can ship.

Mnema maintains a property catalog and names the discharge mechanism for each claim. Every release runs the full layered suite on the exact commit it ships from: property tests and exhaustive conformance checking, bounded symbolic proofs, and a model-checked replication protocol.

Every release · tests

Tests + conformance checker

Property tests, lints, and the exhaustive CRDT conformance checker pass on the release commit before any binary is built.

Every release · proofs

Kani + TLA+ model check

Bounded symbolic proofs discharge the pure invariants, and a three-replica protocol model is checked for consistency, convergence, and liveness on the same commit.

Compile-time boundary

Zi crash arithmetic

The overflow-safe frame-boundary component is proved, transpiled, and compiled into mnema-log.

Every claim points at a specific check. Exhaustive enumeration, bounded symbolic proof, finite model checking, and proof-carrying compile-time arithmetic each discharge the properties they are best suited to, and the property catalog records exactly which mechanism stands behind which guarantee.

Shipping Rust, every order through seven operations

The real CRDT implementation is compared with an independent reference fold. The checker enumerates every delivery order through seven operations per scenario (7! = 5,040), then runs a deterministic 3,000-schedule sample for larger cases. It checks causal delivery, convergence, liveness, and idempotence at the implementation layer.

const EXHAUSTIVE_MAX: usize = 7;
const SAMPLE_ORDERS: usize = 3000;

for_each_schedule(ops.len(), |perm| {
    replica.ingest(one_op_at_a_time(perm));
    assert_eq!(replica.materialize(), canonical);
});
Bounded symbolic proofs and the finite three-replica model

Kani harnesses cover selected pure invariants over their stated symbolic bounds, including merge laws, add-wins resolution, clock monotonicity, and the recall cost ladder. TLC checks a finite three-replica model for consistency, convergence, causal behavior, GC safety, trust, and liveness. Every bound is stated in the property catalog, so each result is reproducible exactly as claimed.

\\* Finite protocol model; invariants named in the spec.
INVARIANTS == {
  Consistency,
  Convergent,
  Causal,
  Unforgeable,
  GCSafe
}
Proof-carrying crash-recovery arithmetic

A frame length is read from disk and must be treated as untrusted. The Zi component proves the remaining-bytes form equivalent to the naive bound while keeping the host calculation overflow-safe. The surrounding Rust still owns byte reads, CRC, JSON, chain checks, and truncation.

fn frame_fits (off: Int) (header: Int)
              (payload_len: Int) (buf_len: Int) -> Bool
  req off + header <= buf_len
  ens result == (payload_len <= buf_len - off - header)
  ens result == (off + header + payload_len <= buf_len)
{
  ret payload_len <= buf_len - off - header
}
Choose the surface

Headless for agents. Visual on Mac.

The installer and the DMG are different distributions. The headless binary provides CLI, server, and MCP. The Mac app adds the Pensieve interface.

Pensieve · macOS 11+

Download the Mac app

The universal DMG includes the native Pensieve window and the same local memory server.

  • Deterministic memory field + evidence rail
  • Accessible list view
  • Local store under ~/.mnema
  • Engine passes the full verification suite before packaging
From memory layer to full product

Mnema is the memory server. Zimac is the chief of staff.

Standalone Mnema keeps a separate ~/.mnema store. Zimac embeds the same formally specified, machine-checked engine inside a native chief-of-staff app with specialists, integrations, dashboards, staffing, and team workflows.

One memory. On your machine.

Install the headless server for agents and scripts, or download the Mac app for the Pensieve. Local mode is free to use and needs no account.

curl -fsSL https://mnema.zimac.ai/install.sh | sh