Skip to main content
Glama

cancel

Withdraw a sent request before the recipient acts: it leaves the inbox and stops waking anyone. Once read, in progress, or answered, cancellation is refused—send a follow-up instead.

Instructions

Withdraw a request you sent that the recipient has not taken yet: it leaves its inbox, nobody is woken for it any more, and if it already reached the recipient's conversation, read and reply tell it the request is cancelled. Refused once read, in progress or answered: too late, send a follow-up instead.

Args: id: id returned by send.

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": {
      "id": "<id>"
    },
    "name": "cancel"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.8.7

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only flag it as a non-read-only, non-idempotent, non-destructive mutation, so the description carries most of the load and does it well: it explains what changes in the recipient's inbox, that read and reply surface a cancelled state, and that the call is refused after read/progress/answer. It does not say what a successful response looks like or whether a cancelled request can be re-sent.

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?

Opens with the operation and its effect, then the refusal condition and fallback, then the argument provenance. Every clause carries information; nothing restates the name.

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 mutation with no output schema, the description covers the semantics an agent needs to decide and call correctly, including the failure mode. The remaining gap is return/error surface — what a refused call yields versus a successful one.

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 0%, so the description must compensate, and it does: 'id: id returned by send' tells the agent where the identifier comes from — the key disambiguation for a single opaque string parameter. It stops short of format or error semantics for an invalid id.

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+resource+scope: withdraw a request you sent that the recipient has not taken yet. The effect is spelled out (leaves inbox, no longer wakes the recipient), which distinguishes it cleanly from send, reply, and close among the siblings.

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?

Explicitly names the disqualifying states — already read, in progress, or answered — and gives the alternative: 'too late, send a follow-up instead.' That is a full when/when-not/alternative routing statement.

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