Store a memory
memory_storeSave one durable fact, preference, decision, credential, or configuration to encrypted cross-session memory for future recall. Provide a source so each stored claim records how it was established.
Instructions
Save ONE claim to the user's persistent, encrypted, cross-session memory.
STORE anything worth referencing again in future work: names, addresses, contacts, account IDs, passwords, API keys and other credentials, lasting file locations and configuration, preferences, and every durable fact or decision reached. Not transient chatter, one-off trivia, things freely available on the internet, or the working details of a task in progress, such as run results, errors, log contents and temporary paths or settings.
text is ONE claim, at most 200 characters (the max_memory_chars
default) - enforced, and lists, headings and paragraphs are refused with
it. Several facts go through memory_store_many, one record each, in one
call.
kind is "fact" (default) or "opinion". Opinions - preferences, stances,
judgement calls, recommendations - UPDATE instead of accumulate: storing
one that resembles a live opinion returns {"stored": false, "conflicts":
[old records]} instead of inserting. Resend with supersedes=[old id] to
replace (send a merged text to keep parts of both), or supersedes=[] to
deliberately hold both. Restating a live opinion refreshes its date and
returns {"reaffirmed": true}. Put the why inside the claim ("advised X:
reason"). supersedes also works on facts, to correct one: the replaced
record leaves search but stays readable by id.
source is REQUIRED: how the fact was established, in a few words -
"web search", "read from pyproject.toml", "from chat". Never invent one.
compartment stamps it, the discovery date and any expiry onto the text as
"[web search, 2026-08-01]", so never write them into the text yourself.
discovered (YYYY-MM-DD) is only for a fact established before today.
expires is only for a fact that knows its last true day: 2026-09-03,
or 14d / 2w / 3m / 1y, that day inclusive.
importance, 0.0-1.0 (default 0.5, out-of-range clamped): 0.90
decisions, consent, "remember this"; 0.80 personal facts and preferences;
0.75 the user's machine and configuration; 0.55 other substantive
statements; 0.20 pleasantries.
Returns the id (an existing id if a near-duplicate), with the stamped date.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | fact | |
| tags | No | ||
| text | Yes | ||
| source | Yes | ||
| expires | No | ||
| namespace | No | ||
| discovered | No | ||
| importance | No | ||
| supersedes | No | ||
| quarantined | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |