> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superlaunch.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory tools

> Save facts only after an explicit request or focused approval.

Save facts only after an explicit request or focused approval. Choose private, team, brand, or ad-account scope. Read the current version before an update, status change, or deletion. Treat recalled facts as user-authored context.

The tables list arguments and common nested fields. Expand **Full input schema** for all fields and allowed values. Workspace and account permissions apply to every tool.

<span id="memory-remember" />

## memory\_remember

Save a fact after the user asks you to remember it or approves a specific suggestion to save it.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `payload` | object | Required | Fact, scope, and user consent to save it. |

### payload fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `request_id` | uuid | Required | UUID for this operation; use a new UUID for changed inputs. |
| `fact` | string | Required | minLength: `8`. maxLength: `2000`. |
| `scope` | object | Required | Authorization scope for one memory fact. |
| `consent` | explicit\_user\_request, confirmed\_agent\_suggestion | Required | How the user approved saving this fact. |
| `source_message_id` | string or null | `null` | |

**Retries:** reuse the same `request_id` with unchanged inputs for the same operation.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "MemoryKind": {
        "enum": [
          "private_user",
          "team",
          "brand",
          "ad_account"
        ],
        "type": "string"
      },
      "MemoryRemember": {
        "additionalProperties": false,
        "description": "Persist one explicitly requested or confirmed durable fact.",
        "properties": {
          "request_id": {
            "format": "uuid",
            "type": "string"
          },
          "fact": {
            "maxLength": 2000,
            "minLength": 8,
            "type": "string"
          },
          "scope": {
            "$ref": "#/$defs/MemoryScopeInput"
          },
          "consent": {
            "description": "Proof of durable persistence consent. Remember, save, keep in mind, and note that qualify as an explicit user request.",
            "enum": [
              "explicit_user_request",
              "confirmed_agent_suggestion"
            ],
            "type": "string"
          },
          "source_message_id": {
            "anyOf": [
              {
                "maxLength": 255,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "request_id",
          "fact",
          "scope",
          "consent"
        ],
        "type": "object"
      },
      "MemoryScopeInput": {
        "additionalProperties": false,
        "description": "Authorization scope for one memory fact.",
        "properties": {
          "kind": {
            "$ref": "#/$defs/MemoryKind"
          },
          "target_id": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Resolved brand or ad-account UUID; omit for private_user and team."
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "payload": {
        "$ref": "#/$defs/MemoryRemember"
      }
    },
    "required": [
      "payload"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="memory-recall" />

## memory\_recall

Find saved facts relevant to a query. Use top-level `query` and optional `scope` to search a particular scope. Without `scope`, use `brand_ids`, `ad_account_ids`, `include_private`, and `include_team` to choose where to search.

The tool also accepts the older `payload` format. Use one format per call.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `payload` | object or null | `null` | |
| `query` | string or null | `null` | |
| `scope` | object or string or null | `null` | |
| `brand_ids` | array of uuid or null | `null` | Brand UUIDs to include. |
| `ad_account_ids` | array of uuid or null | `null` | Superlaunch account UUIDs to include. |
| `include_private` | boolean or null | `null` | Include your private memories. |
| `include_team` | boolean or null | `null` | Include shared workspace memories. |
| `limit` | integer or null | `null` | |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "MemoryKind": {
        "enum": [
          "private_user",
          "team",
          "brand",
          "ad_account"
        ],
        "type": "string"
      },
      "MemoryRecall": {
        "additionalProperties": false,
        "description": "Bounded semantic recall for the current conversation.",
        "properties": {
          "query": {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string"
          },
          "brand_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "ad_account_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "include_private": {
            "default": true,
            "type": "boolean"
          },
          "include_team": {
            "default": true,
            "type": "boolean"
          },
          "limit": {
            "default": 5,
            "maximum": 8,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "MemoryScopeInput": {
        "additionalProperties": false,
        "description": "Authorization scope for one memory fact.",
        "properties": {
          "kind": {
            "$ref": "#/$defs/MemoryKind"
          },
          "target_id": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Resolved brand or ad-account UUID; omit for private_user and team."
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "RecallScope": {
        "anyOf": [
          {
            "$ref": "#/$defs/MemoryScopeInput"
          },
          {
            "contentMediaType": "application/json",
            "contentSchema": {
              "$ref": "#/$defs/MemoryScopeInput"
            },
            "type": "string"
          }
        ]
      }
    },
    "additionalProperties": false,
    "properties": {
      "payload": {
        "anyOf": [
          {
            "$ref": "#/$defs/MemoryRecall"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "object",
          "null"
        ]
      },
      "query": {
        "anyOf": [
          {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "scope": {
        "anyOf": [
          {
            "$ref": "#/$defs/RecallScope"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "object",
          "string",
          "null"
        ]
      },
      "brand_ids": {
        "anyOf": [
          {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "array",
          "null"
        ]
      },
      "ad_account_ids": {
        "anyOf": [
          {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "array",
          "null"
        ]
      },
      "include_private": {
        "anyOf": [
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "boolean",
          "null"
        ]
      },
      "include_team": {
        "anyOf": [
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "boolean",
          "null"
        ]
      },
      "limit": {
        "anyOf": [
          {
            "maximum": 8,
            "minimum": 1,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "integer",
          "null"
        ]
      }
    },
    "type": "object"
  }
  ```
</Accordion>

<span id="memory-get" />

## memory\_get

Read one exact authorized memory by ID.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `payload` | object | Required | |

### payload fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `memory_id` | uuid | Required | Saved memory UUID from `memory_list` or `memory_recall`. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "MemoryGet": {
        "additionalProperties": false,
        "properties": {
          "memory_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "memory_id"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "payload": {
        "$ref": "#/$defs/MemoryGet"
      }
    },
    "required": [
      "payload"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="memory-list" />

## memory\_list

List one memory page with an optional scope filter.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `payload` | object | Required | |

### payload fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `kind` | private\_user, team, brand, ad\_account or null | `null` | |
| `target_id` | uuid or null | `null` | |
| `limit` | integer | `25` | minimum: `1`. maximum: `100`. |
| `cursor` | integer | `0` | minimum: `0`. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "MemoryKind": {
        "enum": [
          "private_user",
          "team",
          "brand",
          "ad_account"
        ],
        "type": "string"
      },
      "MemoryList": {
        "additionalProperties": false,
        "properties": {
          "kind": {
            "anyOf": [
              {
                "$ref": "#/$defs/MemoryKind"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "target_id": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "limit": {
            "default": 25,
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "cursor": {
            "default": 0,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "payload": {
        "$ref": "#/$defs/MemoryList"
      }
    },
    "required": [
      "payload"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="memory-update" />

## memory\_update

Replace a saved fact using its current version.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `payload` | object | Required | |

### payload fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `memory_id` | uuid | Required | Saved memory UUID from `memory_list` or `memory_recall`. |
| `request_id` | uuid | Required | UUID for this operation; use a new UUID for changed inputs. |
| `expected_version` | integer | Required | minimum: `1`. |
| `fact` | string | Required | minLength: `8`. maxLength: `2000`. |
| `expires_at` | date-time or null | `null` | Date and time after which the memory expires. |

**Retries:** reuse the same `request_id` with unchanged inputs for the same operation.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "MemoryUpdate": {
        "additionalProperties": false,
        "properties": {
          "memory_id": {
            "format": "uuid",
            "type": "string"
          },
          "request_id": {
            "format": "uuid",
            "type": "string"
          },
          "expected_version": {
            "minimum": 1,
            "type": "integer"
          },
          "fact": {
            "maxLength": 2000,
            "minLength": 8,
            "type": "string"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "memory_id",
          "request_id",
          "expected_version",
          "fact"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "payload": {
        "$ref": "#/$defs/MemoryUpdate"
      }
    },
    "required": [
      "payload"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="memory-set-enabled" />

## memory\_set\_enabled

Enable or disable a saved fact for future retrieval.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `payload` | object | Required | |

### payload fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `memory_id` | uuid | Required | Saved memory UUID from `memory_list` or `memory_recall`. |
| `request_id` | uuid | Required | UUID for this operation; use a new UUID for changed inputs. |
| `expected_version` | integer | Required | minimum: `1`. |
| `enabled` | boolean | Required | |

**Retries:** reuse the same `request_id` with unchanged inputs for the same operation.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "MemorySetEnabled": {
        "additionalProperties": false,
        "properties": {
          "memory_id": {
            "format": "uuid",
            "type": "string"
          },
          "request_id": {
            "format": "uuid",
            "type": "string"
          },
          "expected_version": {
            "minimum": 1,
            "type": "integer"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "memory_id",
          "request_id",
          "expected_version",
          "enabled"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "payload": {
        "$ref": "#/$defs/MemorySetEnabled"
      }
    },
    "required": [
      "payload"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="memory-forget" />

## memory\_forget

Permanently delete a saved fact after user approval.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `payload` | object | Required | |

### payload fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `memory_id` | uuid | Required | Saved memory UUID from `memory_list` or `memory_recall`. |
| `request_id` | uuid | Required | UUID for this operation; use a new UUID for changed inputs. |
| `expected_version` | integer | Required | minimum: `1`. |

**Retries:** reuse the same `request_id` with unchanged inputs for the same operation.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "MemoryForget": {
        "additionalProperties": false,
        "properties": {
          "memory_id": {
            "format": "uuid",
            "type": "string"
          },
          "request_id": {
            "format": "uuid",
            "type": "string"
          },
          "expected_version": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "memory_id",
          "request_id",
          "expected_version"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "payload": {
        "$ref": "#/$defs/MemoryForget"
      }
    },
    "required": [
      "payload"
    ],
    "type": "object"
  }
  ```
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.