coldframe
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@coldframeremember my favorite color is blue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Your agent forgets everything between sessions. coldframe gives it a memory that lives in one
local file (~/.cold-frame/memory.db) — with full-text + vector search, version history, automatic
forgetting, and the ability to rewind what was true when. No server, no account, no key.
Quickstart
In Claude Code — one install, then it remembers automatically:
claude plugin marketplace add coldzero94/cold-frame
claude plugin install coldframeRecall is injected at the start of every session; durable facts you state are captured as you work (using the Claude you already pay for — no extra key or cost). Nothing to configure.
On the command line — offline, instant:
cold-frame add "I prefer dark roast coffee."
cold-frame search "dark roast coffee"
cold-frame list # each memory with its strength band
cold-frame doctor # health: counts, integrity, embedder(Install: brew install coldzero94/coldframe/cold-frame (Apple Silicon macOS + Linux x86_64), or
download the self-contained binary for your platform from the
latest release — CLI + MCP in one file,
no Python needed. The optional [local-llm] (semantic recall) extra isn't in the binary; install
from source for that — see examples/.)
Related MCP server: Memryzed
Why coldframe
🗃️ One file you own — everything is
~/.cold-frame/memory.db. Copy it to back up, delete it to forget. No server, no account.🔌 Offline by default —
add→searchworks with zero keys, zero network.🤖 Automatic in Claude Code — recalls what matters, captures durable facts as you work — and the engine keeps it lean instead of hoarding everything.
⏪ Rewindable belief — facts are corrected and superseded, never silently overwritten. Ask "what did I believe back in March?" and get the answer as of that date.
🧭 Conflict resolution — supersession is always deterministic (code decides by
valid_at, never the LLM). Detecting that two facts contradict needs a model: thecold-frame worker(andCOLD_FRAME_LLM=claude, using your Claude session — no API key) turn it on; the zero-key offline default still does exact/near-duplicate merging and honors explicitcorrect/supersede.
How the memory works
Recall — a SessionStart hook injects your strongest durable memories; a UserPromptSubmit hook adds ones relevant to the current prompt (gated so it adds signal, not noise).
Capture — Claude itself extracts durable facts and calls
add_memoryduring your session (a bundled skill), with a keyless deterministic backstop so nothing is missed; dedup merges them.Stays lean — every ~20 facts a consolidation pass decays, rolls up, and archives the weakest (per-scope caps), so the active set never grows without bound. Forgetting archives — nothing is truly deleted, and obvious secrets (API keys, tokens, private keys) are blocked before they ever touch disk. PII redaction (email/phone/card/ssn) is available opt-in (
add --redact-pii, orMemory(pii_redact=…)) — off by default so a personal store keeps your own contact facts. For at-rest protection, the DB is a single local file — put it on an OS-encrypted disk (FileVault / LUKS), which covers the stolen-laptop threat without a second key to manage.Per-project + global — facts are tagged by git project; clear personal facts go to a global tier recalled everywhere.
Semantic recall (opt-in) — the zero-config default recall is lexical (offline
HashEmbedder, no download). For semantic recall, install from source with the[local-llm]extra and setCOLD_FRAME_EMBEDDER=local(a small localbge-smallmodel, downloaded once — nothing leaves the machine). After switching on an existing DB, runcold-frame reembedto re-index.
It's a standard stdio MCP server, so it works with any MCP client — not just Claude Code.
Use it as a library
from datetime import UTC, datetime
from cold_frame import Memory, Scope
mem = Memory() # ~/.cold-frame/memory.db, offline
me = Scope(user_id="coby")
mem.add("I switched jobs to Anthropic in 2026.", scope=me)
print(mem.search("where do I work?", scope=me).hits[0].note.content)
past = mem.search("where do I work?", scope=me, as_of=datetime(2026, 3, 1, tzinfo=UTC)) # rewindSee and edit your memory anytime: cold-frame ui — a local dashboard at 127.0.0.1:27182 where
you can browse facts and pin / correct / forget them (writes are CSRF-guarded and localhost-only).
More
Install & distribution —
packaging/(plugin, Homebrew, standalone binary)Design & spec —
docs/(the spec, decisions, and the analysis of mem0 / Letta / Zep-Graphiti / Cognee / MemOS / A-MEM / LangMem that informed it)Back up / move —
cold-frame export backup.dbthenimportit elsewhere.
Status
The engine, CLI, MCP server, Claude Code plugin, deterministic pre-disk secret-blocking +
grep-verified hard-purge, opt-in PII redaction, an admission confidence-gate + opt-in consent hold,
idempotent event-log replay import, and a local web UI are built and tested end-to-end on a fully
offline gate (ruff + mypy --strict + ~420 deterministic mock-LLM tests green on a 3.12/3.13 CI
matrix). The automatic
recall + capture loop is verified end-to-end against real Claude Code. Distributed as a self-contained
binary via Homebrew + GitHub Releases (not PyPI).
Apache-2.0.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/coldzero94/cold-frame'
If you have feedback or need assistance with the MCP directory API, please join our Discord server