# MCP 3D Printer Server (MCP server)

> MCP 3D Printer Server is an MCP server that connects MCP to major 3D printer APIs (Orca, FULU's Orca/Bambu, OctoPrint, Klipper, Duet, Repetier, Prusa, Creality). It has 245 GitHub stars, is released under the GPL-2.0 license and runs locally with npx -y 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.

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/DMontgomery40/mcp-3D-printer-server |
| GitHub stars | 245 |
| License | GPL-2.0 |
| Language | TypeScript |
| Transport | stdio |
| Packages | npm: mcp-3d-printer-server |
| Remote URL | none |
| Needs API key | no |
| Official | no |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Other |
| Latest release | v1.2.11 (Oct 6, 2026) |
| Last commit | Oct 6, 2026 |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "mcpServers": {
    "mcp-3d-printer-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-3d-printer-server"
      ]
    }
  }
}
```

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

### Claude Code

```sh
claude mcp add --transport stdio mcp-3d-printer-server -- npx -y mcp-3d-printer-server
```

### Cursor (.cursor/mcp.json)

```json
{
  "mcpServers": {
    "mcp-3d-printer-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-3d-printer-server"
      ]
    }
  }
}
```

Project file; use ~/.cursor/mcp.json to enable it in every project.

### VS Code (.vscode/mcp.json)

```json
{
  "servers": {
    "mcp-3d-printer-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-3d-printer-server"
      ]
    }
  }
}
```

Config formats checked against the official docs on 2026-10-07.

## Tools

- `get_stl_info`: Inspect an STL file without modifying it. Returns the bounding box, dimensions, center, vertex count, and face count.
- `scale_stl`: Scale a model uniformly with scalefactor, or per axis with scalex, scaley, and scalez.
- `rotate_stl`: Rotate a model around the X, Y, and Z axes, in degrees. Omitted axes default to 0.
- `translate_stl`: Move a model along the X, Y, and Z axes, in millimeters. Omitted axes default to 0.
- `extend_stl_base`: Add solid geometry underneath the model to raise and widen its base.
- `merge_vertices`: Merge vertices closer together than tolerance (millimeters, default 0.01).
- `center_model`: Move the model so the center of its bounding box is at the origin (0, 0, 0).
- `lay_flat`: Find the model's largest flat face and rotate the model so that face rests on the XY plane (Z = 0).
- `modify_stl_section`: Apply a scale, rotation, or translation to one section of a model: the top, bottom, or center third of its bounding…
- `generate_stl_visualization`: Render an SVG with front, side, top, and isometric views of a model.
- `get_printer_status`: Read the printer's current status. The response is the backend's own status data: Bambu returns temperatures, job…
- `list_printer_files`: List the files stored on the printer or its host software. On Bambu printers it lists the cache/, timelapse/, and…
- `upload_gcode`: Upload G-code to the printer, and optionally start it. Pass gcodepath for a local file, or gcode with the content (or…
- `start_print`: Start a G-code file that is already stored on the printer. The server downloads that exact file, inspects it, checks…
- `cancel_print`: Cancel the current print job. Cancelling is never gated and also cancels checked prints still waiting to start.
- `set_printer_temperature`: Set a target temperature for a printer component. Use bed or extruder; Bambu also accepts nozzle, tool, and tool0.
- `temperature`: must be a finite number of 0 or more. 0 switches the heater off and is never gated.
- `print_3mf`: Upload a sliced .3mf project to a Bambu printer over FTPS and start it with an MQTT projectfile command that carries…
- `ams_mapping`: is an object whose values are AMS slot numbers. When it is omitted, the mapping embedded in the 3MF is used; with no…
- `nozzle_type`: sets the installed nozzle when the project must be auto-sliced. The job's nozzle type must match the printer's report.
- `bed_type`: is one of texturedplate, coolplate, engineeringplate, or hotplate (default BEDTYPE, else texturedplate).
- `nozzle_diameter`: accepts 0.2, 0.4, 0.6, or 0.8 (default NOZZLEDIAMETER or 0.4).
- `layer_height`: , nozzletemperature, bedtemperature, and supportenabled are accepted but not applied: those settings are baked into…
- `check_fulu_orca_setup`: Inspect a FULU OrcaSlicer-bambulab install: the executable, the platform runtime payload, the install and verify…
- `fulu_bambu_network_rpc`: Call one FULU BambuNetwork bridge method for diagnostics. Read-only methods such as bridge.handshake,…
- `slice_stl`: Slice an STL or 3MF with the configured slicer and return the output path: G-code for PrusaSlicer, Slic3r, generic…
- `slicer_profile`: is a process profile only. A machine;process list is rejected with instructions.
- `load_filaments`: Filament profile JSON paths in slot order, ;-separated. One profile applies to every slot; otherwise give one per…
- `load_filament_ids`: Comma-separated filament IDs mapping filaments to objects, such as 1,2,3,1
- `filament_colours`: One #RRGGBB per filament slot, ;-separated. Defaults to the input 3MF's colours, then each profile's colour
- `slice_with_template`: Slice an STL or 3MF with a named template from the local template registry.
- `list_templates`: List the saved slicing templates (.3mf, .json, .config) in the registry directory, BAMBUTEMPLATEDIR (default…
- `save_template`: Copy a local .3mf, .json, or .config file into the template registry.
- `get_slice_settings`: Read the slicer settings in a 3MF, an extracted projectsettings.config, or a profile JSON without slicing: layer…
- `confirm_temperatures`: Report every heater target in a G-code file: S and R forms, tool-addressed targets, RepRapFirmware G10/M568, and…
- `process_and_print_stl`: Extend an STL's base, slice it, and print it through the same checked print gate as uploadgcode and print3mf,…
- `blender_mcp_status`: Inspect the Blender MCP configuration. With connect: true, it starts the configured server, initializes it, and lists…
- `blender_mcp_call`: Call a tool the Blender MCP server advertises, such as getsceneinfo or executeblendercode, with arguments matching its…
- `blender_mcp_export_stl`: Export named objects from the live Blender scene to a new STL for slicing.
- `output_path`: must be new and its parent must exist; nothing is ever overwritten.

## Similar MCP servers

- [Reactive Resume](https://appsgit.com/mcp-servers/reactive-resume): A one-of-a-kind resume builder that keeps your privacy in mind. (43,921 stars, MIT)
- [N8n MCP](https://appsgit.com/mcp-servers/n8n-mcp): A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you. (23,047 stars, MIT)
- [XHS Downloader](https://appsgit.com/mcp-servers/xhs-downloader): 小红书（XiaoHongShu、RedNote）链接提取/作品采集工具. (12,922 stars, GPL-3.0)
- [MCP Use](https://appsgit.com/mcp-servers/mcp-use): The fullstack MCP framework to develop MCP Apps for ChatGPT / Claude & MCP Servers for AI Agents. (10,726 stars, MIT)
- [Ha MCP](https://appsgit.com/mcp-servers/ha-mcp): Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants. (4,964 stars, MIT)
- [MCP Server Chart](https://appsgit.com/mcp-servers/mcp-server-chart): A Model Context Protocol server for generating charts using AntV. (4,391 stars, MIT, needs API key)

---

Canonical page: https://appsgit.com/mcp-servers/mcp-3d-printer-server
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
