Overview
Thank you, FULU Foundation, Louis Rossmann, and the OrcaSlicer-bambulab contributors. Thank you for standing up for consumer ownership, open-source developers, repair rights, and owners whose working hardware should not be made worse by locked-down software.
This server treats the FULU OrcaSlicer-bambulab fork as a first-class slicer for Bambu Lab projects. See the FULU guide for setup and current status.
An MCP server that connects Claude, Codex, and other MCP clients to 3D printers running OctoPrint, Klipper (Moonraker), Duet, Repetier-Server, Bambu Lab, PrusaLink or Prusa Connect, and Creality. Your agent can check status, upload and start jobs, cancel prints, edit STL meshes, run your slicer, and hand models to Blender through an optional Blender MCP bridge.
Only print on Bambu Lab printers? bambu-printer-mcp is a Bambu-focused fork of this project with more Bambu features, including AMS auto-matching, Bambu camera snapshots and streams, X2D native printing, Bambu Connect, and a Claude Desktop extension. Both servers read the AMS, choose trays, pause, resume, stop, and print through FULU's authenticated BambuNetwork route.
Camera tools also include camera_stream_start, camera_frame, and camera_stream_stop from version 1.2.26. They reuse configured MJPEG or snapshot sources, send only changed frames, and close when idle. See camera stream configuration and limits.
Built with help from our contributors. Thank you to everyone sharing fixes, careful bug reports, and real printer testing!
Start here
| I want to… | Read next |
|---|---|
| Connect this MCP to my agent | Copy the setup request |
| See what my agent can do with it | What to ask your agent |
| Find the credentials for my printer | Printer backend setup |
| Configure it by hand, with Docker, or over HTTP | Installation and configuration reference |
| Slice from my agent or troubleshoot slicing | Slicing guide |
| Use open-source slicing for a Bambu Lab printer | FULU guide |
| Model or refit a part in Blender | Blender guide and Blender tools |
| See release changes or contributor credit | Changelog, releases, and contributors |
Description
mcp-3d-printer-server is a Model Context Protocol server for 3D printers. It gives an agent printer control (status, files, upload, start, cancel, and temperatures), STL mesh tools, slicer automation, Bambu Lab project printing, and an optional bridge to a Blender MCP server. One PRINTER_TYPE selects the default backend, and every printer tool accepts a per-call type and host, so one server can reach more than one printer.
| Backend | PRINTER_TYPE | Testing evidence |
|---|---|---|
| Bambu Lab | bambu | Most tested, including maintainer hardware testing shared with the Bambu-only fork |
| OctoPrint | octoprint | Community-reported; checked with OctoPrint 1.11.8 and 2.1-dev Virtual Printers |
| Klipper (Moonraker) | klipper | Community-reported, including a Creality K1 Max through Moonraker |
| PrusaLink and Prusa Connect | prusa | Community-reported |
| Duet | duet | Implemented; no hardware reports yet |
| Repetier-Server | repetier | Implemented; no hardware reports yet |
| Creality | creality | Implemented; no hardware reports yet |
What each backend reads and sends differs. See printer backend setup for the exact API calls, credentials, and linked reports.
Note on resource usage. The STL tools load the entire mesh into memory. Large or complex files (over about 10 MB) can use a lot of memory. See General Limitations and Considerations.
FULU and open-source printing
FULU OrcaSlicer-bambulab is a first-class slicer target for Bambu Lab projects (SLICER_TYPE=orcaslicer-bambulab; aliases include fulu-orca and orca-studio). Choose it with SLICER_TYPE=orcaslicer-bambulab: Bambu printers default to Bambu Studio, because FULU v1.0.0's command line segfaults on every slice until FULU #56 and #57 are released. slice_stl and print_3mf auto-slicing use its project command line, and check_fulu_orca_setup inspects the install and runtime payload.
The optional FULU BambuNetwork bridge is a separate runtime. With BAMBU_DEFAULT_CONNECTION_MODE=bambu_network (or connection_mode: "bambu_network"), print_3mf, cancel_print, pause_print and resume_print go through it: the plug-in's authenticated local-network session (connection_type: "lan"), which a P1S on authorization firmware accepts without Developer Mode, or Bambu Cloud ("cloud"). Every print still passes the same inspection and fresh-state checks first. counterpart_print_route reads and changes the route. The server never switches routes on its own; fulu_bambu_network_rpc probes the bridge and refuses raw print methods.
Follow the FULU guide for platform runtime setup, bridge probes, and the current macOS and Windows testing status.
What's new
See the changelog for versioned changes. The next release brings the print safety gate to every printer backend: the server checks the exact G-code against hardware and material ceilings. It also adds Bambu-compatible CLI slicing with resolved machine presets and a template registry, blender_mcp_export_stl for verified STL export from Blender, and this documentation site. Release 1.2.9 fixes Bambu FTPS uploads that failed with "Premature close" (#22), adds standard Blender MCP discovery, forwarding, and verified STL edits, requires the Bambu printer model for raw print starts, and isolates each server's scratch files. Separately, #20 and #21 made per-call executable selectors, such as a slicer path or bridge command, require an explicit opt-in.