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
- memloom repo README — features, comparison table, surfaces (vendor)
- memloom ARCHITECTURE.md — three tiers, StorageAdapter rule, extraction pipeline (vendor)
- memloom CHANGELOG — 0.1.0 and 0.1.1 contents (vendor)
- GitHub API — 5 stars, Apache-2.0, created 2026-07-16, pushed 2026-07-18 (third-party)
- Releases — v0.1.0 (2026-07-18), v0.1.1 (2026-07-18) (vendor)
- memloom.dev — product home; Memloom Cloud listed as coming soon (waitlist) (vendor)
- memloom docs — CLI, MCP, and HTTP API reference (vendor)
- npm registry — memloom 0.1.1 (and @memloom/mcp 0.1.1) (third-party)
- GitHub API re-check — still 6 stars, Apache-2.0, no new commits since 2026-07-18, no new release beyond v0.1.1 (third-party)
- memloom.dev re-check — Memloom Cloud still 'coming soon' waitlist, no pricing published (vendor)
Last verified 2026-07-23 · updated by refresh-framework-cards