⚡ PERSISTENT MEMORY ENGINE FOR FRONTIER AI v0.24.0 GA

Memory is Identity.

Every architecture decision, every convention, every critical fact… held somewhere safe.
Sub-millisecond hybrid retrieval (BM25 + Vectors + Fuzzy), dynamic knowledge graphs, and 243+ MCP tools. 100% local-first, zero-cloud lock-in, engineered for Gemini 3.7 Flash, DeepSeek-V4-Pro, Grok 4.6, Claude 5 Sonnet/Opus, GPT-5.6 Sol, Google Antigravity, and Cursor.

bash — engram
$ engram-server --transport stdio
Engram v0.24.0 (local-first persistent memory server)
Database: ~/.local/share/engram/memories.db [SQLite 3.45 + WAL]
Search: Hybrid BM25 (FTS5) + Cosine Vectors (MiniLM ONNX) + Fuzzy Levenshtein
MCP Protocol: JSON-RPC 2.0 active over stdio [243 tools registered]

[MCP INITIALIZED] Handshake from host: Claude Code v1.0.18
Capabilities: tools, resources, prompts, logging, completions
[READY] Loaded 1,482 project memories across 4 workspaces in 1.4ms
i the forgetting
before · after

The same conversation, twice.

On the left, a model without memory. On the right, the same model backed by Engram. The words are identical — until two weeks pass.

without engram session resets · 0% recall
with engram verbatim · retrieved in 1.2ms
ii anatomy of memory

Workspaces. Sessions. Entities. Drawers.

A structured cognitive architecture built in Rust. Broad workspaces partition projects; sessions record time-based context; entity graphs link concepts; verbatim drawers preserve immutable decisions.

W — WORKSPACE

The Workspaces

projects · environments · teams

Strict cryptographic isolation per project. Distinct databases or segregated schemas prevent context contamination between repos.

S — SESSION

The Sessions

days · transcripts · threads

Chronological units of time. Auto-indexed chat transcripts and scratchpads that decay dynamically unless promoted to permanent memory.

E — ENTITY GRAPH

The Entities

concepts · systems · identities

Bidirectional relationships linking facts. Canonical identity resolution unifies aliases (e.g. AuthService $\to$ auth-api).

D — DRAWER

The Drawers

verbatim · decisions · immutable

The exact chunk of verbatim content. Full fidelity with timestamp, salience score, provenance, and contradiction guardrails.

iii indexing & retrieval

Dense Symbolic Indexing. Verbatim Fidelity.

The content stays verbatim — always. The index above it is compressed into 3-way hybrid embeddings and entity graphs that an agent can query in <2ms.

DRAWER · mem_98f4a1 VERBATIM · EXACT · DECISION

The decision, as recorded:

"We have decided to size the PostgreSQL connection pool to 25 connections with a 5s timeout. Use Tokio async/await for all I/O workers; reserve std::thread for CPU compute."

— immutable provenance: session_2026_07_14.jsonl

INDEX POINTER · RRF FUSION 3-WAY RETRIEVAL (BM25 + VECTOR + FUZZY)

The pointer, as indexed in SQLite:

§ WS/backend/mem_98f4a1
@type decision ~ salience=0.95
@fts5 "postgresql connection pool size 25 timeout tokio"
@vec  384-dim cos_sim(query, v) [MiniLM ONNX]
@ent  [PostgreSQL, ConnectionPool, Tokio, Rust]
@rel  (configures) -> DatabaseWorker
§ ptr -> mem_98f4a1 (verbatim)
iv mechanics

Four Pillars. No Cloud. No Keys.

Engineered from scratch in Rust for uncompromising privacy, performance, and determinism.

— 01

Local-First

SQLite with Write-Ahead Logging on disk. Nothing is uploaded. Zero telemetry. Your memories live under a single directory on your machine.

default path · ~/.local/share/engram/memories.db
— 02

Zero API Keys

3-way search (BM25 FTS5 + local MiniLM ONNX vectors + fuzzy distance) runs 100% on CPU. No OpenAI key or cloud embedding endpoint required.

cloud keys required · none
— 03

Background Hooks

Ingestion and indexing happen silently via lifecycle hooks on session end or compaction. Agents query durable context without rebuilding history.

hook budget · <50 ms
— 04

Temporal Graph

Entity relations with valid-from and valid-to timestamps. Detects contradictions when requirements change and guides automated resolution.

