Skip to main content
Glama

send_gcode

Send up to 20 lines of allowlisted G-code to a Bambu Lab printer for movement, homing, temperature, fan, speed, or flow changes; during prints, only temp/fan/speed commands are permitted.

Instructions

Send up to 20 lines of G-code. Only a safe allowlist is accepted (moves, homing, temps within model limits, fans, speed/flow). Not allowed during a print unless it is a temp/fan/speed command.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
gcodeYes
printer_idNoPrinter id; may be omitted when only one printer is configured

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/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 disclose meaningful constraints: a 20-line cap, an allowlist of accepted command classes, and a state-dependent restriction during printing. It stops short of stating what happens on rejection or what the response contains.

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?

Two tight sentences with the payload limit and allowlist front-loaded ahead of the printing-state exception. Every clause constrains behavior; nothing is filler.

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?

For an un-annotated mutation tool with no output schema, the description covers safety constraints well but omits permissions/authorization context and any indication of success/failure behavior. It is adequate for a low-complexity two-parameter call but leaves gaps.

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 coverage is 50%: printer_id is documented in the schema, while gcode has no description. The description partially compensates by implying multi-line G-code input ('up to 20 lines'), but it doesn't define formatting for the gcode parameter or clarify the printer_id default beyond what the schema already says.

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 ('Send... G-code') and immediately scopes the payload ('up to 20 lines'). This clearly distinguishes it from siblings like set_speed or set_temperature, which achieve narrow effects declaratively rather than by raw G-code.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a concrete when-not rule: 'Not allowed during a print unless it is a temp/fan/speed command.' That negative condition is valuable, but it never routes the agent to the sibling tools (set_speed, set_temperature, set_light) for cases that fall outside the allowlist.

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