3D Printer Manager

3D Printer Manager

dmontgomery40

Remotely control 3D printers, manage print files, and manipulate STL models through multiple printer management systems. Supports automated print job scheduling and custom model modifications.

Integrates with multiple 3D printer management systems to enable remote control, file handling, and advanced STL manipulation for automated print job management and custom model modifications.

160355 views38Local (stdio)

What it does

  • Control 3D printers remotely via OctoPrint and Bambu systems
  • Upload and manage STL/3MF print files
  • Monitor print job status and temperatures
  • Manipulate STL models with scaling and rotation
  • Start and stop print jobs automatically
  • Edit models through Blender integration

Best for

3D printing enthusiasts managing multiple printersAutomated print farm operationsDevelopers building 3D printing workflowsRemote monitoring of long print jobs
Supports OctoPrint and Bambu printer systemsBuilt-in STL manipulation toolsBlender integration for model editing

About 3D Printer Manager

3D Printer Manager is a community-built MCP server published by dmontgomery40 that provides AI assistants with tools and capabilities via the Model Context Protocol. 3D Printer Manager enables remote control, file handling, and advanced STL editing with seamless integration for better It is categorized under developer tools.

How to install

You can install 3D Printer Manager in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

3D Printer Manager is released under the GPL-2.0 license.

MCP 3D Printer Server

npm version License: GPL-2.0 TypeScript Maintenance PRs Welcome Node.js Version Downloads GitHub stars

3D Printer Server MCP server
✨ What's New / Significant Updates (as of last session)
  • Dual Local Transports: Added explicit stdio and streamable-http runtime modes with environment-based transport selection.
  • Bambu Reliability Pass: Fixed Bambu argument wiring bugs, added FTP-backed file operations, improved status refresh behavior, and implemented practical command paths for startJob, setTemperature, and print_3mf.
  • Blender Bridge Tooling: Added blender_mcp_edit_model with optional execution mode for model-edit collaboration workflows.
  • Transport Behavior Tests: Added real behavior tests for both transports (initialize, tools/list, success + failing tools/call, origin rejection).
  • Docker Modernization: Updated Docker build flow to work without BuildKit-specific features and verified streamable HTTP initialization in container smoke testing.
🗺️ Roadmap / TODO
  • Achieve Feature Parity: Bring functionality (status detail, file operations, direct printing where possible, preset handling) for OctoPrint, Klipper, Duet, Repetier, Prusa Connect, and Creality Cloud up to the level of robustness planned for the Bambu implementation.
  • Implement Full Bambu MQTT Status: Refactor getStatus for Bambu to subscribe to MQTT reports and maintain real-time state.
  • Implement Robust AMS Mapping: Replace placeholder logic; correctly parse and use AMS mapping from .3mf slicer config or user overrides for the MQTT print command.
  • Implement .3mf Print Overrides: Add logic to the print_3mf tool to handle user-provided overrides (e.g., calibration flags) and potentially common slicer settings if feasible via MQTT/G-code.
  • Calculate MD5 Hash: Add logic to calculate and include the MD5 hash of the .3mf file in the MQTT print command (optional but recommended by protocol).
  • Refactor Bambu File Ops: Investigate replacing bambu-js FTP operations (getFiles, uploadFile) with direct MQTT methods if possible/stable, or contribute FTPS support to bambu-js.
  • Add Preset Discovery Logic: Improve preset resource listing (currently lists based on potential filenames, could parse index files if they exist).
  • Expand .3mf Support: Add .3mf printing support for other printer types where applicable.
  • Error Handling & Reporting: Enhance MQTT error handling and reporting of print progress/completion.
  • Testing: Conduct thorough runtime testing of all new Bambu features.
Click to expand Table of Contents

Table of Contents

Description

This is a server that allows MCP users to connect with the API endpoints of these 3D Printers:

  • OctoPrint
  • Klipper (Moonraker)
  • Duet
  • Repetier
  • Bambu Labs
  • Prusa Connect
  • Creality/Ender

This server is a Model Context Protocol (MCP) server for connecting Claude with 3D printer management systems. It allows MCP to interact with 3D printers through the APIs of various printer management systems such as OctoPrint, Klipper (via Moonraker), Duet, Repetier, and Bambu Labs printers.

