Skip to main content
Glama

resume_interrupted_print

Destructive

Resume an interrupted FDM print by planning recovery actions first, then executing them after a digest confirmation.

Instructions

Resume an interrupted print with one call on any supported FDM printer (Pro).

This tool may ask this computer to act on your printer (upload, start, pause, resume, set a speed preset). It first answers with the actions it wants and why, and runs nothing; call it again with run_actions set to the actions_digest it answered with to carry out exactly those actions through Kiln's own tools here, with every check those tools make.

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": {
      "original_gcode_path": "<original_gcode_path>"
    },
    "name": "resume_interrupted_print"
  }
}

Input Schema

NameRequiredDescriptionDefault
layerNoThe layer to resume FROM. Default 0 → auto-resolve from ``printer_status.job.current_layer``. Pass explicitly if the printer was power-cycled and current_layer is stale. Default: 0.
use_amsNoBambu-only. Tri-state routing for the resumed print's filament source (``"auto"`` / ``"true"`` / ``"false"``). Default ``"auto"`` — inspects the current AMS state and picks the tray that's actively loaded (``tray_now``); falls back to external spool when nothing is loaded. Ignored on non-Bambu adapters. Pass ``"false"`` to feed from the external spool regardless of AMS state. Default: "auto".
ams_mappingNoBambu-only. Explicit AMS slot mapping per extruder (e.g. ``[2]`` = pull from tray 2). Default ``None`` — lets ``start_print`` auto-resolve from AMS state or 3MF plate metadata. Ignored on non-Bambu adapters.
run_actionsNoLeave empty on the first call: the tool answers with the actions it wants and an actions_digest, and runs nothing. Call again with that digest here to carry out exactly those actions. Default: "".
printer_nameNoWhich printer. Default empty → active printer. Default: "".
material_typeNoSets the overlap layers in the resume file Kiln builds. Default ``"PLA"``. Default: "PLA".
target_ams_slotNoOptional 0-indexed AMS slot to force for a material-changing resume. When supplied, Kiln emits the same slot into the resume preamble and the ``start_print`` call. Default: -1.
require_ams_matchNoTrue (the default) refuses the resume when AMS status cannot prove the requested filament route; False proceeds on the caller's word. Default: true.
prime_extrusion_mmNoExtruder purge length in mm at the safe Z-lift position, default 5.0. It re-pressurizes the hotend after the cancel-to-start transition, which would otherwise leave the extruder retracted and printing air. Set lower only when the melt is known intact; set 0 only when you have primed another way. Default: 5.0.
original_gcode_pathYesPath to the ORIGINAL (pre-pause) PrusaSlicer gcode. Required — kiln can't infer this from the printer's reported filename alone because Bambu only exposes the 3MF name (the source gcode may live in a slicer profile temp dir the agent knows and the printer doesn't).
target_filament_typeNoOptional expected tray material. Without ``target_ams_slot``, Kiln resolves exactly one matching loaded tray from AMS status or fails closed. Default: "".
target_filament_colorNoOptional expected tray color (hex or common name). Used with the same hard verification as ``target_filament_type``. Default: "".
manual_material_change_confirmedNoNon-Bambu safety gate for requested material/color changes. Set True only after a human/operator has loaded the target material into the active feed path; otherwise Kiln refuses before canceling or uploading anything. Default: false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changedv1.5.1
    • addedInput schema / properties / ams_mapping / description
      Added value: +"Bambu-only. Explicit AMS slot mapping per extruder (e.g. ``[2]`` = pull from tray 2). Default ``None`` — lets ``start_print`` auto-resolve from AMS state or 3MF plate metadata. Ignored on non-Bambu adapters."
    • changedInput schema / properties / layer / description
      Previous value: -"Default: 0."New value: +"The layer to resume FROM. Default 0 → auto-resolve from ``printer_status.job.current_layer``. Pass explicitly if the printer was power-cycled and current_layer is stale. Default: 0."
    • changedInput schema / properties / manual_material_change_confirmed / description
      Previous value: -"Default: false."New value: +"Non-Bambu safety gate for requested material/color changes. Set True only after a human/operator has loaded the target material into the active feed path; otherwise Kiln refuses before canceling or uploading anything. Default: false."
    • changedInput schema / properties / material_type / description
      Previous value: -"Default: \"PLA\"."New value: +"Sets the overlap layers in the resume file Kiln builds. Default ``\"PLA\"``. Default: \"PLA\"."
    • changedInput schema / properties / original_gcode_path / description
      Previous value: -"Default: \"\"."New value: +"Path to the ORIGINAL (pre-pause) PrusaSlicer gcode. Required — kiln can't infer this from the printer's reported filename alone because Bambu only exposes the 3MF name (the source gcode may live in a slicer profile temp dir the agent knows and the printer doesn't)."
    • changedInput schema / properties / prime_extrusion_mm / description
      Previous value: -"Default: 5.0."New value: +"Extruder purge length in mm at the safe Z-lift position, default 5.0. It re-pressurizes the hotend after the cancel-to-start transition, which would otherwise leave the extruder retracted and printing air. Set lower only when the melt is known intact; set 0 only when you have primed another way. Default: 5.0."
    • changedInput schema / properties / printer_name / description
      Previous value: -"Default: \"\"."New value: +"Which printer. Default empty → active printer. Default: \"\"."
    • changedInput schema / properties / require_ams_match / description
      Previous value: -"Default: true."New value: +"True (the default) refuses the resume when AMS status cannot prove the requested filament route; False proceeds on the caller's word. Default: true."
    • changedInput schema / properties / run_actions / description
      Previous value: -"Default: \"\"."New value: +"Leave empty on the first call: the tool answers with the actions it wants and an actions_digest, and runs nothing. Call again with that digest here to carry out exactly those actions. Default: \"\"."
    • changedInput schema / properties / target_ams_slot / description
      Previous value: -"Default: -1."New value: +"Optional 0-indexed AMS slot to force for a material-changing resume. When supplied, Kiln emits the same slot into the resume preamble and the ``start_print`` call. Default: -1."
    • changedInput schema / properties / target_filament_color / description
      Previous value: -"Default: \"\"."New value: +"Optional expected tray color (hex or common name). Used with the same hard verification as ``target_filament_type``. Default: \"\"."
    • changedInput schema / properties / target_filament_type / description
      Previous value: -"Default: \"\"."New value: +"Optional expected tray material. Without ``target_ams_slot``, Kiln resolves exactly one matching loaded tray from AMS status or fails closed. Default: \"\"."
    • changedInput schema / properties / use_ams / description
      Previous value: -"Default: \"auto\"."New value: +"Bambu-only. Tri-state routing for the resumed print's filament source (``\"auto\"`` / ``\"true\"`` / ``\"false\"``). Default ``\"auto\"`` — inspects the current AMS state and picks the tray that's actively loaded (``tray_now``); falls back to external spool when nothing is loaded. Ignored on non-Bambu adapters. Pass ``\"false\"`` to feed from the external spool regardless of AMS state. Default: \"auto\"."
    • addedInput schema / required
      Added value: +[
      +  "original_gcode_path"
      +]
  2. Addedv1.5.0

TDQS

A3.7/5.0
Behavior4/5

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

Beyond the destructiveHint annotation, the description adds important behavioral context: the first call runs nothing, returns proposed actions and a digest, and the second call executes exactly those actions through Kiln's own tools with their checks. This is valuable safety and execution context, though it does not cover error handling or what happens when the printer state is not resumable.

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?

The description is short and front-loaded, stating the tool purpose first and then the execution workflow. The phrase 'with one call' is slightly misleading given the two-step confirmation flow, but the following sentence clarifies the actual behavior.

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 destructive, 13-parameter printer-control tool with no output schema, the description provides the critical two-phase execution model and confirms that actions run through Kiln's checked tools. It is complete enough to call safely, though additional context about preconditions or failure modes would improve it.

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?

Schema description coverage is 100%, so the schema already defines all 13 parameters in detail. The description mainly reinforces the run_actions confirmation workflow and does not add substantial meaning beyond the already-comprehensive parameter documentation.

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?

The description states a specific verb and resource: resuming an interrupted print on supported FDM printers. It clearly communicates the intended outcome, though it does not explicitly distinguish this tool from close siblings such as resume_print, firmware_resume_print, or recover_power_loss_print.

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?

It explains the required two-call confirmation workflow: first call with run_actions empty to preview actions, then call again with the actions_digest to execute. However, it gives no explicit guidance on when to choose this tool over alternative resume or recovery tools, so alternative selection 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