Exomem

Local Markdown/Obsidian knowledge substrate for MCP agents with governed memory and hybrid search.

Documentation

Agents get memory.You keep the files.

Exomem is an open-source MCP memory server that runs over the Markdown knowledge base you already own — a plain folder, or your Obsidian vault. Claude Code, Codex, and Cursor get durable context; you keep the files, the provenance, and the review loop.

Python · AGPL-3.0 · self-hosted · no account

$ kb find "stale decision"

864 ms · 50,000 notes

superseded-by MCP decisions/gpu-batching.md research/embedding-models.md insights/fts5-latency.md notes/old-plan.md notes/newer-constraint.md SQLITE-VEC sources/benchmark-run-014.md decisions/vault-layout.md insights/review-queue.md sources/meeting-2026-05-12.md research/clip-indexing.md

→ notes/newer-constraint.mdcurrent

→ notes/old-plan.mdsuperseded · forwarded

2 results · 864 ms end-to-end · 50,000 notes · cache cold

● retrievedstruck superseded○ note▪ entity

01 — Why it exists

Memory should be inspectable infrastructure you own — not hidden assistant state in someone else’s cloud.

Exomem gives agents a shared substrate without asking you to move your knowledge into another app. Source material, compiled notes, typed entities, evidence, and supersession history remain plain files — open any of them in a text editor.

The server measures and routes: search, embeddings, extraction, file writes, graph health, review queues. Judgment stays with the human and the client model using the tools.

---
type: decision
status: superseded
superseded_by: "[[newer-constraint]]"
---

Batch embeddings at 256 on 16 GB cards.
Replaced after [[benchmark-run-014]] showed VRAM
headroom, not throughput, is the bound.

Supersession lives in the file, not in a hidden database — grep it, diff it, version it.

02 — Capabilities

The whole stack, local.

01

MCP tools

Search, capture, notes, evidence, audit, and review queues — usable from any MCP client.

02

Hybrid retrieval

Keyword and vector search over typed Markdown knowledge bases. Sub-second at 50,000 notes, measured.

03

Local index

SQLite FTS5 for lexical lanes, sqlite-vec for vectors. No external search service, ever.

04

Media ingestion

Local OCR, ASR, PDF, Office extraction, and CLIP image indexing — screenshots and recordings become searchable.

05

One registry

CLI and REST surfaces generated from the same operation registry as the MCP tools.

03 — Measured at scale

Sub-second at 50,000 notes — measured, not asserted.

Most memory tools claim they scale. Exomem publishes the numbers — and the methodology, so you can reproduce them on your own vault.

864ms

Hybrid find() end-to-end at 50,000 notes — hot cache off, methodology public in the repo.

<10ms

Keyword and lexical lanes, served straight from the SQLite FTS5 index.

0cloud deps

In the lean install. A GPU is optional — never required.

Reference desktop — Ryzen 7 5800X3D · RTX 5080 · 32 GB RAM. See the methodology →

04 — The difference

Your memory stays yours.

Cloud memory services

  • Extract your data into a vector database or knowledge graph in their cloud
  • The memory is a derived copy — you never get plain files back
  • Account and subscription required; your data leaves your machine

Exomem

  • Plain Markdown in a vault you own — edit it anywhere, forever
  • The index is a local SQLite sidecar — the files themselves are the memory
  • Self-hosted, no account — with the lean install, nothing leaves your machine

Full comparison vs mem0, Letta, Zep, cognee, and Basic Memory →
Exomem vs claude-mem: session continuity vs durable knowledge →
How we benchmark memory systems — the fairness rules, before the results →

05 — Install

terminal

$ pip install exomem

$ exomem --help

# extras: local embeddings · CLIP · OCR · ASR

Works with

Claude CodeClaude DesktopCodexCursorany MCP client

The same memory is also reachable from the CLI and a personal REST facade — all generated from one operation registry.

06 — Exomem Cloud

Exomem Cloud is a friends-only private alpha.

Self-hosted Exomem stays the full open-source product you run yourself. Cloud runs it for a small friends cohort while we finish the v1 alpha. Tenant cells process plaintext for search; storage and transport are encrypted. Express interest below; invitations are personally issued and there is no public checkout.

friends-only v1 alphayour data exportable any time Self-hosted setup →