Skip to main content
Glama

wrap_gcode_as_resume_3mf

Package resume G-code as a 3MF file so a Bambu printer can pick up an interrupted print.

Instructions

Package resume G-code as a 3MF a Bambu printer can pick the print back up from (Pro).

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": {
      "gcode_path": "<gcode_path>"
    },
    "name": "wrap_gcode_as_resume_3mf"
  }
}

Input Schema

NameRequiredDescriptionDefault
bed_tempNoBed setpoint for the embedded metadata. Leave unset to use the one the gcode body's preamble heats to.
gcode_pathYesPath to the resume ``.gcode`` file (typically the ``resume_gcode_path`` returned by ``generate_recovery_gcode`` or ``deboss_during_print``).
hotend_tempNoHotend setpoint for the embedded metadata. Leave unset to use the one the gcode body's preamble heats to.
output_pathNoWhere to write the ``.3mf``. Empty = replace the ``.gcode`` extension with ``.3mf`` next to the input. Default: "".
filament_typeNoThe print's material, for metadata. Leave it out and Kiln reads the print's own material; when nothing says which, the call is refused (``PRINT_MATERIAL_UNKNOWN``).
source_3mf_pathNoOptional source ``.3mf`` to extract thumbnails + 3D model geometry from (preserves the printer-display preview from the original job). Empty = generate a minimal placeholder. Default: "".
prime_extruder_on_resumeNoDefault ``True``: refuse to emit a 3MF whose embedded gcode lacks the unconditional extruder prime, which guards against a resume that moves through every layer without depositing filament after a cancel/start cycle. Set ``False`` only when the extruder is primed out-of-band. Default: true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv1.5.1
    • changedInput schema / properties / bed_temp / description
      Previous value: -"Default: 65."New value: +"Bed setpoint for the embedded metadata. Leave unset to use the one the gcode body's preamble heats to."
    • changedInput schema / properties / filament_type / description
      Previous value: -"Default: \"PLA\"."New value: +"The print's material, for metadata. Leave it out and Kiln reads the print's own material; when nothing says which, the call is refused (``PRINT_MATERIAL_UNKNOWN``)."
    • addedInput schema / properties / gcode_path / description
      Added value: +"Path to the resume ``.gcode`` file (typically the ``resume_gcode_path`` returned by ``generate_recovery_gcode`` or ``deboss_during_print``)."
    • changedInput schema / properties / hotend_temp / description
      Previous value: -"Default: 220."New value: +"Hotend setpoint for the embedded metadata.  Leave unset to use the one the gcode body's preamble heats to."
    • changedInput schema / properties / output_path / description
      Previous value: -"Default: \"\"."New value: +"Where to write the ``.3mf``.  Empty = replace the ``.gcode`` extension with ``.3mf`` next to the input. Default: \"\"."
    • changedInput schema / properties / prime_extruder_on_resume / description
      Previous value: -"Default: true."New value: +"Default ``True``: refuse to emit a 3MF whose embedded gcode lacks the unconditional extruder prime, which guards against a resume that moves through every layer without depositing filament after a cancel/start cycle.  Set ``False`` only when the extruder is primed out-of-band. Default: true."
    • changedInput schema / properties / source_3mf_path / description
      Previous value: -"Default: \"\"."New value: +"Optional source ``.3mf`` to extract thumbnails + 3D model geometry from (preserves the printer-display preview from the original job). Empty = generate a minimal placeholder. Default: \"\"."
  2. Addedv1.5.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only but non-destructive, closed-world operation. The description adds meaningful context beyond that: the output is written for a Bambu printer to resume from, and the feature is Pro-gated. It stops short of describing refusal conditions (material unknown, missing prime) or the write behavior, all of which live only in the schema.

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 with no filler; the purpose and beneficiary are both stated immediately. The trailing 'from (Pro)' construction is slightly awkward but costs nothing in length.

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 7-parameter packaging tool with no output schema, the description conveys what is produced and why, while the rich schema covers inputs and refusal semantics. The main remaining gap is routing guidance against the sibling `wrap_gcode_as_3mf`, which the description never resolves.

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 all seven parameters are already documented in detail, including defaults and fallback behavior. The description adds no parameter-level meaning, so the baseline 3 applies.

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 ('Package resume G-code as a 3MF') plus the outcome ('a Bambu printer can pick the print back up from'), so an agent knows exactly what artifact is produced. It does not, however, distinguish itself from the very similarly named sibling `wrap_gcode_as_3mf`, leaving the resume-specific vs generic distinction partly to inference.

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 'resume' framing implies the usage context (recovering an interrupted/cancelled print), and '(Pro)' signals a tier gate. But there is no explicit when-to-use/when-not guidance and no pointer to the closest alternative, `wrap_gcode_as_3mf`, so the agent must infer which wrapper to call.

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