Skip to content
appsgit

MCP 3D Printer 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.

github.com/DMontgomery40/mcp-3D-printer-server (opens in a new tab)

Install MCP 3D Printer Server

Generated from the server's published package. Replace your-value with your own values.

Claude Desktop

claude_desktop_config.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

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

Cursor

.cursor/mcp.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
{
  "servers": {
    "mcp-3d-printer-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-3d-printer-server"
      ]
    }
  }
}

Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).

Tools (40)

Parsed from the Tools section of the README; check the repository for the current list.

  • 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.

About 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.

  • 3d-printing
  • bambu-lab
  • bambu-studio
  • duet
  • klipper
  • mcp
  • mcp-server
  • modelcontextprotocol
  • moonraker
  • octoprint

FAQ

MCP 3D Printer Server FAQ

Still curious? Email info@appsgit.com.

What is MCP 3D Printer 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. The source code is at github.com/DMontgomery40/mcp-3D-printer-server.

How do I install the MCP 3D Printer Server MCP server?

Add the command npx -y mcp-3d-printer-server to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.

Is MCP 3D Printer Server free?

The server is open source under the GPL-2.0 license, so running it is free. It does not declare any required API key.

Is MCP 3D Printer Server actively maintained?

The most recent commit was on Oct 6, 2026. The latest release is v1.2.11, published Oct 6, 2026. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.