EARLY ACCESS · FREE TO USE

Your Claude Code knows what your
Cursor decided yesterday.

One memory layer for every MCP-compatible agent. Runs on your machine. Yours forever — no re-explaining your codebase, no re-uploading your notes.

v0.4.2·MIT core · local-first·EU-hosted Pro·built by RavioleLabs
example engram · preview
noteaudiodrivenotion
drag to rotate · scroll to zoom
typed schema · 6 sources·768d embeddings
Works with every MCP-compatible runtime
Claude CodeCursorClineContinueZedyour-agent
SEE IT IN 60 SECONDS

One memory. Every agent.

Capture in Claude Code on your laptop. Recall in Cursor on your desktop. Same brain, no copy-paste.

Claude Codecaptures
Cursorrecalls
demo video · coming soon
CAPABILITIES

A whole brain
for your agents.

Six primitives, one local SQLite file. Plug it into any MCP-compatible runtime and let your agent remember — across sessions, sources, and machines.

01 · PROTOCOL

MCP-native, zero glue.

21 tools exposed over the Model Context Protocol. Drop-in for Claude Code, Cursor, OpenAI agents, custom runtimes — no SDK, no wrapper.

// claude_desktop_config.json
{
  "mcpServers": {
    "engram": {
      "command": "engram-mcp",
      "args": ["--port", 8765]
    }
  }
}
02 · RUNTIME

Local-first.

SQLite + LanceDB. Embeddings via Ollama. Nothing leaves your machine unless you say so.

~/.engram/memory.db
single SQLite file · portable · grep-able
03 · INGEST

Multi-source

Drive · Notion · YouTube · Obsidian · voice · agent transcripts.

04 · ENRICH

Auto-tagged

Your agent supplies titles and tags. We add vectors and views.

05 · MOBILE

iOS · Android

Voice, text, link share — capture from anywhere, sync back home.

06 · SYNC

Encrypted multi-PC sync.

Bidirectional ops-log over XChaCha20-Poly1305. Your laptop and desktop share one brain. We see ciphertext, never content.

example · sync throughputops/min
07 · GRAPH

3D memory graph.

Browse your engram visually. Nodes pulse, synapses connect — click to read, hover to recall the trace.

ACTIVE MEMORY

Knows what you
haven't written down yet.

Every other memory layer is passive — it stores and recalls. Engram is the only one whose tools let the agent flag what's missing from the graph and surface patterns across captures.

  • find_gaps— your agent asks the question you forgot to answer.
  • analyze_patterns— clusters and trends across thousands of memories, on demand.
  • summarize_recent— a daily digest your agent can pull on its own.
claude · session
user: what should I document next for the API?
claude → engram.find_gaps("api documentation")
✓ 3 gaps detected:
— no memory mentions rate limits
— auth flow undocumented since 2026-04
— webhook signing format never captured
user: good — let's start with rate limits
claude → engram.remember()
✓ saved · tags=[api, rate-limit, docs]
HOW IT WORKS

From brew install to recall in 3 steps.

No cloud account required to get started. The local server runs as a daemon and exposes itself to any MCP client.

1INSTALL

Run one command.

The Engram daemon installs locally, sets up SQLite + LanceDB, and downloads the Ollama embedding model in the background. Works on macOS, Linux, Windows (WSL).

macOS · zsh
$ brew install raviolelabs/tap/engram
==> Installing engram from raviolelabs/tap
==> Downloading nomic-embed-text via Ollama...
==> ✓ engram is ready at localhost:8765
$ engram status
running · 0 memories · 0 synapses
2CONNECT

Plug it into your agent.

Add one block to your MCP config. Claude Code, Cursor, Cline, Continue — they all discover Engram's 21 tools automatically on next launch.

~/.claude/config.json{
"mcpServers": {
"engram": {
"command": "engram-mcp"
}
}
}
→ discovered: remember, recall, recent, watch, ingest, relate ...
3REMEMBER

Your agent grows a brain.

Every meaningful exchange gets a memory. Every recall pulls semantic context from the local vector store. The graph grows over time — yours, queryable, exportable.

claude · session
user: remember that I prefer Polar over Stripe for EU billing
claude → engram.remember()
✓ saved · id=mem_a8x2k · tags=[billing, polar, eu]
user: how do I bill EU customers?
claude → engram.recall("eu billing")
✓ 3 memories · top: "Polar over Stripe..."
HOW IT COMPARES

The matrix you were
building in your head.

Memory layers exist. Most live in someone else's cloud, speak only one agent, and ship as a closed SDK. Here's how Engram differs.

Feature
Engram
Mem0
ChatGPT Memory
Claude Native
Notion AI
Cross-agent (one memory, every agent)
~
Local-first (data lives on your machine)
MCP-native (not an SDK wrapping MCP)
~
Open core
Engram: core MIT. Cloud workers proprietary.
~
EU-hosted Pro
Voice capture (iOS / Android)
Active memory (find_gaps / analyze)
3D memory graph
Per-seat billing (team)
Engram: team tier coming, not on sale yet.

✓ supported · ~ partial / via plugin · ✗ not supported · — not applicable

21 MCP TOOLS

A vocabulary for memory.

