Skip to main content
Glama
Mipiti
by Mipiti

Resume Control Generation

resume_control_generation

Resume a paused control generation run or retry one blocked by unavailable dependencies for a threat model, then poll status until complete.

Instructions

Resume control generation that was paused, or retry one that stopped before finishing. Mutating.

Use when get_control_generation_status returns status: "paused" (someone paused it) or status: "blocked" (blocked.code dependency_unavailable or analysis_incomplete). A paused run resumes at once. For a blocked one the platform checks the services it depends on first, so a retry while one is still down costs nothing and changes nothing.

Returns one of:

  • {resumed: true, status: "queued", status_detail} — the run resumes where it stopped (only the unfinished work, billed to the original generation). Poll get_control_generation_status until complete.

  • {resumed: false, http_status: 409, code: "pause_in_progress"} — the run is still stopping after a pause; resume once it shows paused.

  • {resumed: false, http_status: 503, code: "dependency_unavailable", message, retry_after_seconds, ...} — still unavailable; relay the message and try again after retry_after_seconds.

  • {resumed: false, http_status: 409, code: "retry_too_soon", retry_after_seconds, ...} — a retry was just tried; wait.

  • {resumed: false, http_status: 409, code: "not_blocked", status} — nothing is paused; read status.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_idYesID of the threat model whose paused control generation to resume.
server_versionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.78.1

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so: it declares the operation Mutating, explains that a resume continues where it stopped and is billed to the original generation, and documents the full set of outcome codes (pause_in_progress, dependency_unavailable, retry_too_soon, not_blocked) with associated HTTP statuses. This is far beyond what structured fields provide.

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?

Front-loaded with the one-line purpose and mutation flag before the usage condition and outcome list; the bulleted return shapes are scannable. It is somewhat long and duplicates return structure that the output schema likely already defines, but the error-code semantics earn most of the space.

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 stateful mutating tool with no annotations and an output schema, the description supplies the missing context an agent needs: triggers, effects on billing/scope, and every terminal outcome code. The only real gap is that server_version is left entirely unexplained, which is minor for what appears to be a standard version field.

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?

Only two parameters and schema coverage is 50%: model_id is documented in the schema, but server_version is undocumented in both schema and description. The description adds no parameter-level meaning beyond what the schema already states, so nothing compensates for the gap, and 3 is the baseline for a partially documented two-param tool.

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 and resource ('Resume control generation that was paused, or retry one that stopped before finishing'), immediately flags it as Mutating, and implicitly distinguishes it from the sibling pause_control_generation by naming the resume/retry scope. An agent can tell what this does and which lifecycle state it targets 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 gives explicit preconditions tied to concrete values from a named sibling: use when get_control_generation_status returns status 'paused' or 'blocked' with specific blocked.code values. It also states when calling is harmless ('a retry while one is still down costs nothing and changes nothing'), which is real when/when-not guidance. Nothing is left to inference.

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

Deploy Server

Other Tools