Bambu Printer MCP logo

Bambu Printer MCP

Unclaimed

by DMontgomery40

MCP server for Bambu Lab 3D printers — STL manipulation, BambuStudio slicing, and direct printer control

Set up this server

01 / Choose your client

02 / Before you connect

Authentication is not specified. Check the project instructions before connecting.

Install the runtime required by the project and make it available to your client.

Project instructions

Use names from the project instructions, separated by commas. Enter names only, never secret values.

03 / Add the configuration

Source: generated from public install instructions

claude mcp add --transport stdio 'bambu-printer-mcp' -- 'npx' '-y' '@rowbotik/bambu-printer-mcp'

Run in your terminal after replacing any placeholders.

04 / Check it in your client

Open your client’s MCP settings and confirm the server connects and lists its tools. A copied configuration does not confirm a working connection.

3d-printing3js3mfbambu-studiobambulabblenderblender3dftpmcpmodelcontextprotocol

More in Developer Tools

Browse the full directory

Unclaimed listing

Is this your MCP server?

This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.

Claim this server

Security profile

Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works

40 of 40 tools

Documented tools (40)

From project documentation. A server handshake does not verify each tool’s description or behavior.

camera_snapshot

Capture a single JPEG frame from the printer's chamber camera. Read-only.

cancel_print

Cancel the currently running print job. Sends an UpdateState MQTT command with state: "stop". Not resumable — use pauseprint if you may want to continue.

center_model

Translate the model so the center of its bounding box sits at the world origin (0, 0, 0). Useful before applying transformations or exporting for use in another tool.

clear_hms_errors

Clear HMS or print error state on the printer. Sends Bambu's cleanprinterror MQTT command.

delete_printer_file

Delete a single file from the printer's SD card via FTPS. Destructive. Requires confirm: true — without it the call returns status: "skipped" and does not contact the printer. Path traversal segments (..) are rejected. Only files under cache/, timelapse/, and logs/ can be deleted.

extend_stl_base

Add solid geometry underneath the model to increase its base height. Useful for improving bed adhesion on models with a small or unstable footprint.

get_printer_filaments

Read the live AMS inventory and resolve each loaded tray to Bambu Studio

get_printer_status

Retrieve current printer state including temperatures, print progress, layer count, time remaining, and AMS slot data. Internally sends a pushall MQTT command to force a fresh status report before reading cached state.

get_slice_settings

Inspect the slicer settings embedded in a saved 3MF template or in an extracted JSON/config profile without slicing anything.

get_stl_info

Inspect an STL file without modifying it. Returns bounding box dimensions, face count, vertex count, and model center.

lay_flat

Identify the largest flat surface on the model and rotate the model so that face is oriented downward on the XY plane (Z = 0). This is a common preparation step before slicing to minimize the need for supports.

list_3mf_plate_objects

List object IDs from a sliced 3MF plate. Use this before skipobjects so you pass real Bambu object IDs instead of display-order guesses.

list_printer_files

List files stored on the printer's SD card. Scans the cache/, timelapse/, and logs/ directories and returns both a flat list and a directory-grouped breakdown.

list_templates

List saved templates from the local registry directory. You can override the registry root with BAMBUTEMPLATEDIR.

merge_vertices

Merge vertices that are closer together than the specified tolerance. This can close small gaps in a mesh and slightly reduce file size. Useful as a cleanup step before slicing.

pause_print

Pause the currently running print job. Sends an UpdateState MQTT command with state: "pause". Resumable via resumeprint.

print_3mf

The primary tool for starting a Bambu print. Recommended input: a pre-sliced .gcode.3mf exported from Bambu Studio — see docs/SLICING.md. This tool handles the complete workflow:

print_collar_charm

High-level wrapper for a prepared two-part dog-collar-charm workflow. This tool is intentionally specialized: it expects a prepared two-part charm project and applies a fixed tray policy.

recommended.load_filaments

the profile path the MCP will use for

