Control Bambu Lab 3D printers and manage print workflows from Claude.
bambu-printer-mcp
A Bambu Lab-focused MCP server for controlling Bambu printers, manipulating STL files, and managing end-to-end 3MF print workflows from Claude Desktop, Claude Code, or any MCP-compatible client.
This is a stripped-down, Bambu-only fork of mcp-3D-printer-server. All OctoPrint, Klipper, Duet, Repetier, Prusa Connect, and Creality Cloud support has been removed. What remains is a focused, lean implementation for Bambu Lab hardware.
Click to expand Table of Contents
Description
bambu-printer-mcp is a Model Context Protocol server that gives Claude (or any MCP client) direct control over Bambu Lab 3D printers. It handles the full workflow: manipulate an STL, auto-slice it with BambuStudio if needed, upload the resulting 3MF over FTPS, and start the print via an MQTT project_file command -- all without leaving your conversation.
What this is not. This package intentionally supports only Bambu Lab printers. It does not include adapters for OctoPrint, Klipper (Moonraker), Duet, Repetier, Prusa Connect, or Creality Cloud. If you need multi-printer support, use the parent project mcp-3D-printer-server instead.
Why a separate package? The parent project carries all printer adapters in a single binary. When working exclusively with Bambu hardware, that breadth adds unnecessary weight. This fork strips the project to its Bambu core for a smaller, faster install. Both packages share the same protocol fixes and safety features.
Note on resource usage. STL manipulation loads entire mesh geometry into memory. For large or complex STL files (greater than 10 MB), these operations can be memory-intensive. See General Limitations and Considerations for details.
Features
- Get detailed printer status: temperatures (nozzle, bed, chamber), print progress, current layer, time remaining, and live AMS slot data
- List, upload, and manage files on the printer's SD card via FTPS
- Upload and print
.3mffiles with full plate selection and calibration flag control - Automatic slicing: pass an unsliced 3MF to
print_3mfand the server will slice it with BambuStudio CLI (or another configured slicer) before uploading - Parse AMS mapping from the 3MF's embedded slicer config (
Metadata/project_settings.config) and send it correctly formatted per the OpenBambuAPI spec - Cancel in-progress print jobs via MQTT
- Set nozzle and bed temperature via G-code dispatch over MQTT
- Start G-code files already stored on the printer
- STL manipulat
Tools (4)
print_3mfUploads and prints a 3MF file with plate selection and calibration control.cancel_printCancels the currently running print job via MQTT.set_temperatureSets the nozzle and bed temperature using G-code.list_filesLists files stored on the printer's SD card via FTPS.Environment Variables
BAMBU_SERIALrequiredThe serial number of your Bambu Lab printer.BAMBU_TOKENrequiredThe access token for your printer.BAMBU_IPrequiredThe local IP address of your printer.Configuration
{"mcpServers": {"bambu-printer": {"command": "npx", "args": ["-y", "bambu-printer-mcp"], "env": {"BAMBU_SERIAL": "YOUR_PRINTER_SERIAL", "BAMBU_TOKEN": "YOUR_ACCESS_TOKEN", "BAMBU_IP": "YOUR_PRINTER_IP"}}}}