Skip to main content
Glama

cancel_firmware_validation

Cancel remaining firmware validation steps without terminating an active flash write; if data collection has started, wait for the current run to finish and avoid re-burning.

Instructions

取消验证后续步骤,不强杀正在写 Flash 的升级器;若已开始采集可等本次结束,不重复烧录。

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": {
      "job_id": "<job_id>"
    },
    "name": "cancel_firmware_validation"
  }
}

Input Schema

NameRequiredDescriptionDefault
job_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.11.1

TDQS

B3.4/5.0
Behavior4/5

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

Annotations only declare the generic profile (readOnly=false, destructive=false, idempotent=false). The description adds genuinely useful non-obvious behavior: it cancels subsequent steps without force-killing the flasher, and an in-progress acquisition can be allowed to finish without re-burning. It does not address whether the job's final status becomes 'cancelled', or what happens if it is called after completion or twice (relevant to idempotentHint=false).

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?

A single front-loaded sentence opens with the action and then qualifies it, with no filler. The dense, clause-heavy punctuation makes it slightly harder to parse than necessary, but every clause carries information.

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

Completeness3/5

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

An output schema exists, so return values need no explanation, and the annotations cover the safety profile. What is missing for a state-mutating cancel tool is preconditions (which validation states can be cancelled, what job_id must reference) and the resulting job state, which the agent must guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter, job_id, with 0% schema description coverage, so the description carries the full burden of explaining it. The description never mentions job_id at all — not its origin (presumably get_firmware_validation_status or start_firmware_validation) nor what it identifies — leaving the agent to infer it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource pair (取消 firmware 验证) and clarifies the scope is the remaining steps rather than the in-flight flasher. It is distinguishable from start_firmware_validation and get_firmware_validation_status, though the phrase '后续步骤' leaves some ambiguity about what state the validation job must be in to be cancellable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives conditional guidance about behavior once collection has started (wait for this round to finish, don't re-flash), which implies when cancelling is safe. However it never explicitly says when to call this instead of letting validation complete or using status-checking siblings, so the routing guidance is only implied.

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