Skip to main content
Glama

delete_rfi

Withdraw an RFI to preserve its number and remove markup links while keeping notes; use it for questions raised in error, with undo support.

Instructions

Withdraw an RFI. A TOMBSTONE, never a renumber: the record stays with its number reserved, so the register and the marked set keep printing a gap where it was and the next RFI takes the next number — an RFI number that went out and then meant something else would be a lie. Every markup linked to it keeps its note and loses the link (the canvas's own delete rule). Withdraw a question you raised in error; a question the architect answered is closed in the register, not deleted. Journaled; undo_last puts the record and its links back.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "rfi_id": "<rfi_id>"
    },
    "name": "delete_rfi"
  }
}

Input Schema

NameRequiredDescriptionDefault
rfi_idYesRecord id from create_rfi or list_rfis

Output Schema

NameRequiredDescriptionDefault
noteYes
numberYesIts number — stays reserved; the register and the marked set keep the gap
deletedYesThe withdrawn record's id
rfis_remainingYesLive RFIs after the withdrawal
unlinked_markupsYesMarkups that kept their note and lost the link

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.1.31
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / rfis_remaining / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / rfis_remaining / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / unlinked_markups / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / unlinked_markups / minimum
      Added value: +-9007199254740991
  2. Addedv0.1.21

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are supplied, so the description carries the full load, and it does: it discloses the tombstone/number-reservation semantics, the effect on linked markups (note kept, link dropped, attributed to the canvas delete rule), that the action is journaled, and that undo_last restores both record and links. That is unusually complete disclosure of side effects and reversibility for a destructive operation.

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?

The action is front-loaded in three words, followed by rationale, side effects and reversibility in a sensible order. The aside that a reused number "would be a lie" is rhetorical padding, but the surrounding clauses do justify the tombstone design and are not wasted.

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

Completeness5/5

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

For a destructive single-parameter tool with no annotations, the description covers consequences, numbering guarantees, effect on linked markup, journaling and undo, and an output schema exists so return values need no explanation. Nothing an agent needs before invoking it is missing.

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?

There is a single parameter and schema coverage is 100%, with the schema already explaining that rfi_id comes from create_rfi or list_rfis. The description adds no additional meaning about the identifier itself, so the baseline applies.

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?

"Withdraw an RFI" is a specific verb plus resource, immediately distinguished from create_rfi, list_rfis and resolve_rfi by name and by the explicit statement that this is a tombstone rather than a renumber. An agent knows exactly which operation this is 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?

It states the positive case ("withdraw a question you raised in error") and the negative case with the alternative ("a question the architect answered is closed in the register, not deleted"), which points the agent toward resolve/close behavior instead. That is explicit when/when-not guidance rather than implied context.

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