await_print_completion
Waits for a 3D print to reach completed, failed, cancelled, or timeout status, so agents can fire-and-forget a print and collect the result later without managing polling.
Instructions
Wait for the current print to finish and return the final status.
Polls the printer (or a specific queued job) until it reaches a
terminal state: completed, failed, cancelled, or the timeout is
exceeded. This lets agents fire-and-forget a print and pick up the
result later without managing their own polling loop.
A host that runs tools in the background (the MCP tasks extension) gets
a task back instead of a blocked call: keep working,
and the host says when the wait returns. There one call can wait as
long as the plan needs, up to the whole print. Closing that app ends
the wait, never the print.
Args:
job_id: Optional job ID from ``submit_job()``. When provided,
tracks that specific job through the queue/scheduler. When
omitted, monitors the printer directly for idle/error state.
timeout: Maximum seconds to wait (default 7200 = 2 hours).
poll_interval: Seconds between status checks (default 15).
brief_id: Optional saved-goal id from ``design_session``. When
the brief resolves, the terminal-outcome response gains a
``design_goal`` block with the design's duty / environment /
safety notes — so the agent surfacing the print result can
answer "did this match the goal?" without a separate
lookup. Best-effort: missing kiln-pro silently skips.
Returns a dict with ``outcome`` (completed / failed / cancelled /
timeout), final printer state, elapsed time, completion percentage
history, and (when ``brief_id`` resolves) a ``design_goal`` block.
A print carrying a hardware plan (pauses written in for nuts, magnets or
bearings) also returns early with ``outcome: "hardware_stop"`` and a
``hardware`` block: when a stop is a few minutes away, when the printer
has stopped for the parts, and when it went past a stop without
stopping. Tell the person what the block says, then wait again. A
finished print's ``hardware`` block names what goes in after the print.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "await_print_completion"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | Optional job ID from ``submit_job()``. When provided, tracks that specific job through the queue/scheduler. When omitted, monitors the printer directly for idle/error state. | |
| timeout | No | Maximum seconds to wait (default 7200 = 2 hours). Default: 7200. | |
| brief_id | No | Optional saved-goal id from ``design_session``. When the brief resolves, the terminal-outcome response gains a ``design_goal`` block with the design's duty / environment / safety notes — so the agent surfacing the print result can answer "did this match the goal?" without a separate lookup. Best-effort: missing kiln-pro silently skips. Default: "". | |
| poll_interval | No | Seconds between status checks (default 15). Default: 15. |