orca-slicer-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CREALITY_SSH_HOST | No | SSH alias of the host running the Creality docker stack. | t580 |
| CREALITY_GCODE_DIR | No | Upload directory on the printer, used to build the printprt path. | /usr/data/printer_data/gcodes |
| CREALITY_PROXY_CONTAINER | No | Docker container serving the web UI; talked to directly, bypassing oauth2-proxy. | creality-proxy |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| start_sessionA | Start a private Xvfb display with openbox and launch OrcaSlicer on it. Must be called before any other tool. Dismisses the first-run SSL and update dialogs. Returns a status string. |
| stop_sessionA | Terminate OrcaSlicer, openbox and Xvfb, freeing the display. |
| session_statusA | Report whether a session is running and list its top-level windows. |
| screenshotA | Capture the current OrcaSlicer screen and return it as a PNG image. |
| import_modelA | Import a model (STL/OBJ/3MF/STEP/AMF/SVG) into the running instance. Delivers the file path to the already-running OrcaSlicer over the
single-instance DBus channel ( |
| export_gcodeA | Slice the current plate and export G-code to an absolute path. Sends a single |
| process_modelA | Convenience: import a model then slice + export G-code in one call. |
| print_gcodeA | Send a local .gcode file to the Creality printer and start printing it. Reaches the printer's web UI through the docker container on the configured SSH host, bypassing the public oauth2-proxy gate, and drives the same two web actions a human would: upload the file, then start the print. Set start=False to upload only and leave the file staged on the printer. Configuration (environment variables): CREALITY_SSH_HOST (default t580), CREALITY_PROXY_CONTAINER (default creality-proxy), CREALITY_GCODE_DIR (default /usr/data/printer_data/gcodes). |
| clickA | Click at absolute screen coordinates (button 1=left, 3=right). |
| type_textC | Type literal text into the focused widget. |
| press_keyA | Send a key or chord in xdotool syntax (e.g. 'ctrl+i', 'Return', 'Escape'). |
| zoomC | Zoom the 3D view. Positive steps zoom in, negative out, over (x,y). When x/y are left at -1 the screen centre of the active session is used. |
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 12 tools
Each tool has a distinct purpose: UI actions (click, press_key, type_text), file operations (export_gcode, import_model, process_model), session management (start/stop_session, session_status), printer control (print_gcode), view manipulation (zoom), and capture (screenshot). No overlapping functionality.
Most tools follow a verb_noun pattern (e.g., import_model, start_session). However, 'screenshot' is a noun, 'zoom' is a single verb, and 'session_status' uses noun_noun, introducing a few inconsistencies.
12 tools cover the core workflow (session lifecycle, model import, slicing, printing, UI interaction) without being excessive. Each tool justifies its existence for automating OrcaSlicer.
The set covers major workflows but lacks direct tools for model editing (e.g., scale, rotate) and printer status. However, UI tools like click and press_key can compensate, and the core slice-and-print path is complete.