Skip to main content
Glama

Forget XMemo memory or TODO

forget
Destructive

Delete one memory, TODO, or Ledger transaction by current/latest, an exact memory reference, an exact TODO ID from list_memory_todos, or an exact transaction ID from list_ledger_transactions. The default is a recoverable soft delete that restore_memory can undo; mode='hard' is permanent and unrecoverable; requires explicit user confirmation of permanent deletion. Ambiguous targets are resolved before deleting.

Input Schema

NameRequiredDescriptionDefault
modeNoDeletion mode: soft or soft_delete is the recoverable default; hard or hard_delete is permanent and unrecoverable; requires explicit user confirmation of permanent deletion.soft
reasonNoOptional user-facing reason for the deletion.
targetNoThe memory to forget: current or an exact memory ID shown by search.current
memory_idNoExact XMemo memory reference shown by search or recall.
query_hintNoInput value for the Forget tool.
metadata_jsonNoOptional JSON object string with extra metadata for the operation.{}
replacement_contentNoReplacement text to store when redacting or replacing deleted memory content.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / mode / description
      Previous value: -"Deletion mode: soft or soft_delete is the recoverable default; hard or hard_delete is permanent and unrecoverable and may be used only after explicit user confirmation."New value: +"Deletion mode: soft or soft_delete is the recoverable default; hard or hard_delete is permanent and unrecoverable; requires explicit user confirmation of permanent deletion."
  2. Changed4 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / metadata_json
      Added value: +{
      +  "default": "{}",
      +  "description": "Optional JSON object string with extra metadata for the operation.",
      +  "title": "Metadata Json",
      +  "type": "string"
      +}
    • addedInput schema / properties / query_hint
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Input value for the Forget tool.",
      +  "title": "Query Hint"
      +}
    • addedInput schema / properties / replacement_content
      Added value: +{
      +  "default": "",
      +  "description": "Replacement text to store when redacting or replacing deleted memory content.",
      +  "title": "Replacement Content",
      +  "type": "string"
      +}
  3. Changed8 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / memory_id
      Added value: +{
      +  "default": "",
      +  "description": "Exact XMemo memory reference shown by search or recall.",
      +  "title": "Memory Id",
      +  "type": "string"
      +}
    • removedInput schema / properties / metadata_json
      Removed value: -{
      -  "default": "{}",
      -  "description": "Optional JSON object string with extra metadata for the operation.",
      -  "title": "Metadata Json",
      -  "type": "string"
      -}
    • changedInput schema / properties / mode / default
      Previous value: -"hard"New value: +"soft"
    • changedInput schema / properties / mode / description
      Previous value: -"Deletion mode for forget_memory, such as soft_delete, hard_delete, or redact when supported."New value: +"Deletion mode: soft or soft_delete is the recoverable default; hard or hard_delete is permanent and unrecoverable and may be used only after explicit user confirmation."
    • addedInput schema / properties / mode / enum
      Added value: +[
      +  "soft",
      +  "soft_delete",
      +  "hard",
      +  "hard_delete"
      +]
    • removedInput schema / properties / query_hint
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Input value for the Forget tool.",
      -  "title": "Query Hint"
      -}
    • removedInput schema / properties / replacement_content
      Removed value: -{
      -  "default": "",
      -  "description": "Replacement text to store when redacting or replacing deleted memory content.",
      -  "title": "Replacement Content",
      -  "type": "string"
      -}
  4. Changed1 schema field changed
    • changedInput schema / properties / mode / default
      Previous value: -"soft"New value: +"hard"
  5. Changed4 schema fields changed
    • addedInput schema / properties / metadata_json
      Added value: +{
      +  "default": "{}",
      +  "description": "Optional JSON object string with extra metadata for the operation.",
      +  "title": "Metadata Json",
      +  "type": "string"
      +}
    • addedInput schema / properties / mode
      Added value: +{
      +  "default": "soft",
      +  "description": "Deletion mode for forget_memory, such as soft_delete, hard_delete, or redact when supported.",
      +  "title": "Mode",
      +  "type": "string"
      +}
    • addedInput schema / properties / query_hint
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Input value for the Forget tool.",
      +  "title": "Query Hint"
      +}
    • addedInput schema / properties / replacement_content
      Added value: +{
      +  "default": "",
      +  "description": "Replacement text to store when redacting or replacing deleted memory content.",
      +  "title": "Replacement Content",
      +  "type": "string"
      +}
  6. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare destructiveHint=true and idempotentHint=false; the description adds the crucial default (soft, recoverable), the undo path (restore_memory), and the confirmation requirement for hard deletes. It does not say what happens to linked relationships or whether hard delete is available for all target types, which limits it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the actionable delete targets before the mode/recoverability rules. The first sentence is dense but every clause carries routing information; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, and the description covers the high-risk pieces: recoverability, permanence, confirmation, and ambiguity handling. Remaining gaps are secondary behaviors such as effects on memory links or which target types support hard deletion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description goes further by explaining how target values are obtained ('current/latest', exact memory reference, exact IDs from list_memory_todos / list_ledger_transactions) and by naming mode='hard' explicitly, but it says nothing about query_hint, replacement_content, or metadata_json.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (delete) and enumerates the exact resource types (memory, TODO, Ledger transaction) plus how each target is addressed. It names the sibling tools that produce the required references (list_memory_todos, list_ledger_transactions), so it is distinguishable from restore_memory and update_memory without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear routing context: default soft delete is recoverable via restore_memory, mode='hard' is permanent and needs explicit user confirmation, and ambiguous targets are disambiguated before deletion. It does not contrast against other mutating siblings like update_memory or remove_memory_relationship, so the exclusion guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.