Cancel an Errands call
cancel_call_taskStops an Errands task. graceful records a wrap-up and hangs up. immediate hangs up. A task that has not dialled is cancelled without a call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| task_id | Yes |
cancel_call_taskStops an Errands task. graceful records a wrap-up and hangs up. immediate hangs up. A task that has not dialled is cancelled without a call.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| task_id | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and idempotentHint=false, so the safety profile is already covered. The description adds real context the annotations do not: the meaning of each mode (graceful wraps up before hanging up vs immediate hang-up) and the edge case that a task which has not dialled is cancelled without a call. It stops short of stating what happens on a second cancel or an invalid task_id.
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?
Three short sentences, no filler, with the core action and each mode's consequence front-loaded. Every sentence earns its place, including the non-dialled edge case.
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?
With no output schema, return behaviour is not the description's responsibility, and annotations already cover the destructive/idempotency profile. What remains uncovered is minimal: error behaviour for an unknown or already-cancelled task, and whether graceful mode waits for completion.
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 description coverage is 0%, so the description carries the burden — and it does for the non-obvious parameter, explaining both 'graceful' and 'immediate' enum values, which the schema lists without meaning. task_id itself is left undefined, but its semantics are self-evident from the tool name.
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?
Opens with a specific verb+resource ('Stops an Errands task'), which cleanly separates it from the create/get/list/quote call-task siblings. It does not name a sibling for disambiguation, but the action is unambiguous.
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?
Usage is implied by the verb — an agent can infer this is the way to abort a running task — but there is no explicit when-to-use vs when-not framing, no statement about prerequisites, and no pointer to get_call_task/list_call_tasks for checking status first.
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.