fathom_forget
Forget a memory for good when your person asks, using their own link exactly as they have it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | Your person's own memory link, for example https://…/memories/mem-…?key=… |
Forget a memory for good when your person asks, using their own link exactly as they have it.
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | Your person's own memory link, for example https://…/memories/mem-…?key=… |
Changes observed during successful MCP inspections.
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description reinforces it with "for good," making irreversibility unambiguous rather than merely flagged. It also adds the non-obvious requirement that the link must be the person's own, passed verbatim — a behavioral constraint not present in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the destructive action front-loaded and the input constraint trailing. No filler, no restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
One parameter, full schema coverage, annotations covering the safety profile, and no output schema — the description supplies everything else an agent needs before invoking it. It stops short of describing what happens after deletion (confirmation, error on bad link), a minor omission for a one-parameter destructive call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the single link parameter with an example, setting the baseline at 3. The description adds real meaning beyond that by stressing "their own" and "exactly as they have it," implying exact-match semantics with no normalization or reconstruction — a constraint the schema does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Forget a memory") plus permanence ("for good"), which pairs cleanly against the sibling fathom_remember and separates it from fathom_find. It never names a sibling explicitly, so the differentiation is inferential rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"when your person asks" gives a trigger condition for use, and "using their own link exactly as they have it" constrains the call. There is no when-not guidance and no mention that fathom_find is the way to obtain the link in the first place, so the agent must infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.