decaf.

Your agent remembers everything and forgets on purpose.

A memory layer for AI agents. Facts carry a half-life, a correction retires the fact it replaces, and a deletion leaves a record instead of vanishing.

Run it locally See the dashboard Free. No account. Nothing leaves your machine.
0.0stale facts acted on, in every run of a 20-run benchmark
2clocks per fact — is it useful, is it still true
8tools any MCP agent can call
0dependencies — stdlib Python, offline by default

Three things happen to a memory

Most memory layers only ever add. Decaf's job is deciding what should stop being there.

1

It decays

Strength halves every half-life a memory goes unused. Use it and the clock resets and stretches, so what keeps proving useful outlives what doesn't.

2

It gets superseded

A correction retires the fact it replaces — and everything derived from it. Change a timezone and the reminder built on it goes too.

3

It gets questioned

Before your agent acts, Decaf says how likely the fact is to still be true. A price from yesterday is not a language preference from last year.

Useful and true are different questions

So there are two clocks. Reading a fact says it is worth keeping; only checking it says it is right. Collapse those into one counter and your agent ends up confident about something that changed months ago.

Reinforced

Moves every time the fact is used. Measures demand.

Confirmed

Moves only when the fact is checked against the world. Measures truth — so a fact nobody has verified stops being trusted, however often it gets read.

The part that never holds your memory

Most memory products host your data and sell you retention. Decaf is built the other way round, and the split is enforced by the software rather than promised in a policy.

Hosted

decaf-psi.vercel.app

  • Your policies — the settings your agent runs under
  • Anonymous lifetimes, like "api keys last about 90 days"
  • Nothing else — no content, no accounts

Your machine

127.0.0.1 — loopback only

  • The memories themselves, in a local database
  • The dashboard that shows them, served only to you
  • Refused off loopback — the server won't start otherwise

The network learns how long facts of a kind last. It never learns the facts.

Get started

No dependencies, no API key, no network. The engine is stdlib Python and runs inside whatever agent you already have.

# run the service and open the dashboard on this machine
python3 -m decaf.control_plane --local-db ~/.decaf/memory.db
#   → http://127.0.0.1:8787/app

# or hand it to an MCP-capable agent
{
  "mcpServers": {
    "decaf": { "command": "python3", "args": ["-m", "decaf.mcp_server"] }
  }
}

remember · recall · confirm · supersede · forget · sweep · audit · report_lifetime

Free is the whole engine

Decay, supersession, transitive invalidation, the verification gate, contradiction detection — free, no account, no key. Holding adds capabilities that live on the network side. It never takes anything away.

Free

No account, no key, no phone-home

  • Every tool, on your machine, for as long as you want it
  • Full dashboard, including your own memory
  • Nothing held back for later

Holding network side

An identity, so your agent's memory counts

  • Weighting — the lifetimes your agents report actually move the network's numbers
  • Semantic recall — retrieve by meaning, not just by key
  • Attestation as it ships

There is no fee to use Decaf today, and no plan to add one for using it.