
orcaslicer-mcp
by MaxEllis
OrcaSlicer MCP
Let Claude drive a real, running OrcaSlicer. It loads models, arranges the plate, tunes settings, slices, and reads the result back. Every change lands in the GUI while you watch.
This package is an MCP server: it bundles no model and talks to nothing but OrcaSlicer, at an address you configure, localhost by default. The model comes from your MCP client. If that client uses a hosted one, your conversation goes there as any chat does; your models, profiles, and gcode stay on the machine running the slicer. Point the client at a local model and nothing leaves at all.
What it can do
Settings
Read and write any of roughly 800 OrcaSlicer settings on the live config, for the whole plate or scoped narrower: get_config, set_config, find_config_keys, set_layer_height, set_height_range for a band of layers, and set_object_config for one object's overrides.
Knowing what the settings mean
An offline settings reference ships with the package, carrying the authoritative label, tooltip, type, range, enum, and default for each key, so describe_setting, search_settings, and compare_settings answer from OrcaSlicer's own source instead of guessing. consult composes curated slicing knowledge and your saved notes by topic, symptom, or goal.
check_profile_physics is a deterministic gate. It overlays proposed changes on the live config, runs flow, temperature, geometry, and cooling math, then returns ok, warnings, or blocked. Accelerations your printer cannot reach and speeds past the flow ceiling get caught before they reach a print.
Presets
list_presets, select_preset, get_preset_config, edit_preset, save_preset, rename_preset, delete_preset.
Slicing, and reading the result back
slice, slice_and_wait, apply_and_slice, cancel_slice, get_slice_status, get_slice_warnings, get_gcode.
get_slice_breakdown returns per-feature time, filament, and flow. OrcaSlicer shows the same information in the legend beside its preview, sized for a screen; this returns it as numbers an assistant can compare and act on:
role time share filament mean flow
inner_wall 5m 41s 30.8% 6.43 g 16.0 mm3/s
outer_wall 3m 19s 18.0% 3.20 g 13.6 mm3/s
sparse_infill 3m 07s 17.0% 3.57 g 17.0 mm3/s
internal_solid_infill 2m 01s 11.0% 1.72 g 11.8 mm3/s
bridge 52s 4.7% 0.26 g 4.4 mm3/s
support_interface 36s 3.2% 0.52 g 12.3 mm3/s
overhang_perimeter 28s 2.5% 0.13 g 3.7 mm3/s
internal_bridge 21s 1.9% 0.45 g 19.9 mm3/s
top_surface 19s 1.7% 0.29 g 12.5 mm3/s
brim 12s 1.1% 0.21 g 14.7 mm3/s
bottom_surface 7s 0.7% 0.10 g 11.8 mm3/s
18m 24s 16.89 g
It answers which feature is eating the time without slicing repeatedly to find out. A prediction_check rides along and flags any role where the profile's requested speed got throttled at the flow ceiling.
Models and the plate
load_model (.stl, .obj, .3mf, plus .step and .stp on fork v2.3.2-mcp.3 and later), list_objects with each object's world-space bounding box and an on_plate flag, transform_object, duplicate_object, delete_object, arrange_plate, auto_orient, check_placement, diagnose_plate, get_job_status.
Plate renders
render_plate hands back a P
Related servers

n8n
by n8n-io
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

@modelcontextprotocol/server-everything
OfficialMCP server that exercises all the features of the MCP protocol

@modelcontextprotocol/server-filesystem
OfficialMCP server for filesystem access