Skip to main content
Glama

build_cancel

DestructiveIdempotent

Cancel a running build: mark the run as cancelled and release its host lease, terminating the owned process so resources are freed for other tasks.

Instructions

Cancel a run: mark it cancelled and release its host lease (terminates the process when this server owns it).

Input Schema

NameRequiredDescriptionDefault
run_idYes

Output Schema

NameRequiredDescriptionDefault
idYes
kindNobuild
lockNoThe host lock this run holds (owner build:<id>), when it is still its own
notesNo
ownerYesHost-lock owner holding this run's lease, 'build:<id>'
handleNoProcess handle (pid) when known
statusYes
commandYes
host_idYes
summaryNoParsed counts from the log summary line
web_urlNoAbsolute URL of this run's page in the web UI (Activity page)
log_pathNo
warningsNoMaterial-guard findings; None when the log was clean or unscanned
artifactsNo
exit_codeNo
created_atYes
updated_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructive, idempotent, non-readonly behavior, so the bar is lower; the description still adds real context beyond them by explaining the host-lease release and the conditional process termination when this server owns the host. It does not say what happens to partial artifacts or whether cancellation is refused in terminal states.

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?

One sentence, front-loaded with the action, with the mechanism in a tight parenthetical. Nothing is wasted and nothing is buried.

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 not be explained, and the mutation semantics are covered. Still missing for a destructive sibling-rich tool: how to identify the run, and how this differs from job_cancel.

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?

Schema description coverage is 0% for the single required run_id, so the description must compensate, and it does not — no format, no hint to obtain it from build_list or build_status. The parameter is entirely opaque from the text.

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 and resource ('Cancel a run') and adds the concrete effect of marking it cancelled and releasing its host lease. It is distinguishable from build_start/build_status/build_wait, though it does not explicitly separate itself from the similarly named sibling job_cancel.

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?

Usage is implied by the name and effect but never stated: no guidance on when to cancel versus letting a build run, and no mention of the job_cancel alternative for job-level runs. An agent must infer the calling conditions.

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