Skip to main content
Glama

forget

DestructiveIdempotent

Deletes a stored memory by its source ID when information is outdated or incorrect. Use for permanent removal; for corrections, store a new memory with supersedes to preserve history.

Instructions

Delete a memory by ID. Use when the user says 'forget this', 'delete that', 'that's wrong and should be removed'. Requires the source_id — get it from recall first.

This is destructive and cannot be undone. For corrections, prefer storing a new memory with the supersedes param pointing to the old one — this preserves history. If your agent's trust level is below full, that supersedes write may stage for human review instead of taking effect immediately.

Input Schema

NameRequiredDescriptionDefault
memory_idYesThe source_id of the memory to delete. Get this from recall results first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.19.3

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds real value beyond them: irreversibility, the history-preserving supersedes alternative, and the conditional staging-for-review behavior tied to trust level. It does not describe what the tool returns or confirms, which keeps it from 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?

Front-loaded with the core action and trigger phrases, then escalates to prerequisites and the safer alternative. The trust-level staging sentence is long but carries non-obvious information, so it earns its place; overall slightly denser than needed.

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?

For a one-parameter destructive tool with no output schema, the description covers purpose, prerequisite, irreversibility, alternative, and conditional staging. What it omits is only marginal: whether a success confirmation or error is returned and how to recover after deletion.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter already documents 'source_id of the memory to delete... from recall results,' so the description largely restates it; the added workflow hint (fetch via recall first) is useful but mirrored in the schema. Baseline 3 applies when the schema does the heavy lifting; note the minor terminology drift between 'source_id' in prose and 'memory_id' in the schema.

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?

The first sentence gives a specific verb and resource ('Delete a memory by ID'), and the trigger phrases ('forget this', 'delete that') disambiguate it from siblings like recall or capture. An agent can distinguish this from write_page/delete_page or supersedes-based correction paths 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 Guidelines5/5

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

It states exactly when to use it (user asks to forget/remove something), states the prerequisite ('get it from recall first'), and explicitly names the preferred alternative for corrections: storing a new memory with supersedes. Both when-to-use and when-not-to-use are covered.

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