Skip to main content
Glama
schwarztim

Bambu Lab MCP Server

by schwarztim

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BAMBU_LAB_COOKIESNoSession cookies for cloud API (Required for cloud-based tools)
BAMBU_LAB_BASE_URLNoCloud API base URL
BAMBU_LAB_DEVICE_IDYesPrinter serial number (Required for local MQTT control)
BAMBU_LAB_MQTT_HOSTYesPrinter IP address (Required for local MQTT control)
BAMBU_LAB_MQTT_PORTNoMQTT port8883
BAMBU_APP_CERTIFICATENoOverride the built-in X.509 certificate
BAMBU_APP_PRIVATE_KEYNoOverride the built-in X.509 private key
BAMBU_LAB_MQTT_PASSWORDYesLAN access code (Required for local MQTT control)
BAMBU_LAB_MQTT_USERNAMENoMQTT usernamebblp

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_user_profileB

Get Bambu Lab cloud account profile

list_printersA

List all printers registered to the cloud account

get_printer_statusB

Get printer status via cloud API (requires cloud cookies)

sign_messageA

Sign a message with X.509 certificate for authenticated printer communication. Uses the extracted Bambu Connect certificate to bypass firmware auth restrictions.

mqtt_connectA

Connect to a Bambu Lab printer via local MQTT over TLS. Required before any printer control commands.

mqtt_disconnectB

Disconnect from the MQTT printer connection

printer_stopB

Stop the current print job immediately

printer_pauseB

Pause the current print job

printer_resumeA

Resume a paused print job

printer_set_speedB

Set print speed. Use a named profile (silent/standard/sport/ludicrous) or a percentage (1-166).

printer_send_gcodeA

Send a single G-code command to the printer (e.g., "G28" for home). Dangerous commands are blocked for safety.

printer_print_fileA

Start printing a file already on the printer SD card (uploaded via ftp_upload_file)

printer_get_statusA

Request a full status push from the printer and return it. Includes temperatures, print progress, AMS state, fan speeds, and more. Note: pushall should not be called more than once every 5 minutes on P1P.

printer_get_cached_statusA

Return the last cached printer status without requesting a new push. Faster and lighter than printer_get_status — use this for frequent polling.

printer_get_versionB

Get firmware and module version information for the connected printer

skip_objectsA

Skip specific objects during a multi-object print. Useful for excluding failed parts without stopping the entire print.

ams_change_filamentC

Change to a different AMS filament tray (0-3)

ams_unload_filamentB

Unload the current filament from the extruder

camera_recordC

Enable or disable camera recording on the printer

camera_timelapseC

Enable or disable timelapse recording for the current print

led_controlC

Control the printer chamber or logo LED lights

set_nozzleB

Set the nozzle diameter (for printing profile selection)

set_temperatureB

Set nozzle or bed temperature via G-code. Validates against safe limits.

ftp_upload_fileA

Upload a .gcode, .3mf, or .stl file to the printer SD card via FTPS (port 990). Use printer_print_file to start the print after upload.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/schwarztim/bambu-mcp'

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