Memory your agents can trust. Every fact dated, sourced and forgettable.
Mercury is long-term memory for AI agents. It remembers what people tell them, knows when a fact changed and since when, keeps web pages and emails apart from the user's word, and forgets for real when asked. Plug it into Claude Code, Claude Desktop, Cursor or your own agent in one line.
What a memory is
Messages are what you send. Memories are what Mercury keeps, with their history attached.
| What it holds | Example | |
|---|---|---|
| The fact | One statement, in the user's own words | "I moved to Leeds last week" |
| When | When it became true, and when it stopped | current since 2 March; Bristol true until then |
| Source | Who said it, and how far to trust it | the user, an email, a web page, a tool |
| Status | Current, replaced, corrected, disputed, or only considered | "a web page says Paris, but you said Leeds" |
| Provenance | The message it came from, and what was built on it | forget the message and all of it goes |
One message can hold several memories. Each is linked to the one it replaces, so nothing is overwritten and every answer can show where it came from.
What your model sees
Recall hands your model one labelled memory sheet. Integrity is carried by the labels, so a stale or planted fact can't pass as the answer.
Built for the ways memory goes wrong
Recall is the easy part. The hard part is everything that makes remembered facts wrong, stale, leaked or planted.
Facts that change
Every fact keeps when it was true. Replacements are recorded as updates (true until then) or corrections (never true), so "where did I live in January?" has an answer.
Sources you can tell apart
A web page can never overwrite what the user said. Content that tries to instruct the memory is quarantined, and disagreements become questions for the user.
Forgetting that sticks
Forget a message and everything derived from it goes too: notes, lessons, logs. Users can ask in their own words: "forget where I live".
Forensics
why shows where each recalled line came from, history every version of a fact, and as_of what was true on a date.
Policies as code
"Never store health details from email", "forget locations after 7 days": rules per memory space, checked on every write.
Task memory
Agents start and end tasks; Mercury keeps what worked as verbatim, source-linked lessons and shows them the next time a similar job comes up.
Connect it anywhere
One API key, one memory, every client. Memory follows the user from Claude Code to Cursor to your own agents.
Claude Code
Remote MCP server plus the Mercury skill.
claude mcp add --transport http mercury https://mercury.enthara.ai/mcp \
--header "Authorization: Bearer $MERCURY_API_KEY"Claude Desktop, Cursor, any MCP client
A local or remote MCP server with 14 memory tools.
uvx --from "mercury-memory @ https://mercury.enthara.ai/sdk/mercury_memory-0.1.0-py3-none-any.whl" mercury-mcpPython and REST
For your own agents and backends.
curl https://mercury.enthara.ai/v1/spaces/me/recall \
-H "Authorization: Bearer $MERCURY_API_KEY" \
-H "content-type: application/json" \
-d '{"question": "Where do I live?"}'Priced in Memory Tokens
You pay for judgment work, not API calls. One Memory Token (MT) is roughly 1,000 tokens of model input. Reading your memory's history is free, and so is forgetting.
| Operation | When | Memory Tokens |
|---|---|---|
| Write | each message stored | 1 + 0.3 per extra fact in it |
| Recall | each question | 2 (+0.05 per candidate over 10) |
| Forget request | "forget where I live" | 1 |
| Task end | outcome and lessons | 1 + 0.05 per step |
| Consolidation | idle-time tidy | 0.03 per pair checked |
| Storage | hosted memory | 0.5 per 1,000 memories a month |
| Forget by id, history, why, as_of, explain, answers | any time | free |
During the beta every account gets a monthly MT allowance with its invite.