Zero-Dependency Memory sidecar

# Mimir: Deterministic Persistent Memory for Professional AI Workflows

The default persistent semantic memory engine for Perseus. Built in Rust with SQLite + FTS5 — providing zero API keys, zero embeddings, sub-millisecond keyword search, and native Model Context Protocol (MCP) compatibility.

Search Latency
< 0.1ms
Sub-millisecond BM25 keyword recall over local SQLite. P50 at scale remains completely flat.
Cloud Dependencies
0cloud
100% self-contained. Runs entirely on-device with zero API key or model download requirements.
MCP Standards
100%
Complies with Model Context Protocol. Works instantly with Claude Desktop, Cursor, Cline, and others.
“AI memories are historically locked inside specific agent frameworks or volatile cloud memory arrays. Mimir decouples memory into a single, portable, self-hosted SQLite file. Every agent on every machine syncs with the same vault.”
§ 01

## Bring Your Own Memory (BYOM)

Mimir introduces the Bring Your Own Memory (BYOM) architectural design pattern. Instead of locking agent state, context history, and learned preferences inside proprietary developer SDKs or isolated sessions, Mimir decouples semantic memory into a lightweight, portable database.

#### Multi-Device Sync Strategy

Point your Mimir database path to a folder synced by Syncthing, Nextcloud, or Dropbox. SQLite's ACID-compliant architecture combined with file locking allows secure, multi-machine memory propagation:

Workstation A → mimir_store → synced/mimir.db ← (Sync Engine) → Workstation B
Standalone sidecar

### Decoupled State

Point local and remote runtimes at the identical SQLite backend. All container workspaces share one cohesive recollection.

Infinite portability

### Single-file SQLite

All of your memories are stored in a simple, compact `mimir.db` database file. Back it up, sync it, or host it on your local NAS.

§ 02

## Performance & Compliance

Mimir proves that for developer context, keyword search with BM25 ranking is 100x faster, incredibly reliable, and completely free. Fully compliant with the Model Context Protocol (MCP), it exposes semantic memory reading and writing directly as system tools.

### Recall Benchmarks

P50 Cold Query
0.09ms
Sub-millisecond cold recall over local SQLite.
P50 Warm Query
0.12ms
Consistent warm query latency flat across scale.
RAM Footprint
< 15MB
Ultra-lightweight Rust daemon footprint.

### FTS5 Stemming Engine

SQLite FTS5

#### Porter Stemming

FTS5 indexing with porter stemming. Words like `testing`, `tested`, and `tests` map to the identical stem, ensuring high-relevance search matches.

Smart Query Fallback

#### LIKE Optimization

FTS5 MATCH treats multi-word strings as exact phrases. Mimir automatically sanitizes input and falls back to SQL `LIKE` operators for partial matches.

### Registered MCP Tools

mimir_recall Query the semantic memory vault. Performs FTS5 BM25 search with fallback sanitization to retrieve relevant contextual fragments instantly.
mimir_store Save a new learning. Accepts markdown content, semantic tags, a classification type (e.g., `insight`), and an importance rating.
mimir_stats Fetches database statistics. Inspect database sizing, record counts, and categorical breakdowns directly from your assistant terminal.
mimir_health Ensures structural integrity. Verifies database read/write capabilities, index files, and daemon connection status.
§ 03

## Quickstart Setup

1. Install Mimir

    # Run the one-shot bootstrap installation
    curl -sSL https://raw.githubusercontent.com/tcconnally/mimir/main/scripts/bootstrap.sh | bash

    # Or build from source
    git clone https://github.com/tcconnally/mimir.git ~/.mimir
    cd ~/.mimir && cargo build --release
    cp target/release/mimir ~/.local/bin/mimir

2. Configure Perseus

    # In your workspace .perseus/config.yaml:
    mimir:
      enabled: true
      transport: "stdio"
      command: ["mimir", "--db", "~/.mimir/data/mimir.db"]
      timeout_s: 10.0
      merge_strategy: "local_first"
      fallback_to_local: true
      circuit_breaker:
        threshold: 3
        cooldown: 120
      retry_policy:
        max_attempts: 3
        backoff_base: 1.5

Mimir GitHub Repository →