Each tool is a single verb your agent can call. Self-documenting via MCP — your agent introspects them automatically.

remember
Save a memory with content, title, tags.
recall
Semantic vector search across all memories.
recent
Time-ordered recall, filtered by type or source.
get
Fetch a memory by ID with all metadata.
update
Edit content, tags, or properties of a memory.
forget
Soft-delete by ID. Recoverable for 30 days.
relate
Create typed links between two memories.
watch
Subscribe to changes on a query or source.
unwatch
Cancel a previously created watch.
ingest
Pull a source (URL, file, transcript) into memory.
connect_drive
Link a Google Drive folder for incremental sync.
connect_notion
Link a Notion workspace for page sync.
list_sources
List active sources and their sync status.
list_types
List memory types defined in your schema.
create_type
Define a new typed memory with custom fields.
delete_type
Remove a type and re-classify its memories.
suggest_properties
Infer schema properties from existing data.
analyze_patterns
Find clusters and trends across memories.
find_gaps
Identify missing context the agent should ask about.
summarize_recent
Generate a digest of the last N memories.
get_ingest_status
Poll progress on a long-running ingestion job.
CONFIDENTIALITY

Yours alone.
By design.

Local-first is the default. The Pro tier adds exactly two cloud-side primitives — sync transit and hosted compute. Everything else stays on your disk. Here's the full data-handling ledger.

DATA HANDLING LEDGER

v0.4.2 · EU-hosted · 2026-05-09
emailAccount identifier. Used for receipts and account recovery.SEEN
stripe.customer_idSubscription state lookup. Billing handled by Stripe via Polar (MoR).SEEN
transit.metadataSize, timestamp, type — used to route sync. 30-day TTL.SEEN
transit.contentXChaCha20-Poly1305 ciphertext. Key derived via Argon2id, never uploaded.CIPHER
memory.localYour SQLite + LanceDB store. Lives on your disk.NEVER
files.localSources (Drive/Notion/Obsidian) are indexed on your machine.NEVER
telemetryNo analytics, no pixels, no fingerprinting. Nothing.NEVER
PRICING

Free forever.
Pro when you sync.

The local server is MIT-licensed. Pay only when you want mobile capture, multi-PC sync, and an always-on dashboard.

CORE · LOCAL

Engram Core

$0 /forever
  • Local MCP server — 21 tools
  • All memory types (notes · audio · YouTube · Obsidian · Drive · Notion)
  • Local embeddings via Ollama (auto-installed)
  • Local Whisper transcription
  • Dashboard via local bridge
  • BYO premium embeddings (Voyage / OpenAI)
Sign up free
POWER USERS
PRO · CLOUD SYNC

Engram Pro

$9 /month
  • iOS + Android capture — voice, text, link share from anywhere
  • Hosted embeddings — 10M tokens / mo
  • Hosted Whisper — 5h audio / mo
  • Multi-PC encrypted sync (E2E)
  • Always-on cloud dashboard
Over the monthly quota
Auto-fallback to local Ollama / whisper.cpp — you keep working, just on your own compute. Paid overage is opt-in from the dashboard settings — never a surprise charge.
Upgrade to Pro

Billing via Polar (Merchant of Record — handles EU VAT). Cancel anytime from your dashboard. No refunds for partial months.

FAQ

Questions, answered.

Why "engram"?+

In neuroscience, an engram is the physical trace a memory leaves in cortical tissue — a small population of neurons that fires together when a memory is recalled. We borrowed the metaphor: every capture you make is a node, every connection a synapse, and recall is a pattern firing across the graph.

Do I need to be online to use Engram?+

No. The local server runs entirely offline. Embeddings via Ollama, transcription via Whisper, vector search via LanceDB — all local. You only need to be online if you want to pull from cloud sources (Drive, Notion) or use the Pro sync.

Can I export my data?+

Yes. The memory store is a regular SQLite file at ~/.engram/memory.db. You can copy, backup, or open it with any SQLite tool. We also expose an export CLI command that writes Markdown + JSON.

Is the source code open?+

The MCP server (the local daemon, all 21 tools, ingestion pipelines) is MIT-licensed and available on GitHub. The cloud workers (sync, hosted AI) that power the Pro tier are proprietary — they’re what we charge for.

How does encryption work?+

Your master key is derived from a passphrase via Argon2id. It lives only on your devices. Anything that transits our cloud is encrypted with XChaCha20-Poly1305 client-side, before upload. Server-side, we see ciphertext — never content. The dashboard decrypts in-browser, using a key sent over your local pairing channel.

Which agents work with Engram?+

Anything that speaks MCP: Claude Code, Cursor, Cline, Continue, Zed (via plugin), custom runtimes using the official MCP SDKs. The 21 tools are exposed identically across all of them.

What does the Pro tier cost beyond the $9?+

The $9 includes 10M embedding tokens and 5h of Whisper transcription per month. Overages are billed at $0.05 per million embedding tokens and $0.20 per hour of Whisper. You can also bring your own keys (Voyage, OpenAI) and skip the hosted compute entirely.

Give your agents a memory.

One command and your Claude Code, Cursor, and custom agents start sharing what they learn — for free, local-first, on the box you already own.