Skip to main content
Glama
DMontgomery40

MCP 3D Printer Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
API_KEYYesAPI key for authentication with your printer management system
TEMP_DIRNoDirectory for temporary files (optional)
BAMBU_TOKENNoAccess token for Bambu Lab printers (required when PRINTER_TYPE is 'bambu')
SLICER_PATHNoPath to the slicer executable
SLICER_TYPENoThe type of slicer to useprusaslicer
BAMBU_SERIALNoSerial number for Bambu Lab printers (required when PRINTER_TYPE is 'bambu')
PRINTER_HOSTNoThe hostname or IP address of your 3D printerlocalhost
PRINTER_PORTNoThe port used to connect to your 3D printer80
PRINTER_TYPENoThe type of 3D printer management systemoctoprint
SLICER_PROFILENoPath to the slicer profile

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_printer_statusC

Get the current status of the 3D printer

list_printer_filesC

List files available on the 3D printer

upload_gcodeA

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), printer state is checked, and a human confirmation is requested before the print starts.

start_printA

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 and human confirmation. Printers whose API cannot download files (Repetier, Prusa, Creality) refuse; use upload_gcode with print=true instead.

cancel_printC

Cancel the current print job

set_printer_temperatureA

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, require a ready printer and a human confirmation.

extend_stl_baseC

Extend the base of an STL file by a specified amount

slice_stlB

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 CLI runs, and the result must contain plate G-code. Failures stop with the slicer's exit status and output.

slice_with_templateA

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_templatesA

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

save_templateB

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

get_slice_settingsA

Inspect slicer settings in a 3MF template or JSON/config profile without slicing (layer height, infill, walls, supports, brim, bed, printer, filaments).

confirm_temperaturesA

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_stlA

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_infoC

Get detailed information about an STL file

scale_stlB

Scale an STL model uniformly or along specific axes

rotate_stlC

Rotate an STL model around specific axes

translate_stlC

Move an STL model along specific axes

modify_stl_sectionC

Apply a specific transformation to a selected section of an STL file

generate_stl_visualizationB

Generate an SVG visualization of an STL file from multiple angles

print_3mfA

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, then a human confirmation is requested before upload and start.

check_fulu_orca_setupC

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

fulu_bambu_network_rpcA

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 safety gate; use print_3mf for checked printing.

merge_verticesB

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

center_modelB

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

lay_flatB

Attempt to rotate the model so its largest flat face lies on the XY plane (Z=0).

blender_mcp_statusA

Inspect Blender MCP configuration or connect and discover the remote server's tools. Lists tool names and summaries; pass tool_names for the full input schemas of the tools you will call. Connecting does not edit the scene; use get_scene_info through blender_mcp_call to check the Blender addon.

blender_mcp_callA

Call a discovered tool on the configured Blender MCP server, preserving its full MCP content and errors. Discover tool schemas with blender_mcp_status first; execute_blender_code accepts Python code and user_prompt. Calls can modify the active Blender scene and are never automatically retried.

blender_mcp_export_stlA

Export named objects from the live Blender scene to a new, verified STL for slicing. Writes world-space geometry with modifiers applied, without changing the scene, selection, or mode, and reports triangle count and bounding-box dimensions from the written file. Use this after editing or modelling through blender_mcp_call; Blender MCP's own export_scene writes GLB/FBX only. Requires standard Blender MCP and a shared local filesystem.

blender_mcp_edit_modelA

Import, edit, and export a local STL through standard Blender MCP with verified output and existing scene objects preserved. Requires a shared local filesystem and Blender Object Mode. Also supports a separately configured legacy executable bridge.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
3D Printer StatusCurrent status of the 3D printer including temperatures, print progress, and more
3D Printer FilesList of files available on the 3D printer

TDQS

B3.3/5.0

Scored across 30 tools

Disambiguation3/5

Several tools overlap on the 'start a print' action (upload_gcode with print=true, start_print, process_and_print_stl, print_3mf), and Blender editing/export tools (blender_mcp_call, blender_mcp_edit_model, blender_mcp_export_stl) have adjacent responsibilities. Descriptions do explain the safety gates and distinctions, but the boundary between print entry points requires careful reading.

Naming Consistency4/5

Nearly all tools use snake_case verb_noun form (get_printer_status, slice_stl, scale_stl, save_template), and the blender_mcp_ and fulu_ families are consistently prefixed. Minor deviations like the noun-only 'fulu_bambu_network_rpc' are the only inconsistency.

Tool Count3/5

At 30 tools this is on the heavy side, spanning STL manipulation, slicing, template management, printer control, and Blender integration. The breadth is real but the surface feels larger than necessary, with multiple print paths that could likely be consolidated.

Completeness4/5

Coverage is strong: STL inspection/transformation, slicing with templates, printer status/control, safety-gated printing, temperature verification, and Blender round-tripping are all present. Minor gaps exist (e.g., no explicit job-queue or print-history operations), but core lifecycle operations are covered.

Maintenance

ActivityMaintained
ResponsivenessSlow