Store a memory
memory_storePersist one important claim—fact, preference, or credential—to an encrypted vault for cross-session recall.
Instructions
Save ONE claim to the user's persistent, encrypted, cross-session memory: anything worth recalling later that is not common public knowledge
names, addresses, contacts, account IDs, passwords, API keys and other credentials, file paths, configuration, preferences, and durable facts or decisions. Call it the moment such information appears; do not store transient chatter or one-off trivia.
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 |