Skip to main content
Glama
ceweldy

Bambu Printer MCP

by ceweldy

print_3mf_bambu_network

Print a 3MF file using the BambuNetwork bridge, with cloud or LAN mode and automatic slicing if needed.

Instructions

Print a 3MF through FULU OrcaSlicer-bambulab's restored BambuNetwork path instead of the MCP LAN MQTT/FTPS path.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNoPrinter host or IP address, used as dev_ip for LAN/local bridge methods.
dev_idNoBambu device id used by BambuNetwork; defaults to BAMBU_DEV_ID or BAMBU_SERIAL.
dev_ipNoPrinter IP address for LAN/local bridge 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; defaults to auto-detect from the 3MF mapping.
bed_typeNoBed plate type currently installed (default: textured_plate).
passwordNoPrinter password/access code override for LAN/local bridge methods.
usernameNoPrinter username for LAN/local bridge methods; defaults to bblp.
ams_slotsNoPer-used-filament AMS slot list, matching the local LAN print path.
task_nameNoOptional BambuNetwork task name; defaults to the project name.
timelapseNoEnable timelapse recording in FULU PrintParams (default: false).
user_infoNoOptional BambuNetwork user_info JSON string to pass to net.change_user after the agent starts.
timeout_msNoBridge request timeout in milliseconds.
ams_mappingNoAMS slot mapping array used by both local MCP printing and FULU PrintParams.
bambu_modelNoREQUIRED: Bambu Lab printer model. Ask the user if not known. Using the wrong model can damage the printer.
bambu_tokenNoPrinter access code/password for LAN/local bridge methods.
plate_indexNoZero-based plate index to print from the sliced 3MF; converted to FULU's one-based PrintParams plate_index.
preset_nameNoOptional preset name sent in FULU PrintParams; defaults to project plus one-based plate index.
slicer_pathNoPath to the slicer executable for auto-slicing; defaults to value from env or a platform default.
slicer_typeNoSlicer to use only if auto-slicing an unsliced 3MF; use orcaslicer-bambulab for FULU's fork.
ams_mapping2NoRaw JSON string for FULU PrintParams ams_mapping2, matching OrcaSlicer-bambulab's v1 AMS mapping field.
bambu_serialNoFallback Bambu device id when dev_id is not supplied.
bed_levelingNoEnable auto bed leveling in FULU PrintParams (default: true).
country_codeNoBambuNetwork country code, such as US, used by the agent during startup.
nozzles_infoNoRaw JSON string for FULU PrintParams nozzles_info.
project_nameNoOptional project name sent in FULU PrintParams; defaults to the 3MF filename without extension.
client_job_idNoOptional client job id sent to the bridge; defaults to the current timestamp.
extra_optionsNoRaw JSON string or text for FULU PrintParams extra_options.
layer_inspectNoEnable first-layer inspection where supported (default: false for BambuNetwork bridge).
three_mf_pathYesPath to the 3MF file to print; unsliced 3MFs are auto-sliced before sending.
bridge_commandNoOverride command for the FULU bridge host or macOS/WSL wrapper; defaults to BAMBU_NETWORK_BRIDGE_COMMAND.
nozzle_mappingNoRaw JSON string for FULU PrintParams nozzle_mapping.
slicer_profileNoPath to an optional slicer profile/config file for auto-slicing.
try_emmc_printNoEnable FULU PrintParams try_emmc_print for printers that support internal storage printing.
config_filenameNoOptional config 3MF path for cloud print; defaults to the same 3MF path.
connection_typeNoBambuNetwork connection type to put in FULU PrintParams; cloud uses restored internet printing, lan uses local bridge printing.
nozzle_diameterNoNozzle diameter in mm for auto-slicing (default: 0.4).
use_ssl_for_ftpNoWhether FULU local print should use SSL for FTP (default: true).
ams_mapping_infoNoRaw JSON string for FULU PrintParams ams_mapping_info, matching OrcaSlicer-bambulab's detailed AMS mapping field.
flow_calibrationNoEnable flow calibration in FULU PrintParams (default: true).
use_ssl_for_mqttNoWhether FULU local print should use SSL for MQTT (default: true).
ams_mapping_bridgeNoRaw JSON string override for FULU PrintParams ams_mapping when the automatic array is not enough.
bambu_network_methodNoFULU print method to invoke; defaults to start_print for cloud and start_local_print for lan.
vibration_calibrationNoEnable vibration calibration in FULU PrintParams (default: true).
external_change_assistNoEnable FULU PrintParams task_ext_change_assist for external filament change assistance.
bambu_network_config_dirNoConfig/log directory used by the BambuNetwork agent; defaults to BAMBU_NETWORK_CONFIG_DIR or a user config directory.
Behavior2/5

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

With no annotations, the description bears full responsibility. It only states the tool prints via BambuNetwork path, but does not disclose behaviors like whether the print is blocking, what happens on errors, prerequisites (e.g., bridge running), or side effects (e.g., file uploads). Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences) and front-loaded with the key differentiation. However, given the tool's complexity (46 params), it is too concise and lacks structured breakdown (e.g., bullet points). Additional sentences about required setup or common usage would not waste space.

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?

Despite high schema coverage, the description is incomplete for such a complex tool. It omits output details, prerequisites (e.g., BambuNetwork bridge), and typical use cases. For 46 parameters, the agent needs more context to invoke it correctly.

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 baseline is 3. The description adds no additional parameter meaning beyond the schema. It does not explain relationships between parameters or provide examples, which would be valuable given the high parameter count.

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?

The description clearly states the tool prints a 3MF file and specifies that it uses the 'restored BambuNetwork path' rather than the LAN MQTT/FTPS path, distinguishing it from the sibling tool print_3mf. The verb 'Print' and resource '3MF' are specific.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not indicate when to use this tool over alternatives (e.g., when cloud printing is needed vs local). It only implies that it uses a different network path but lacks explicit when-to-use or when-not-to-use guidance, which is critical given 46 parameters.

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