conflict engine · temporal resolution

Engineered for the Modern Agent Stack

Connect Engram seamlessly to coding assistants, agent swarms, and frontier LLM frameworks.

Claude Code & Desktop MCP Native

Native stdio/HTTP MCP integration for cross-session project memory, decision tracking, and repo context.

Cursor & Cursor Rules MCP Native

Real-time retrieval of architectural decisions and auto-discovered .cursorrules.

Google Antigravity Autonomous

Persistent multi-agent memory and shared workspace context for complex agentic refactors.

OpenAI Agents SDK HTTP JSON-RPC

Callable function tools for durable thread state, entity lookup, and fact verification.

Gemini 3.7 Flash High Concurrency

Ultra-fast sub-millisecond memory lookups matching high-throughput reasoning loops.

DeepSeek-V4-Pro Code & Logic

Accurate code snippet indexing and entity-linked dependency knowledge graphs.

LangGraph & LangChain Python / TS

Stateful graph nodes that search, store, and compact memory across multi-agent workflows.

CrewAI Swarms Entity Memory

Shared crew memory with short-term, long-term, and entity memory adapters.

Experience Engram in Action

Test memory creation, hybrid retrieval, graph traversal, and contradiction checks in real time.

Client-Side Rust WASM Protocol Response
⚡ Rust WASM v0.1.0 Loading... WASM Latency: <0.05ms
{
  "jsonrpc": "2.0",
  "result": {
    "engine": "engram-wasm (WebAssembly in Browser)",
    "status": "ready",
    "message": "Click 'Run WASM Hybrid Search' to execute pure-Rust BM25, TF-IDF vector embeddings, and RRF fusion in real-time."
  }
}

How Engram Compares

Engineered specifically for autonomous coding agents with local-first security and true hybrid retrieval.

Feature Engram Mem0 Zep (Graphiti) Cognee Generic MCP Memory
Core Runtime Rust (Single Binary) Python Python / Cloud Python Node.js / Python
100% Offline & Local-First ✓ Yes (SQLite+WAL) Partial (Cloud focus) ✗ Cloud service Partial ✓ Yes
3-Way Hybrid Search ✓ BM25 + Vector + Fuzzy Vector only Vector + Graph Graph + Vector ✗ Simple keyword
Knowledge Graph & Identity Resolution ✓ Built-in Entity Graph Basic graph ✓ Graphiti Engine ✓ Knowledge Graph ✗ None
Memory Tiering & Salience Decay ✓ Permanent + 24h Daily ✗ Manual expiry ✗ Single tier ✗ Manual ✗ None
Contradiction Detection ✓ Temporal Resolution ✗ Overwrite only Edge invalidation ✗ None ✗ None
Transports Supported ✓ stdio, HTTP, WS, gRPC REST API REST / GraphQL REST API stdio only
Active MCP Tools 243 tools ~6 tools ~8 tools ~10 tools ~4 tools

Integrate in Minutes

Use Engram from Rust, Python, TypeScript, CLI, or configure as an MCP server for your favorite agent.

// Cargo.toml: engram-core = "0.24.0"
use engram_core::{EngramEngine, MemoryBuilder, SearchQuery};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let engine = EngramEngine::open_local("~/.local/share/engram/memories.db")?;

    // Create a permanent memory
    let memory_id = engine.store_memory(
        MemoryBuilder::new("PostgreSQL connection pool sized to 25 connections")
            .workspace("backend")
            .memory_type("decision")
            .salience_boost(0.95)
            .build()?
    ).await?;

    // 3-way hybrid search (BM25 + Vectors + Fuzzy)
    let results = engine.search(SearchQuery::new("postgres conn pool").workspace("backend")).await?;
    for hit in results {
        println!("Found [score {:.2}]: {}", hit.score, hit.content);
    }
    Ok(())
}
<2ms
Retrieval Latency
SQLite FTS5 + WAL local execution
243+
Active MCP Tools
Memory, search, graph, and council
0 B
Cloud Egress by Default
100% private, local-first on your machine
100%
Workspace Isolation
Cryptographically segregated contexts
v begin

Build Your Memory Layer with Engram

One command to install. One to initialize. Your decisions and context — permanent, local, instantly recallable.

brew install aiconnai/engram/engram
View on GitHub Browse MCP Catalog (243 Tools)