MemoryAtlas

A local-first memory engine built on one Postgres store shared by every client — CLI, MCP, HTTP API, a browser viewer, and the raw Postgres wire. The same schema and the same SQL run across three tiers (embedded PGLite with no Docker, local Postgres, cloud Postgres), so moving tiers is a config swap. Its distinguishing bet is human-in-the-loop conflict handling: when a new memory contradicts an old one, memloom keeps both active and queues a conflict for you to resolve (keep new / keep existing / keep both / merge), and every resolution is reversible. Beliefs are versioned — restating or editing a fact appends a version sharing a root_id and stales the prior one, so history() shows how a fact changed.

Storage
One Postgres store behind a single StorageAdapter interface: embedded PGLite (WASM Postgres in a folder under ~/.memloom, no Docker or signup), local Postgres via the pg driver, or managed cloud Postgres — same DDL everywhere, zero plpgsql. Two ingestion sources feed it: engine-owned atomic 'memories' (deduped, contradiction-checked, versioned) and source-owned 'context' documents (.md/.txt/.pdf mirrored by content hash, re-added unchanged files no-op). Both populate a shared entity graph with a reviewed, closed predicate vocabulary — LLM-proposed types are held out as proposals until approved. The store is stamped with its embedding config and the daemon refuses to mix vector spaces.
Retrieval
Three-arm hybrid retrieval fused with reciprocal-rank fusion in a single SQL call (memloom_fuse): vector similarity, keyword search, and entity-graph signals, unioned over memories and context chunks together. A separate date arm answers calendar-scoped questions ('what did I plan on Tuesday'). Chunk breadcrumbs (e.g. 'Guide > Setup > Postgres') are prepended into the embedded text so both the vector and keyword arms see heading context, and the same breadcrumb powers citations back to section and page.
Self-host
Self-host: trivial
License
Apache-2.0
Pricing
Free and open source (Apache-2.0); npm install -g memloom, no account or telemetry. 'Memloom Cloud' — hosted memory with cross-machine sync — is advertised on memloom.dev as coming soon behind a waitlist; no pricing published as of 2026-07-22. · Free / OSS
GitHub stars
9
Last release
2026-07-25
Last commit
2026-07-25
First catalogued
2026-07-22

Strengths

  • Human-in-the-loop conflicts: contradictions keep both facts and queue a resolution instead of silently overwriting — and every resolution is reversible
  • Versioned beliefs with history(): restating or editing a fact appends a version, prior versions stay retrievable, recall returns only the current one
  • One inspectable Postgres store — open it with psql, Drizzle Studio, or TablePlus; no proprietary format
  • Hybrid retrieval (vector + keyword + entity graph) fused via RRF in a single SQL call, over memories and ingested files together
  • Local files are first-class memory: context add ingests .md/.txt/.pdf with section + page citations; PDF text rebuilt from glyph geometry for equation-heavy documents
  • Zero-infra start: embedded PGLite means no Docker, no database install, no signup — and the same SQL runs on local or cloud Postgres later
  • Pluggable extractor registry — a new file format is one registered object (kind, extensions, version, chunker, extract())
  • Broad MCP client coverage documented per client (Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Cline, Zed, Codex, OpenCode)

Watch out

  • Very new and unproven: repo created 2026-07-16, first release (v0.1.0) 2026-07-18, currently v0.1.1 with 5 GitHub stars — no production track record yet
  • Full capability needs an OpenRouter API key: offline mode works, but real semantic embeddings, contradiction detection, and entity extraction require one
  • Changing the embedding config is a migration — the store is stamped with its vector space and the daemon refuses to mix; you must stop, reembed, and restart
  • Embedded (PGLite) tier is single-process — a data-dir advisory lock forces CLI/MCP clients to route through the daemon rather than open the store directly
  • HTTP API is localhost-only by design; there is no remote-HTTP MCP transport or hosted endpoint yet
  • Memloom Cloud is waitlist-only as of 2026-07-22 — the cross-machine sync story is not shipped (rows carry UUIDs and owner_id so a future sync layer has what it needs, but no sync layer exists)
  • No published benchmark results (LoCoMo / LongMemEval / BEAM) — the README's comparison table is a vendor feature matrix, not measured scores

Best for

  • One shared memory across several AI clients on your own machine (Claude Code, Claude Desktop, Cursor) without a hosted service or account
  • Cases where a silent overwrite is a liability and you want to review and revert what the agent decided to believe
  • Teams that want memory in plain Postgres they can query, audit, and back up with tools they already run
  • Mixing your own notes and PDFs into agent recall with citations back to the exact section and page

How it integrates

Benchmark results

No sourced results yet.

Sources

Last verified 2026-07-23 · updated by refresh-framework-cards