MCP 3D Printer Server
@DMontgomery40
Connects MCP to major 3D printer APIs (Orca, FULU's Orca/Bambu, OctoPrint, Klipper, Duet, Repetier, Prusa, Creality). Control prints, monitor status, and perform advanced STL operations like scaling, rotation, sectional editing, and base extension. Includes slicing and visualizat
Overview
What is MCP 3D Printer Server?
MCP 3D Printer Server is a Model Context Protocol server that connects MCP clients (like Claude) with 3D printer management systems via their APIs. It supports OctoPrint, Klipper (Moonraker), Duet, Repetier, Bambu Labs, Prusa Connect, and Creality/Ender printers, providing tools for status monitoring, file management, print control, and STL manipulation.
How to use MCP 3D Printer Server?
Install globally via npm (npm install -g mcp-3d-printer-server) or from source, then configure a .env file with API_KEY, PRINTER_HOST, PRINTER_PORT, and PRINTER_TYPE. Set Bambu-specific variables as needed. Run the server and it exposes MCP tools and resources for the LLM to call.
Key features of MCP 3D Printer Server
- Get printer status (temperatures, progress) and list/upload files
- Start, cancel, and monitor print jobs; set temperatures
- Advanced STL manipulation: extend base, scale, rotate, translate, modify sections
- Generate multi-angle SVG visualizations of STL files
- Slice STL files to G-code; print .3mf files directly on Bambu printers
- End-to-end workflow from STL modification to printing
- Support for FULU OrcaSlicer-bambulab and Bambu preset files as resources
Use cases of MCP 3D Printer Server
- Automate print submission and monitoring from an AI assistant
- Modify STL models (e.g., add rafts, resize) before slicing and printing
- Diagnose printer status and temperatures, then adjust settings remotely
- Slice and print Bambu Lab projects using .3mf files with MQTT
- Integrate 3D printing workflows into larger automated pipelines
FAQ from MCP 3D Printer Server
Which 3D printer management systems are supported?
OctoPrint, Klipper (via Moonraker), Duet, Repetier, Bambu Labs, Prusa Connect, and Creality/Ender.
How do I install the server?
Install Node.js 18+, then globally via npm install -g mcp-3d-printer-server or clone the repo, run npm install and npm link. Docker deployment is also supported.
What are the main limitations for Bambu Lab printers?
Bambu printers use MQTT and FTP; direct G-code upload/start is not supported—you must use .3mf files containing a sliced plate. File operations rely on the bambu-js library, which may have FTP stability issues.
What is the FULU OrcaSlicer support?
The server treats the FULU OrcaSlicer-bambulab fork as a first-class slicer target for Bambu project .3mf export. Setting SLICER_TYPE=orcaslicer-bambulab enables slicing and auto-slicing unsliced 3MF files before printing.
Are there any memory or performance concerns?
Yes, advanced STL manipulation features can be memory-intensive with large files. The README recommends testing with representative file sizes and monitoring resource usage.