Note on Resource Usage: This MCP server includes advanced 3D model manipulation features that can be memory-intensive when working with large STL files. Please see the "Limitations and Considerations" section for important information about memory usage and performance.

Features

  • Get printer status (temperatures, print progress, etc.)
  • List files on the printer
  • Upload G-code files to the printer
  • Start, cancel, and monitor print jobs
  • Set printer temperatures
  • Advanced STL file manipulation:
    • Extend base for better adhesion
    • Scale models uniformly or along specific axes
    • Rotate models around any axis
    • Translate (move) models
    • Modify specific sections of STL files (top, bottom, center, or custom)
  • Comprehensive STL analysis with detailed model information
  • Generate multi-angle SVG visualizations of STL files
  • Real-time progress reporting for long operations
  • Error handling with detailed diagnostics
  • Slice STL files to generate G-code
  • Confirm temperature settings in G-code files
  • Complete end-to-end workflow from STL modification to printing
  • Print .3mf files directly on Bambu Lab printers (via MQTT command)
  • Read Bambu Studio preset files (printer, filament, process) as resources

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/dmontgomery40/mcp-3d-printer-server.git
cd mcp-3d-printer-server
npm install
npm link  # Makes the command available globally

Running with Docker

You can also run the server using Docker and Docker Compose for a containerized environment.

  1. Ensure you have Docker and Docker Compose installed.
  2. Copy .env.example to .env and configure your settings.
  3. Build and run the container:
    docker-compose up --build -d
    

Using Slicers with Docker

Please note that the default Docker setup cannot directly use a slicer installed on your host machine. Mounting the slicer executable directly from the host into the container is unreliable due to operating system and library differences between your host and the container.

The recommended approach is to install your preferred slicer inside the Docker image. This makes the container self-sufficient.

To do this, you will need to modify the Dockerfile. Here's a conceptual example of how you might add PrusaSlicer or OrcaSlicer (specific commands may vary depending on the slicer, its dependencies, and current Alpine packages):

# ... other Dockerfile commands ...

# Example: Install PrusaSlicer or OrcaSlicer (adjust command as needed)
# Check Alpine package repositories first (e.g., apk add prusaslicer or apk add orcaslicer)
# If not available, download and install manually (e.g., AppImage):
# RUN apk add --no-cache fuse # FUSE might be needed for AppImages
# RUN wget https://example.com/path/to/OrcaSlicer_Linux_Vxxxx.AppImage -O /usr/local/bin/orcaslicer && \
#     chmod +x /usr/local/bin/orcaslicer

# Set the SLICER_PATH env var accordingly in docker-compose.yml or when running
# Example for installed executable:
ENV SLICER_PATH=/usr/local/bin/orcaslicer 

# ... rest of Dockerfile ...

After modifying the Dockerfile, rebuild your image (docker-compose build). You'll also need to ensure the SLICER_PATH environment variable in your .env file or docker-compose.yml points to the correct path inside the container (e.g., `/usr/local/bin/orcasl


README truncated. View full README on GitHub.

Alternatives

Related Skills

Browse all skills
ui-design-system

UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.

18
mcp-manager

Manage MCP (Model Context Protocol) servers in Claude Code projects. Use this skill when the user requests enabling, installing, disabling, or removing specific MCP servers like context7 or chrome-devtools. Always operates at project level (local scope only).

7
ai-sdk

Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have questions about AI providers (OpenAI, Anthropic, Google, etc.), streaming, tool calling, structured output, or embeddings, (4) Use React hooks like useChat or useCompletion. Triggers on: "AI SDK", "Vercel AI SDK", "generateText", "streamText", "add AI to my app", "build an agent", "tool calling", "structured output", "useChat".

6
api-documenter

Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals. Use PROACTIVELY for API documentation or developer portal creation.

4
openai-knowledge

Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.

4
cli-builder

Guide for building TypeScript CLIs with Bun. Use when creating command-line tools, adding subcommands to existing CLIs, or building developer tooling. Covers argument parsing, subcommand patterns, output formatting, and distribution.

3