Skip to main content
Glama
akashnaren

bambu-mcp

by akashnaren

print

Start a confirmed .gcode.3mf build on a Bambu Lab printer via LAN, using sibling JSON defaults for plate/AMS. Refuses unsupported files.

Instructions

Start printing a {part}-{variant}-{rev}.gcode.3mf. Refuses bare STL, wip-*, and scratch/. Requires confirm: true after the operator agrees. Optional sibling .print.json supplies plate/AMS defaults.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileYesLocal path or remote filename of the .gcode.3mf
plateNo
useAmsNo
confirmYesMust be true. Ask the operator before setting this.
amsMappingNo
alreadyUploadedNoIf true, skip FTPS upload and print the remote name.

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 behavioral disclosure burden, and it does disclose meaningful traits: it refuses non-final file forms, requires confirm:true only after operator agreement, and may merge defaults from a sibling .print.json. It does not mention the default FTPS upload behavior implied by alreadyUploaded, but the schema partially covers that.

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?

Three compact sentences, front-loaded with the file pattern and no filler. Each sentence carries a distinct piece of behavior or constraint, so the description is appropriately sized.

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?

The description covers critical preconditions and validations, but for a tool with six parameters, no annotations, and no output schema, it leaves optional parameter semantics and runtime behavior undocumented. An agent still has to infer what happens after a successful call and how plate/useAms/amsMapping interact.

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 only 50%, so the description needs to compensate. It clarifies the required file pattern, the confirm condition, and that plate/AMS defaults may come from .print.json. However, plate, useAms, and amsMapping still lack semantic explanation.

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?

The description uses a specific verb ('Start printing') and identifies the exact resource pattern ({part}-{variant}-{rev}.gcode.3mf), making it distinguishable from sibling operations like upload, slice_hook, or stop. The refusal constraints further clarify what this tool does not do.

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?

It names the valid input family and explicitly says it refuses bare STL, wip-*, and scratch/, so an agent knows when not to attempt a call. It also states the confirmation requirement clearly. It does not explicitly route to sibling tools like upload, so alternative guidance is not fully explicit.

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