mcp_mirror_dmontgomery40_mcp_3d_printer_server

mcp_mirror_dmontgomery40_mcp_3d_printer_server

by MCP-Mirror
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

  1. 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"
      }
    }
  }
}
  1. Restart Claude Desktop.
  2. 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
npm version Current version on npm
License: GPL-2.0 Licensed under GPL-2.0
TypeScript Written in TypeScript 4.9+
Maintenance Actively maintained
PRs Welcome Contributions welcome
Node.js Version Requires Node.js 18.0.0 or higher
Downloads Monthly downloads from npm
GitHub stars GitHub stars

License

GPL-2.0

About

Mirror of https://github.com/DMontgomery40/mcp-3D-printer-server

Features & Capabilities

Categories
mcp_server model_context_protocol typescript javascript 3d_printing api_integration claude octoprint klipper bambu_labs

Implementation Details

Stats

0 Views
0 Favorites
0 GitHub Stars

Repository Info

MCP-Mirror Organization

Similar Servers

continuedev_continue by continuedev
0
0
0