Skip to main content
Glama

Invalidate a fact

invalidate_fact
Destructive

Marks a stored fact as no longer valid without deleting it, preserving history when users correct or change information; requires the fact_id from a prior save or search.

Instructions

Marks a stored fact as no longer valid. Use this when the user corrects a fact, says something has changed, or explicitly asks to forget something. Does NOT delete the fact -- preserves history. Requires the fact_id from a prior save_fact or search_memory result. Do NOT use for new information -- use save_fact instead.

Input Schema

NameRequiredDescriptionDefault
reasonNoWhy the fact is no longer valid (optional but recommended)
fact_idYesUUID of the fact to invalidate
session_idNoCurrent session ID for the audit log

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.5

TDQS

A4.6/5.0
Behavior4/5

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

Adds context the annotations do not convey: history is preserved rather than deleted, and the call must be seeded with a fact_id from a prior save_fact or search_memory result. It does not address idempotency (calling twice on the same fact) or whether the operation is reversible, though the destructiveHint=true annotation already signals a state-changing write.

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

Conciseness5/5

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

Four short sentences, each doing distinct work: definition, triggers, non-destructive semantics, prerequisite, and the sibling exclusion. The core behavior is front-loaded in the first sentence.

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 three-parameter mutation tool with no output schema, the description covers what it does, when to call it, what it preserves, and the required input source. It stops short of stating what the tool returns or how an invalidated fact looks afterward, which is the only remaining gap.

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 the baseline would be 3; the description earns a bump by explaining where fact_id must come from (a prior save_fact or search_memory result), which is provenance the schema does not state. It says nothing about reason or session_id, but those are already documented 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?

States a specific verb and resource ('Marks a stored fact as no longer valid') and immediately distinguishes the operation from deletion ('Does NOT delete the fact -- preserves history'). An agent can separate it from save_fact and from a generic delete without opening the 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?

Gives concrete triggering conditions ('user corrects a fact, says something has changed, or explicitly asks to forget something') plus an explicit exclusion with the alternative named ('Do NOT use for new information -- use save_fact instead'). Both when and when-not are covered.

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

Deploy Server

Other Tools