PrusaSlicer-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PRUSASLICER_PATH | No | Folder containing prusa-slicer-console. Defaults to the standard install folders. | |
| PRUSASLICER_DATADIR | No | PrusaSlicer configuration folder with your profiles. Defaults to %APPDATA%\PrusaSlicer (Windows). | |
| PRUSASLICER_MCP_WORKDIR | No | Where G-code and intermediate files are written. Defaults to <temp>/prusaslicer-mcp. | |
| PRUSASLICER_MCP_ALLOW_POST_PROCESS | No | Off by default. Set to 1 to let profiles run their post_process scripts. | |
| PRUSASLICER_MCP_ALLOW_PRINT_CONTROL | No | Off by default. Set to 1 to enable start / pause / resume / cancel on printers. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_slicer_infoA | PrusaSlicer version and paths, data directory, active engine and whether printer control is enabled. |
| list_printersC | Printer profiles installed in the user's PrusaSlicer (system and user). |
| list_compatible_profilesB | Print profiles compatible with a printer, each with its compatible filament profiles. |
| select_profilesB | Select the printer, print and filament profiles to slice with (by exact name). |
| use_config_fileA | Slice with a flat PrusaSlicer .ini config instead of named profiles (bundles are rejected). |
| get_settingB | Value of a setting: the session override, else the effective value of the last slice. |
| set_settingA | Override a PrusaSlicer setting for this session (e.g. fill_density=20%, layer_height=0.15). |
| reset_settingB | Remove a session override so the profile value applies again. |
| save_profile_asC | Save the session overrides as user profiles named |
| import_profile_bundleC | Import a PrusaSlicer config bundle (.ini with [print:…] sections) as user profiles. |
| add_modelB | Add a model file (STL, 3MF, OBJ, STEP, AMF) to the bed; returns its id and size. |
| get_plateC | Current bed: selected profiles, setting overrides and objects with their instances. |
| remove_objectC | Remove an object from the bed. |
| clear_plateB | Remove every object from the bed. |
| transform_objectC | Set absolute rotation (degrees), scale (%) and number of copies of an object. |
| place_instanceC | Fix the centre (mm) of one copy of an object on the bed. |
| arrange_plateA | Automatically place every copy that the user has not fixed; returns the positions. |
| sliceB | Slice the bed. Returns the G-code path, metrics, warnings, placements and the configuration check. |
| export_3mfC | Export the bed (objects, positions and configuration) as a 3MF project. |
| get_gcode_metricsC | Print time, filament (mm, cm³, g), cost, layers and profiles of a PrusaSlicer G-code. |
| analyze_toolpathsC | Time and material per move type (perimeters, infill, bridges, travel…); optionally the slowest layers. |
| find_print_risksC | Possible print problems (warping, overhangs, long bridges, flow or machine limits…) with evidence. |
| show_in_slicerA | Open a model/3MF in the user's PrusaSlicer window, or a G-code in the G-code viewer. |
| set_variable_layer_heightD | Adaptive variable layer height for an object (GUI engine, v2). |
| add_height_range_modifierC | Different settings for a height range of an object (GUI engine, v2). |
| preview_layerC | Show a given layer in the live preview (GUI engine, v2). |
| list_print_hostsB | Networked printers configured in PrusaSlicer (OctoPrint, Moonraker/Klipper, PrusaLink). No secrets. |
| upload_gcodeA | Upload a G-code to a networked printer without starting it. Returns the remote path. |
| get_printer_statusC | State, progress, current file and temperatures of a networked printer. |
| start_printB | Start printing an already uploaded file. Needs the user's explicit confirmation. |
| pause_printA | Pause the current print. Needs the user's explicit confirmation. |
| resume_printA | Resume a paused print. Needs the user's explicit confirmation. |
| cancel_printB | Cancel the current print. Needs the user's explicit confirmation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 33 tools
Tools cluster into clearly distinct groups (settings, profiles, plate/model editing, slicing, analysis, printer control) and descriptions give sharp boundaries (e.g. use_config_file explicitly says 'instead of named profiles'). A few near-neighbors remain — get_setting vs get_plate vs get_slicer_info as state readers, and preview_layer vs show_in_slicer as display actions — but an agent can disambiguate from the text.
All names are snake_case and almost all follow verb_noun (get_setting, list_printers, add_model, cancel_print). Minor deviations: the bare verb 'slice', the trailing preposition in 'save_profile_as', and 'use_config_file' — readable but not perfectly uniform.
33 tools is heavy for any one server, though the PrusaSlicer domain is genuinely broad (slicing, profiles, model editing, G-code analysis, GUI manipulation, network printing). The start/pause/resume/cancel quartet and the three GUI-engine v2 tools could plausibly be consolidated, so the surface feels somewhat over-expanded rather than tightly scoped.
Coverage across the lifecycle is strong: profile selection/import/save, full plate editing, slicing/export, G-code analysis and remote printer control. Gaps are minor — no delete/rename for saved user profiles, and no explicit object-listing or listing of all print/filament profiles outside a printer context.