Agent Memory
Get started

Memory and coordination · for agents

Many agents, one memory. Nothing lost to a race.

TessariDB Agent Memory holds what agent frameworks keep in files — goals and their evidence, plans and waves, tasks and claims, checklists, decisions and what each agent remembers — as records in TessariDB, behind one service that speaks MCP, REST and a command line.

docker run tessaridb/agent-memory0.4.1-alpha · alpha

SpeaksMCPRESTCLIClaude CodeCodexTessariDB

Why not files

Files work for one agent and fail quietly for several.

race

Two agents, one registry

Files have no transaction, so two agents writing the same registry race and the second write wins, with nobody in an error state.

lock

A lock file that outlives its owner

An advisory lock taken by a process that died without releasing it freezes the project until somebody notices and deletes it by hand.

drift

Links that disagree

An entry that links to another that links back drifts: six weeks later the two descriptions disagree and nothing says so.

history

Nobody can say who changed it

Without history there is no answer to who changed what and when, and without a live view no answer to which agent is working on what right now.

What a store gives that state

Transactions, recall, history and presence, for every agent at once.

transactions

Concurrency

Real transactions instead of advisory locks. A claim on a task is a bounded hold, and a second agent asking for it is refused rather than racing.

recall

Retrieval

Structured queries, full-text and vector search over the same records, ranked together in one read, each hit saying what found it.

graph

Relationships

Knowledge as a graph with links that cannot dangle silently. Withdraw a fact and everything resting on it is marked, in the same change.

history

History

Every change versioned and attributed to the session that made it, the person behind that session, and the credential they presented.

presence

Presence

Who is active, on what, since when, and with what claim. A session reports itself alive; nobody else can report it for it.

delivery

Delivery

Goals whose criteria must point at evidence, plans cut into waves, and checklists that gate a phase rather than decorate it.

Surfaces
MCP · REST · CLI
Verbs
22 carried, 3 withheld
Store
TessariDB
Licence
BUSL-1.1

Memories and facts

Write freely. Promote what proved true.

A memory is what one agent believes: no schema, no evidence, allowed to be wrong. The same words remembered again are counted rather than stored twice. A fact is what the project vouches for, and when it says it is confirmed it points at evidence — so the expensive schema is paid once, later, only for what mattered.

Memories, facts and citations →

Recall

Words and a vector, ranked in one read.

A recall with words and a vector is one read that the engine ranks by both at once, and every hit says which of the two found it. Each hit carries a one-line summary with its age and size, so a page of results says which are worth opening. A recall can be witnessed, and replayed later as it was seen.

How recall works →

Coordination

A claim instead of a lock file.

Every call belongs to a session — one run of one agent — and a session reports itself alive while it thinks. A task is claimed for a bounded hold that nothing renews, a second agent asking for it is refused, and a handoff moves the hold to another session in one change, with the log keeping who handed it to whom.

Sessions, claims and handoffs →

Delivery

A goal is achieved by evidence, not by saying so.

Goals are judged criterion by criterion, and a criterion passes only by pointing at evidence. Plans are cut into waves, a checklist is a gate because it was written before its phase, and a release is a record that refuses to be cut while anything in its range is unaccounted for.

Goals, plans, checklists, releases →

Tenancy

The signed-in identity is the namespace.

Isolation is a property of the credential, not a filter somebody has to remember, so a bug in path handling cannot leak one tenant’s records into another’s answer. Every verb is judged against the caller’s grants on all three surfaces, teams can deny, and every refusal is recorded beside every act.

Identity, grants and teams →

Status

Alpha, and saying so.

Agent Memory is at 0.4.1-alpha, on TessariDB 0.33.1-beta. Twenty-two of the contract’s twenty-five verbs are carried; the three withheld are refused by name, and export is one of them. It is free for any use, production and commercial included, except offering it to others as an agent memory service.

Part of the TessariDB family: TessariDB · TessariDB S3 · TessariKV.

shellsh
claude mcp add --transport http -s user \
  --client-id claude-code --callback-port 39143 \
  tessaridb-am http://127.0.0.1:39142/mcp

tessari-am remember --body "migrations run before the deploy" --kind semantic
tessari-am recall --text migrations