MCP 3D Printer Server

by DMontgomery40• 257•• Scanned•Claim this listing•Request removal
Design & Media3d printing3mfbambu labbambu studioduet

Connects MCP to major 3D printer APIs (Orca, FULU's Orca/Bambu, OctoPrint, Klipper, Duet, Repetier, Prusa, Creality). Control prints, monitor status, and perform advanced STL operations like scaling, rotation, sectional editing, and base extension. Includes slicing and visualization.

MCP 3D Printer Server is an open-source mcp server by DMontgomery40, written mainly in TypeScript, with 257 GitHub stars and the GPL-2.0 license. Its code was last updated Oct 30, 2026.

Scan summary: scanned Nov 5, 2026 at commit 6e3dc5a. Seen able to read environment and secrets, connect to the internet. Scan policy

What MCP 3D Printer Server can touch

  • Run shell commandsNot seen in this scan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsFound in the code by our scan
  • Control a web browserNot seen in this scan
  • Connect to databasesNot seen in this scan
  • Read or send messagesNot seen in this scan
  • Touch money or tradingNot seen in this scan
  • Connect to the internetFound in the code by our scan

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit 6e3dc5a, Nov 5, 2026. See the scan policy.

Before you install MCP 3D Printer Server

AgenticMart scanned MCP 3D Printer Server on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.
  • Based on its description and topics, it likely needs to read and write files on your machine.

Before you install

  1. Point it at one project folder, never your home directory.
  2. Pin the version you reviewed instead of always installing the latest release.
  3. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by DMontgomery40 on GitHub, 257 stars and 50 forks. Popularity is not proof of safety.
  • Last code change: Oct 30, 2026.
  • Open-source license: GPL-2.0.

Tools MCP 3D Printer Server exposes (48)

Listed by the server itself during our scan of commit 6e3dc5a.

  • get_printer_status

    Get the current status of the 3D printer

  • list_printer_files

    List files available on the 3D printer

  • upload_gcode

    Upload G-code content or a local G-code file path to the printer. With print=true the exact uploaded bytes are inspected first (every S/R heater target, tool changes, hardware and material ceilings) and printer state is checked before the print starts.

  • start_print

    Start printing a G-code file already stored on the printer. The server downloads and inspects the exact file, then starts a uniquely named checked copy after printer-state checks. Printers whose API cannot download files (Repetier, Prusa, Creality) refuse; use upload_gcode with print=true instead.

  • cancel_print

    Cancel the current print job

  • camera_stream_start

    Start or renew one persistent camera connection for this printer. Call only while watched; it closes automatically after idle_timeout_ms without a viewer request. camera_snapshot then reuses its latest frame. No printer motion or print commands.

  • camera_frame

    Read the shared camera stream, optionally waiting up to 10 seconds. Returns JPEG only when newer than since_seq and visibly changed (32×18 grayscale difference). Retain the last delivered frame's seq on unchanged. max_width resizes JPEG to the viewer. Does not start a stopped stream.

  • camera_stream_stop

    Close this printer's camera connection and free its cached frames. Other printers keep their own streams. Active viewers may restart it; normally let the idle timeout close a shared stream.

  • counterpart_print_route

    Counterpart contract (counterpart/1), Bambu: how this server reaches the printer for prints and for Stop/Pause/Resume. route is "lan" (the local network through FULU's BambuNetwork bridge), "cloud" (Bambu Cloud through FULU's bridge) or "developer" (the local network straight to a printer in LAN Onl

  • counterpart_printer_info

    Describe this printer for the counterpart/1 contract: server name and version, printer kind and identity, and which features work (progress, layers, camera, filaments, pause, resume, cancel, print_3mf, G-code), detected from the firmware. Read-only.

  • counterpart_print_progress

    Read the printer's state and current job in the counterpart/1 shape: state, job name, progress (0-100), elapsed and remaining seconds, layers when the firmware reports them, temperatures and problems. job.name matches the jobName that upload_gcode and start_print return. Read-only.

  • camera_snapshot

    Capture one JPEG frame from the printer's camera: OctoPrint's configured snapshot URL (Classic Webcam on 1.9+, webcam.snapshotUrl on 1.8, then /webcam/?action=snapshot), Moonraker's first enabled webcam, or Repetier's webcam staticUrl. PrusaLink and Duet have no local snapshot API. PRINTER_CAMERA_SN

  • counterpart_discover_printers

    Counterpart contract (counterpart/1): printers on the local network. Bambu Lab printers from their own SSDP announcements (UDP 2021), with serial, model (as bambu_model names it), name and firmware; OctoPrint, Klipper (Moonraker) and PrusaLink hosts from their Bonjour adverts (dns-sd on macOS, avahi

  • counterpart_setup_fields

    Counterpart contract (counterpart/1): the printers this server drives (each PRINTER_TYPE) and the settings it reads for each, by .env variable name: label, hint, whether required, the fixed values a kind needs (PRINTER_TYPE), the Bambu model choices and the model each serial-number prefix names. Pas

  • counterpart_propose_filaments

    Counterpart contract (counterpart/1): which loaded spool prints each of a model's colours, before slicing. Reads the printer's filaments once (Bambu: the AMS and external spools). trays lists the spools a person may choose (label like "A2" or "External", a person-readable name, colour, material, fee

  • get_printer_filaments

    Report the loaded filament. Bambu: the live AMS and external-spool inventory over MQTT, as bambu-printer-mcp reports it (trays with absolute slot, loaded state, material, colour, tray_info_idx and resolved slicer profile path; summary; recommended load_filaments), plus counterpart/1 slots for every

  • pause_print

    Pause the current print (Bambu Lab, OctoPrint, Klipper/Moonraker, PrusaLink, Duet M25, Repetier, and Creality printers that run Moonraker). Bambu pauses over the same connection that prints. Pause is never gated.

  • resume_print

    Resume a paused print. Resume reheats and moves the printer, so it only resumes a job this server instance inspected and started, and only when the printer freshly reports that job paused. Bambu re-reads the job over FTPS (or the plate G-code the printer extracted) and compares its SHA-256, and resu

  • set_printer_temperature

    Set the temperature of a printer component. Temperature 0 switches a heater off and is never gated. Positive targets are validated before connecting, limited by independent hardware and material ceilings, and require a ready printer.

  • extend_stl_base

    Extend the base of an STL file by a specified amount

  • slice_stl

    Slice an STL or 3MF file to generate G-code or a sliced 3MF. For Bambu-compatible CLI slicing (bambustudio, orcaslicer-bambulab, or orcaslicer with bambu_model), the exact bambu_model/nozzle machine preset from the selected slicer installation is required, profile inheritance is resolved before the

  • slice_with_template

    Slice an STL or 3MF with a named template from the local template registry (BAMBU_TEMPLATE_DIR). The template supplies process settings; the machine preset still comes from bambu_model and nozzle_diameter.

  • list_templates

    List saved slicing templates (.3mf, .json, .config) in the local template registry directory.

  • save_template

    Copy a .3mf, .json, or .config file into the local template registry under a template name.

  • get_slice_settings

    Inspect slicer settings in a 3MF template or JSON/config profile without slicing (layer height, infill, walls, supports, brim, bed, printer, filaments). For a 3MF, own_process is true when slice_stl, given the same slicer_type and bambu_model and no slicer_profile or template, slices it with the pro

  • confirm_temperatures

    Report every heater target in a G-code file (S and R forms, tool-addressed, RepRapFirmware G10/M568 and Klipper SET_HEATER_TEMPERATURE). An expected temperature matches only when it equals the file's highest target. Read-only; printing tools enforce their own safety gate.

  • process_and_print_stl

    Process an STL file (extend base), slice it, and start printing through the same checked print gate as upload_gcode/print_3mf. Expected temperatures are enforced: a mismatch refuses before upload.

  • get_stl_info

    Get detailed information about 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 a specific transformation to a selected section of an STL file

  • generate_stl_visualization

    Generate an SVG visualization of an STL file from multiple angles

  • inspect_print_file

    Inspect an exact private snapshot of a prepared sliced 3MF or textual G-code file and selected plate without contacting a printer. Returns versioned file-only evidence; no printer readiness or permission to dispatch is established. Does not auto-slice.

  • print_3mf

    Print a 3MF file on a Bambu Lab printer. The exact selected plate is inspected (model, nozzle, bed type, materials, every heater target) and checked against a fresh MQTT report of the printer's identity, nozzle, state, errors and loaded filament before upload and start.

  • check_fulu_orca_setup

    Inspect a FULU OrcaSlicer-bambulab install, platform runtime payload, setup commands, and optionally probe the BambuNetwork bridge.

  • fulu_bambu_network_rpc

    Advanced FULU bridge RPC for BambuNetwork diagnostics and development. Read-only methods are allowed by default. Agent/session setup methods require allow_mutating_method=true. Raw print methods, printer messages, file transfers and unknown methods are refused because they would bypass the print saf

  • merge_vertices

    Merge vertices in an STL file that are closer than the specified tolerance.

  • center_model

    Translate the model so its geometric center is at the origin (0,0,0).

  • lay_flat

    Rotate the model so a face rests on the bed (Z=0), choosing the orientation with the least part and support volume per mm² of bed contact. A face counts only if nothing hangs below it. Returns the new STL path; structuredContent.laid_flat is false, with the input path, when no orientation qualifies.

MCP 3D Printer Server is an open-source mcp server by DMontgomery40, written mainly in TypeScript. Connects MCP to major 3D printer APIs (Orca, FULU's Orca/Bambu, OctoPrint, Klipper, Duet, Repetier, Prusa, Creality). Control prints, monitor status, and perform advanced STL operations like scaling, rotation, sectional editing, and base extension. Includes slicing and visualization.

At a glance

Stars
257
Forks
50
Language
TypeScript
License
GPL-2.0
Created
Feb 2025
Last update
Oct 30, 2026
Type
MCP Server
Price
Free

Topics

3d-printing3mfbambu-labbambu-studioduetfulu-foundationg-codeklippermcpmcp-orca-slicermcp-servermcp-stl-3mfmodelcontextprotocolmoonrakeroctoprintorca-slicerrepetierstl-filesthree-jsthreejs

Questions about MCP 3D Printer Server

What is MCP 3D Printer Server?

Connects MCP to major 3D printer APIs (Orca, FULU's Orca/Bambu, OctoPrint, Klipper, Duet, Repetier, Prusa, Creality). Control prints, monitor status, and perform advanced STL operations like scaling, rotation, sectional editing, and base extension. Includes slicing and visualization.

Who maintains MCP 3D Printer Server?

MCP 3D Printer Server is maintained by DMontgomery40 on GitHub (DMontgomery40/mcp-3D-printer-server). AgenticMart lists it from public repository data.

Is MCP 3D Printer Server safe to use?

AgenticMart scanned MCP 3D Printer Server on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does MCP 3D Printer Server use?

It is published under the GPL-2.0 license.

MCP 3D Printer Server alternatives

View more →

Similar mcp servers in Design & Media, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
MCP 3D Printer Server (this page)
DMontgomery40
257GPL-2.0Oct 30, 2026Scanned, no flagged issues
Next AI Draw Io
DayuanJiang
37kApache-2.0Nov 1, 2026Scanned, no flagged issues
MCP For Blender
ahujasid
33kMITOct 29, 2026Scanned, no flagged issues
Figma Context MCP
GLips
16kMITOct 27, 2026Scanned, no flagged issues
Nginx UI
0xJacky
12kAGPL-3.0Nov 1, 2026Scanned, no flagged issues
Lamda
firerpa
8.7kMITSep 27, 2026Scanned, no flagged issues