reread_ams_rfid

Trigger a Bambu AMS RFID re-read for one AMS slot. This can move AMS filament; use it only when the printer is idle and unloaded.

resolve_3mf_ams_slots

Dry-run the AMS match without uploading or starting a print. The tool reads Metadata/plate<n>.json and Metadata/sliceinfo.config, then compares required trayinfoidx values against live AMS trays.

resume_print

Resume a paused print job. Sends an UpdateState MQTT command with state: "resume".

rotate_stl

Rotate an STL model around one or more axes. Angles are in degrees. Omitted axes default to 0.

save_template

Copy a local 3mf, json, or .config file into the template registry and register it under a reusable template name.

scale_stl

Scale an STL model along individual axes. Omit any axis to leave it unchanged (defaults to 1.0).

set_airduct_mode

Set H2/P2 airduct mode to cooling or heating. This is intended for supported printers only.

set_ams_drying

Start or stop the AMS filament drying cycle on heated AMS units (AMS Pro / AMS-HT). The action parameter accepts start or stop. The amsid must be an integer from 0 to 3.

set_fan_speed

Set a printer fan speed from 0 to 100 percent. Accepted fan values are part, auxiliary, chamber, 1, 2, and 3.

set_light

Set a printer light node mode. Common Bambu firmware reports the chamber light as chamberlight; valid modes are on, off, and flashing.

set_print_speed

Set the active print speed mode. Accepted mode values are silent, standard, sport, ludicrous, or their numeric equivalents 1, 2, 3, and 4.

set_temperature

Set the target temperature for the bed or nozzle. Dispatches an M140 (bed) or M104 (nozzle) G-code command via MQTT. Valid range is 0 to 300 degrees Celsius. Accepted values for component are bed, nozzle, extruder, tool, and tool0.

skip_objects

Skip specific object IDs during a running multi-object print. Use list3mfplateobjects on the sliced 3MF to find the IDs first.

slice_stl

Slice an STL or 3MF file using an external slicer and return the path to the output file. The output is a sliced 3MF (for BambuStudio and OrcaSlicer) or a G-code file (for PrusaSlicer, Cura, Slic3r).

slice_with_template

Slice an STL or 3MF using a named template from the local registry. This is a higher-level wrapper over slicestl for template-based workflows.

start_print_job

Start printing a .gcode file that is already on the printer's SD card. Do not use this for .3mf files -- use print3mf instead, which handles the projectfile MQTT command with proper metadata.

summary.loaded_slots

, summary.resolvedprofileslots,

TCP-on-6000

for A1, A1 mini, P1S, P1P. Native protocol per OpenBambuAPI/video.md: TLS on port 6000, 80-byte auth packet (bblp + access token), repeating 16-byte frame header + JPEG payload.

upload_file

Upload a local file (G-code or 3MF) to the printer. If print is true and the file is a .gcode file, startprintjob is called automatically after a successful upload. For .3mf files, upload completes normally but you must use print3mf to initiate the print (which handles plate selection and metadata).

upload_gcode

Write G-code content from a string directly to the printer's cache/ directory. The content is written to a temporary file and uploaded via FTPS.

uptodate

boolean

Tool change history

Compared across complete checks of the same configuration. Tools were listed, not invoked. Input-schema changes are not measured here.

No complete tool checks yet.

FAQ

Questions about Bambu Printer MCP Server

How do I connect Bambu Printer MCP Server to Claude?
Run `claude mcp add bambu-printer-mcp -- npx -y @rowbotik/bambu-printer-mcp` in Claude Code, or add the same command and arguments under mcpServers in Cursor's mcp.json or Claude Desktop's claude_desktop_config.json, then restart the client. The blocks above are ready to paste.
Is Bambu Printer MCP Server free?
The listed licence is GPL-2.0. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
What can Bambu Printer MCP Server do?
Bambu Printer MCP Server documents 40 tools to the agent, including camera_snapshot, cancel_print, center_model. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.