A server enabling Claude to manage and interact with 3D printers via APIs like OctoPrint, Klipper, and Bambu Labs.
MCP 3D Printer Server for Claude Integration
Overview
The MCP 3D Printer Server is a powerful tool designed to integrate Claude with various 3D printer management systems. It allows users to control and manage 3D printers through APIs, enabling advanced features like STL file manipulation, G-code generation, and real-time print monitoring.
Features
- Printer Status Monitoring: Check temperatures, print progress, and more.
- File Management: List, upload, and manage files on the printer.
- STL Manipulation: Scale, rotate, translate, and modify STL files.
- Slicing: Generate G-code from STL files using popular slicers.
- Print Control: Start, cancel, and monitor print jobs.
- Temperature Control: Set extruder and bed temperatures.
- Visualization: Generate multi-angle SVG visualizations of STL files.
Installation
Prerequisites
- Node.js 18 or higher
- npm or yarn
Install from npm
npm install -g mcp-3d-printer-server
Install from source
git clone https://github.com/yourusername/mcp-3d-printer-server.git
cd mcp-3d-printer-server
npm install
npm link
Configuration
Create a .env
file with the following settings:
API_KEY=your_api_key_here
PRINTER_HOST=localhost
PRINTER_PORT=80
PRINTER_TYPE=octoprint
TEMP_DIR=/path/to/temp/dir
BAMBU_SERIAL=your_printer_serial
BAMBU_TOKEN=your_access_token
SLICER_TYPE=prusaslicer
SLICER_PATH=/path/to/slicer/executable
SLICER_PROFILE=/path/to/slicer/profile
Usage with Claude Desktop
- Edit your Claude Desktop configuration file:
{
"mcpServers": {
"3dprint": {
"command": "mcp-3d-printer-server",
"env": {
"API_KEY": "your_api_key_here",
"PRINTER_HOST": "your_printer_ip",
"PRINTER_TYPE": "octoprint"
}
}
}
}
- Restart Claude Desktop.
- Connect to your printer through Claude.
Supported Printer Management Systems
- OctoPrint: REST API for controlling 3D printers.
- Klipper (via Moonraker): Firmware with Moonraker API server.
- Duet: Control board with DuetWebControl.
- Repetier: Host software for 3D printers.
- Bambu Labs: MQTT and FTP for status and file operations.
- Prusa Connect: Cloud-based solution for Prusa printers.
- Creality Cloud: Management system for Creality printers.
Available Tools
STL Manipulation Tools
- get_stl_info: Get detailed information about an STL file.
- extend_stl_base: Extend the base of an STL file.
- scale_stl: Scale an STL model uniformly or along specific axes.
- rotate_stl: Rotate an STL model around specific axes.
- translate_stl: Move an STL model along specific axes.
- modify_stl_section: Apply transformations to a selected section of an STL file.
- generate_stl_visualization: Generate SVG visualizations of an STL file.
- slice_stl: Slice an STL file to generate G-code.
- confirm_temperatures: Confirm temperature settings in a G-code file.
- process_and_print_stl: Process an STL file, slice it, and start printing.
Printer Control Tools
- get_printer_status: Get the current status of the 3D printer.
- list_printer_files: List files available on the printer.
- upload_gcode: Upload a G-code file to the printer.
- start_print: Start printing a file that is already on the printer.
- cancel_print: Cancel the current print job.
- set_printer_temperature: Set the temperature of a printer component.
Example Commands for Claude
- "What's the current status of my 3D printer?"
- "Show me the list of files on my printer."
- "Upload this G-code to my printer: [G-code content]"
- "Start printing the file named 'benchy.gcode'."
- "Cancel the current print job."
- "Set the extruder temperature to 200°C."
- "Set the bed temperature to 60°C."
Limitations and Considerations
- Memory Usage: Processing large STL files can consume significant memory.
- STL Manipulation: Complex geometries may produce unexpected results.
- Visualization: SVG visualizations are simplified representations.
- Performance: Slicing operations can be CPU-intensive.
Badges
Badge |
Description |
 |
Current version on npm |
 |
Licensed under GPL-2.0 |
 |
Written in TypeScript 4.9+ |
 |
Actively maintained |
 |
Contributions welcome |
 |
Requires Node.js 18.0.0 or higher |
 |
Monthly downloads from npm |
 |
GitHub stars |
License
GPL-2.0
About
Mirror of https://github.com/DMontgomery40/mcp-3D-printer-server