Skip to main content
Glama
ceweldy

Bambu Printer MCP

by ceweldy

print_3mf

Print a 3MF file on a Bambu Lab printer. Auto-slices if the file contains no G-code. Specify the printer model to ensure safe operation.

Instructions

Print a 3MF file on a Bambu Lab printer. Auto-slices if the 3MF has no gcode. IMPORTANT: bambu_model must be specified to ensure safe printer operation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNoHostname or IP of the printer (default: value from env)
dev_idNoBambu device id for FULU BambuNetwork printing; defaults to BAMBU_DEV_ID or BAMBU_SERIAL.
dev_ipNoPrinter IP address for FULU BambuNetwork LAN/local print methods; defaults to host when provided.
printerNoConfigured printer ID. Omit to use the default printer or the only configured printer.
use_amsNoWhether to use the AMS (default: auto-detect from 3MF)
bed_typeNoBed plate type currently installed (default: textured_plate)
ams_slotsNoPreferred AMS input: one absolute tray index per USED filament in plate order, e.g. [1] for a single-filament print pulling from AMS 0 slot 1. Expanded to project-level ams_mapping automatically from the 3MF's plate_N.json and gcode header.
timelapseNoEnable timelapse recording (default: false)
user_infoNoOptional BambuNetwork user_info JSON string passed to net.change_user for the FULU bridge.
ams_mappingNoProject-level AMS mapping array. Position = project filament index, value = absolute AMS tray (0-3=AMS 0, 4-7=AMS 1, 8-11=AMS 2, 128+=AMS-HT, 254=external, -1=unused). Prefer ams_slots unless you know the project-level layout.
bambu_modelNoREQUIRED: Bambu Lab printer model. Ask the user if not known. Using the wrong model can damage the printer.
bambu_tokenNoAccess token (default: value from env)
plate_indexNoZero-based plate index to print from the sliced 3MF (default: 0)
slicer_pathNoPath to the slicer executable for auto-slicing (default: value from env or a platform default)
slicer_typeNoSlicer to use only if auto-slicing an unsliced 3MF. Bambu-compatible slicer aliases such as fulu-orca and orca-studio are accepted.
bambu_serialNoSerial number (default: value from env)
bed_levelingNoEnable auto bed leveling (default: true)
country_codeNoBambuNetwork country code, such as US, used by the FULU bridge agent.
template_dirNoOptional template directory override when resolving template_name.
template_nameNoOptional named template from the local registry. Resolves to template_3mf_path automatically.
three_mf_pathYesPath to the 3MF file to print
auto_match_amsNoWhen true, match the sliced 3MF's tray_info_idx requirements against live AMS inventory and use the resulting ams_slots. Ignored when ams_mapping or ams_slots is provided.
bridge_commandNoOverride command for the FULU bridge host or macOS/WSL wrapper; defaults to BAMBU_NETWORK_BRIDGE_COMMAND.
slicer_profileNoPath to the slicer profile/config file for auto-slicing (optional).
connection_modeNoPrint path to use: lan_mqtt_ftps uses this MCP's direct local MQTT/FTPS path; bambu_network uses the restored FULU BambuNetwork bridge.
connection_typeNoBambuNetwork connection type when connection_mode is bambu_network; cloud uses restored internet printing, lan uses local bridge printing.
nozzle_diameterNoNozzle diameter in mm for auto-slicing (default: 0.4)
flow_calibrationNoEnable flow calibration (default: true)
template_3mf_pathNoOptional template 3MF whose embedded Bambu slicer settings should be reused when auto-slicing this print job.
bambu_network_methodNoFULU print method when connection_mode is bambu_network; defaults to start_print for cloud and start_local_print for lan.
vibration_calibrationNoEnable vibration calibration (default: true)
bambu_network_config_dirNoConfig/log directory used by the FULU BambuNetwork agent.
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It mentions auto-slicing and required printer model for safety, but does not disclose other behaviors such as printer state requirements, error handling, or potential side effects like filament usage.

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 sentences efficiently convey the purpose and a critical safety warning. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 32 parameters, no output schema, and no annotations, the description is too minimal. It lacks context on return values, error cases, prerequisites (e.g., printer idle), and how the tool integrates with the printing workflow.

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?

All 32 parameters are fully described in the input schema (100% coverage). The description adds no additional parameter meaning beyond restating that bambu_model is required. Baseline 3 is appropriate.

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 clearly states 'Print a 3MF file on a Bambu Lab printer.' with specific detail about auto-slicing. It distinguishes itself from siblings like start_print and upload_gcode by specifying the input format and printer brand.

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 description emphasizes that bambu_model must be specified for safety, but it does not provide explicit guidance on when to use this tool versus alternatives like print_3mf_bambu_network or other print tools. Usage is implied but not compared.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ceweldy/bambu-printer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server