Orcaslicer Mcp
Work a running OrcaSlicer with AI: slice, tune, and understand what each setting costs
- Transport
- Not stated
- Package
- —
- Registry id
- io.github.MaxEllis/orcaslicer-mcp
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
Let Claude work alongside you in a real, running OrcaSlicer. It loads models, arranges the plate, tunes settings, slices, and reads the result back as numbers you can question: which feature ate the print time, what a setting actually does, whether a profile breaks your printer's physics. Every change lands in the GUI while you watch, so the slicer stays yours and you get better at it as you go.
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
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.
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.
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.
compare_slices slices the current plate under several named variants and returns one comparison, so "what does layer height actually cost me?" is a single question rather than four manual slices. It applies each variant over your original config, restores it when done, and hands back a verdict plus a table with every delta already worked out:
Recommended: 0.4mm - fastest with no warnings.
From the project's README.