print_3mf
Send a 3MF file to a Bambu Lab printer for printing. Auto-slices unsliced files and requires specifying the printer model to prevent damage.
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
| Name | Required | Description | Default |
|---|---|---|---|
| three_mf_path | Yes | Path to the 3MF file to print | |
| bambu_model | Yes | REQUIRED: Bambu Lab printer model. Ask the user if not known. Using the wrong model can damage the printer. | |
| connection_mode | No | Print path to use: lan_mqtt_ftps uses this MCP's direct local MQTT/FTPS path; bambu_network uses the restored FULU BambuNetwork bridge. | |
| connection_type | No | BambuNetwork connection type when connection_mode is bambu_network; cloud uses restored internet printing, lan uses local bridge printing. | |
| bambu_network_method | No | FULU print method when connection_mode is bambu_network; defaults to start_print for cloud and start_local_print for lan. | |
| dev_id | No | Bambu device id for FULU BambuNetwork printing; defaults to BAMBU_DEV_ID or BAMBU_SERIAL. | |
| dev_ip | No | Printer IP address for FULU BambuNetwork LAN/local print methods; defaults to host when provided. | |
| bridge_command | No | Override command for the FULU bridge host or macOS/WSL wrapper; defaults to BAMBU_NETWORK_BRIDGE_COMMAND. | |
| bambu_network_config_dir | No | Config/log directory used by the FULU BambuNetwork agent. | |
| country_code | No | BambuNetwork country code, such as US, used by the FULU bridge agent. | |
| user_info | No | Optional BambuNetwork user_info JSON string passed to net.change_user for the FULU bridge. | |
| bed_type | No | Bed plate type currently installed (default: textured_plate) | |
| host | No | Hostname or IP of the printer (default: value from env) | |
| bambu_serial | No | Serial number (default: value from env) | |
| bambu_token | No | Access token (default: value from env) | |
| plate_index | No | Zero-based plate index to print from the sliced 3MF (default: 0) | |
| slicer_type | No | Slicer to use only if auto-slicing an unsliced 3MF. Bambu-compatible slicer aliases such as fulu-orca and orca-studio are accepted. | |
| slicer_path | No | Path to the slicer executable for auto-slicing (default: value from env or a platform default) | |
| use_ams | No | Whether to use the AMS (default: auto-detect from 3MF) | |
| ams_mapping | No | Project-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. | |
| ams_slots | No | Preferred 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. | |
| auto_match_ams | No | When 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. | |
| bed_leveling | No | Enable auto bed leveling (default: true) | |
| flow_calibration | No | Enable flow calibration (default: true) | |
| vibration_calibration | No | Enable vibration calibration (default: true) | |
| timelapse | No | Enable timelapse recording (default: false) | |
| slicer_profile | No | Path to the slicer profile/config file for auto-slicing (optional). | |
| template_3mf_path | No | Optional template 3MF whose embedded Bambu slicer settings should be reused when auto-slicing this print job. | |
| template_name | No | Optional named template from the local registry. Resolves to template_3mf_path automatically. | |
| template_dir | No | Optional template directory override when resolving template_name. | |
| nozzle_diameter | No | Nozzle diameter in mm for auto-slicing (default: 0.4) |