
MCP 3D Printer Server
A comprehensive 3D printing control bridge that wraps APIs for OctoPrint, Klipper/Moonraker, Bambu Labs, Prusa Connect, Creality Cloud, Duet, and Repetier systems. Beyond basic printer operations like starting jobs and monitoring temperatures, it handles advanced STL manipulation including scaling, rotation, sectional editing, and base extension for better bed adhesion. The server can slice models, generate G-code, and even send .3mf files directly to Bambu printers via MQTT. Reach for this when you want Claude to manage your entire 3D printing workflow from model preparation through print execution, or when building automated printing pipelines that need to work across different printer ecosystems.
- GitHub stars
- 190
- tools
- 19
- last updated
- Mar 8, 2026
Tools
19 toolsPublic tool metadata for what this MCP can expose to an agent.
get_stl_infoInspect an STL file without modifying it. Returns the bounding box, dimensions, center, vertex count, and face count.
Inspect an STL file without modifying it. Returns the bounding box, dimensions, center, vertex count, and face count.
No parameter schema in public metadata yet.
scale_stlScale a model uniformly with `scale_factor`, or per axis with `scale_x`, `scale_y`, and `scale_z`.
Scale a model uniformly with `scale_factor`, or per axis with `scale_x`, `scale_y`, and `scale_z`.
No parameter schema in public metadata yet.
rotate_stlRotate a model around the X, Y, and Z axes, in degrees. Omitted axes default to 0.
Rotate a model around the X, Y, and Z axes, in degrees. Omitted axes default to 0.
No parameter schema in public metadata yet.
translate_stlMove a model along the X, Y, and Z axes, in millimeters. Omitted axes default to 0.
Move a model along the X, Y, and Z axes, in millimeters. Omitted axes default to 0.
No parameter schema in public metadata yet.
extend_stl_baseAdd solid geometry underneath the model to raise and widen its base.
Add solid geometry underneath the model to raise and widen its base.
No parameter schema in public metadata yet.
merge_verticesMerge vertices closer together than `tolerance` (millimeters, default 0.01).
Merge vertices closer together than `tolerance` (millimeters, default 0.01).
No parameter schema in public metadata yet.
center_modelMove the model so the center of its bounding box is at the origin (0, 0, 0).
Move the model so the center of its bounding box is at the origin (0, 0, 0).
No parameter schema in public metadata yet.
lay_flatFind the model's largest flat face and rotate the model so that face rests on the XY plane (Z = 0).
Find the model's largest flat face and rotate the model so that face rests on the XY plane (Z = 0).
No parameter schema in public metadata yet.
modify_stl_sectionApply a scale, rotation, or translation to one section of a model: the `top`, `bottom`, or `center` third of its bounding box, or a `custom` box.
Apply a scale, rotation, or translation to one section of a model: the `top`, `bottom`, or `center` third of its bounding box, or a `custom` box.
No parameter schema in public metadata yet.
generate_stl_visualizationRender an SVG with front, side, top, and isometric views of a model.
Render an SVG with front, side, top, and isometric views of a model.
No parameter schema in public metadata yet.
get_printer_statusRead the printer's current status.
Read the printer's current status.
No parameter schema in public metadata yet.
list_printer_filesList the files stored on the printer or its host software.
List the files stored on the printer or its host software.
No parameter schema in public metadata yet.
upload_gcodeUpload G-code to the printer, and optionally start it.
Upload G-code to the printer, and optionally start it.
No parameter schema in public metadata yet.
start_printStart a G-code file that is already stored on the printer.
Start a G-code file that is already stored on the printer.
No parameter schema in public metadata yet.
cancel_printCancel the current print job.
Cancel the current print job.
No parameter schema in public metadata yet.
pause_printPause the current print.
Pause the current print.
No parameter schema in public metadata yet.
connect_printerOctoPrint only. Connects OctoPrint to the printer when it is running but not connected.
OctoPrint only. Connects OctoPrint to the printer when it is running but not connected.
No parameter schema in public metadata yet.
octoprint_request_api_keyGets an OctoPrint API key through OctoPrint's Application Keys approval.
Gets an OctoPrint API key through OctoPrint's Application Keys approval.
No parameter schema in public metadata yet.
resume_printResume a paused print.
Resume a paused print.
No parameter schema in public metadata yet.
Sponsors
Readme
MCP 3D Printer Server
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.
