Drive a running OrcaSlicer with AI: load models, tune settings, slice, and analyze results
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
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.
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.
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.
list_presets, select_preset, get_preset_config, edit_preset, save_preset, rename_preset, delete_preset.
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:
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:
It only crowns a winner when one variant genuinely beats the rest on time, filament, and warnings; when they trade off, it names the fastest, the lightest, and where the warnings landed, and leaves the choice in front of you. Pass detail=True for the per-feature split of each variant.
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.
render_plate hands back a PNG, so the assistant can look instead of inferring from coordinates. A rotation reads instantly as a picture and barely at all as three Euler angles. Seven camera angles cover iso, top, front, left, right, rear, and bottom. Use frame="plate" to stand back for the whole bed, or frame="object" to lean in on the part. Requires fork v2.3.2-mcp.4 or later.
view="editor" | view="preview" |
|---|---|
![]() | ![]() |
| Your models on the bed. Answers orientation, plate contact, and first-layer footprint. | Sliced toolpaths coloured by feature role, so support placement is plain to see. |
get_status and watch_events report what the slicer is doing now. remember persists machine, user, and project facts for later sessions, as plain local files in ~/.orcaslicer-mcp/notes/, relocatable with ORCA_MCP_NOTES_DIR.
Stock OrcaSlicer ships without a control API, so a matching build does that half of the job.
remote-api branch from source.orcaslicer-mcp). The MCP server that connects your AI client to that build.Updating: take new builds from the releases page, never from inside the app. The in-app updater offers stock OrcaSlicer, which drops the control API. Builds mcp.2 and later turn that updater off for you. On an older build, click Skip this Version if a "new version available" prompt appears.
Install uv first, because it provides the uvx command that runs the server. One line does it: curl -LsSf https://astral.sh/uv/install.sh | sh on macOS and Linux, or irm https://astral.sh/uv/install.ps1 | iex in PowerShell on Windows.
Install the OrcaSlicer MCP build, launch it, and finish the one-time setup by picking your printer. A fresh install may show a βBambu Network Plug-in Requiredβ dialog. Click Skip for Now, since that plug-in only serves Bambu cloud printing. The control API starts once setup is finished.
Open Preferences (Ctrl+P), go to Remote API, and tick Enable Remote API. Copy the token shown on that page. Access stays localhost-only unless you also switch on "Allow LAN access".
Connect your MCP client.
Claude Desktop: download orcaslicer-mcp-<version>.mcpb from the releases page and open the file. Claude Desktop offers to install it. Open the extension's settings afterwards, paste the token from step 2, and enable it.
Ignore any guide that tells you to hand-edit
claude_desktop_config.json. Current Claude Desktop builds rewrite that file themselves and drop addedmcpServersentries, so the edit will not stick. The extension leaves the file alone and findsuvxby itself.
Claude Code and other MCP clients: add the server to your client's MCP config. For Claude Code that means a project .mcp.json:
ORCA_API_URL defaults to http://127.0.0.1:13130. Set it only if you changed the port, or if OrcaSlicer runs on another machine with LAN access enabled there.
macOS note for GUI clients other than Claude Desktop: apps launched from the Dock do not inherit your terminal's PATH, so
"command": "uvx"can fail silently. Runwhich uvxin Terminal, then paste the full path it prints into"command". It is usually~/.local/bin/uvx.
Restart your client and ask: "Load benchy.stl, slice it with the current profile, and tell me the print time."
The live smoke test skips itself unless ORCA_API_URL and ORCA_API_TOKEN point at a running OrcaSlicer MCP build.
Protocol notes, design specs, and verification results live in docs/.
The server talks to OrcaSlicer's local API at the address you configure, localhost by default, and to nothing else. It has no backend, so there is no service of ours for anything to reach. What leaves your machine is whatever your MCP client sends its model: the conversation, plus any settings or file contents you or the assistant put into it. Their terms govern that traffic, and it is the same traffic any other use of that client produces. A local model removes it entirely.
remember, stored as plain files under ~/.orcaslicer-mcp/notes/. Read or delete them whenever you like. Delete the folder and nothing remains.Early public release, soft launch. The server carries 183 unit tests and gets exercised on real print jobs. Prebuilt OrcaSlicer MCP builds cover Windows, macOS, and Linux on the releases page. Issues and reports are welcome.
AGPL-3.0, matching OrcaSlicer, from whose source the bundled settings schema derives. See LICENSE.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/orcaslicer-mcp)<a href="https://allmcps.com/mcp/orcaslicer-mcp"><img src="https://allmcps.com/api/badge/orcaslicer-mcp?style=directory" alt="Orcaslicer Mcp on AllMCPs" /></a>