Memories
MCP tools for the Memories module. See the Memories module docs for permissions and data model.
list-memories
List memories
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_store_id | string | yes | Memory store to list memories from (mstore_...) |
tags | array | no | Filter by tag pairs, written key:value (split on the first colon, so a value may contain colons). Repeat the parameter for several pairs; all must be present with exactly that value. |
limit | number | no | Results per page. Above the maximum it is clamped, and limit in the response reports the page served; below 1 or not an integer it is 400 VALIDATION_FAILED. |
offset | number | no | Results to skip. Negative or not an integer it is 400 VALIDATION_FAILED. |
include_invalidated | boolean | no | Include invalidated memories — superseded or retracted. They are excluded by default; set this to audit what a store once held. |
create-memory
Create a memory
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_store_id | string | yes | Memory store to add the memory to (mstore_...) |
content | string | yes | The text content of the memory |
source_type | string | no | Whether there is a source to point at. conversation requires source_id; manual rejects it. |
source_id | string | no | The conversation this fact was learned in. Required when source_type is conversation, and rejected otherwise. |
tags | any | no | Per-memory key-value tags, used for memory-granularity filtering by tags in search-knowledge. |
metadata | any | no | Arbitrary structured metadata attached to the memory |
supersedes | string | no | The memory this write replaces, named outright. The declaration outranks the thresholds in both directions: the target is retired and the write returns superseded however similar or distant the two texts are. This is what reaches a contradiction cosine cannot see ("The office is in Lisbon" then "We closed the Lisbon office"). The target must be a still-valid memory in the same memory store, and the caller needs memories:UpdateMemory on it as well as memories:CreateMemory on the store. |
duplicate_threshold | number | no | Cosine similarity at or above which the incoming content is a duplicate of an existing memory and the write is skipped. Overrides the store's duplicate_threshold for this call; falls back to the store's value, then to 0.95. |
supersede_threshold | number | no | Cosine similarity at or above which the incoming content restates a fact that has changed: the top match is invalidated and a new memory replaces it. Overrides the store's supersede_threshold for this call; falls back to the store's value, then to 0.90. The effective pair must satisfy supersede_threshold < duplicate_threshold, and the check runs against the effective pair — so overriding only one value cannot invert it against the store's other one. |
get-memory
Get a memory
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_id | string | yes | — |
update-memory
Update a memory
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_id | string | yes | — |
content | string | no | Updated text content |
tags | any | no | Replaces the memory's tags. Pass null or an empty object to clear. |
metadata | any | no | Replaces the memory's metadata. Pass null to clear. |
expected_version | any | no | Refuses the write unless the memory is at this version. |
delete-memory
Delete a memory
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_id | string | yes | — |
retract-memory
Retract a memory
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_id | string | yes | — |
expected_version | any | no | Refuses the retraction unless the memory is at this version. |
list-memory-assertions
List a memory's assertions
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_id | string | yes | — |
limit | number | no | Results per page. Above the maximum it is clamped, and limit in the response reports the page served; below 1 or not an integer it is 400 VALIDATION_FAILED. |
offset | number | no | Results to skip. Negative or not an integer it is 400 VALIDATION_FAILED. |
get-memory-tags
Get memory tags
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_id | string | yes | Memory ID |
replace-memory-tags
Replace memory tags
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_id | string | yes | Memory ID |
merge-memory-tags
Merge memory tags
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
memory_id | string | yes | Memory ID |