Persistent memory for your coding agents.
A self-hosted MCP server that gives Claude Code, Codex, ChatGPT, and any MCP client durable memory, sessions, and an operator dashboard — one Docker image, one SQLite file, reversible by design.
# one command — server, memory & dashboard in one container $ curl -fsSL https://raw.githubusercontent.com/susomejias/rembric/main/install.sh | sh # then point any MCP client at your server — that's it.
# a brand-new session sees only the current code > the nightly export got slow — how do we fix it? ✗ "just add an index on orders.created_at" — looks obvious ✗ but that deadlocked the batch writer back in March ✗ the revert left no trace in the code — so it happens again
● memory.context → recalls the March incident > the nightly export got slow — how do we fix it? ✓ "skip the created_at index — it deadlocked in March" ✓ points you to the partial index you shipped instead ✓ a decision the code can't tell you — only memory can
Your agents forget everything. Rembric doesn't.
The memory layer that survives compaction, context windows, and tool switches — without handing your data to anyone.
Reversible by design
Memories are never deleted or rewritten. Lifecycle is status flips plus links, and every consolidation op is journaled — so any change can be undone.
Shared across your tools
One memory surface for every agent that speaks MCP. First-class plugins for four clients; everything else connects with a plain URL.
Your data, your box
A single Node process over one SQLite file. No external services, no telemetry, no data leaving your infrastructure.
Global and per-project
Scope is enforced at the service layer. Project memory stays in the project; cross- scope reads simply don't happen.
Memory that ages gracefully
A deterministic sweep decays stale memories and surfaces conflicts for fresh-context judgment — no cron, no LLM in the loop.
A dashboard for everything
Inspect tokens, projects, sessions, judgments, memories, and consolidation from a built-in operator dashboard.
The memory lifecycle, in the open.
It's all MCP tool calls against one append-only store — no black box. Every write is journaled and reversible.
Agents write facts
An agent calls memory.save with a title, content, and optional
topic_key. Session lifecycle runs over HTTP, so
session_id is attached automatically — no manual threading.
Conflicts get judged
Contradictions surface as candidates[] and are closed with
memory.judge. Same-topic writes supersede atomically by
topic_key — the old row flips to superseded, never deleted.
Context comes back
On a fresh session or after /compact, memory.context and
memory.search return scope-filtered, ranked memory straight into the
model's window.
Memory ages out
A deterministic sweep decays stale rows by access + confidence and flags others for
review via memory.confirm — no cron, no LLM, throttled on session start.
Any agent that speaks MCP.
First-class plugins for four clients handle session lifecycle, per-project scoping, and
client-side <private> redaction automatically. Everything else
connects with a plain MCP URL — or OAuth 2.1, no static token.
Self-host in one command.
$ curl -fsSL https://raw.githubusercontent.com/susomejias/rembric/main/install.sh |
sh
The interactive installer sets up the server and wires up your agents. Docker is the canonical runtime — see the quickstart for topologies and upgrades.