CAD to Print MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MOONRAKER_URL | No | Moonraker URL, such as http://printer.local:7125 | |
| FREECAD_CMD_EXE | No | Path to freecadcmd.exe or FreeCADCmd if it is not on PATH | |
| ORCA_SLICER_EXE | No | Path to orca-slicer.exe or orca-slicer if auto-discovery fails | |
| MOONRAKER_API_KEY | No | Optional Moonraker API key; never put it in a repository | |
| ORCA_MCP_OUTPUT_DIR | No | Optional output directory; defaults to ~/OrcaSlicer-MCP/outputs | |
| ORCA_MCP_PROFILE_DIR | No | Optional user profile directory override |
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 |
|---|---|
| check_setupB | Check local FreeCAD, OrcaSlicer and profile locations. |
| inspect_freecad_documentB | List solid objects, dimensions and validity from a FreeCAD .FCStd document. |
| export_freecad_stlB | Export one selected FreeCAD object to STL without altering the CAD document. |
| list_supported_settingsA | List the validated print settings accepted by this server. |
| list_user_profilesB | List local machine, process, and filament JSON presets available for slicing. |
| find_profilesB | Find bundled or user OrcaSlicer machine, process, or filament presets by name. |
| read_profileB | Read a preset's settings, with credential fields redacted. |
| derive_profileB | Create an isolated copy with new settings; original OrcaSlicer preset is unchanged. |
| preview_sliceA | Validate a slice request and show inputs, settings, and hashes without slicing. |
| run_sliceC | Slice with stock OrcaSlicer in a unique output folder; return artifacts and logs. |
| prepare_print_jobC | Export one FreeCAD solid and slice it with explicit OrcaSlicer presets. |
| read_gcode_summaryB | Read available print time, filament, and layer metadata from G-code or sliced 3MF. |
| get_printer_statusA | Read Moonraker connection and current print state. |
| upload_print_fileA | Upload G-code to Moonraker without starting the printer; return an upload ID. |
| start_uploaded_printA | Start an uploaded G-code file after checking the printer is ready and idle. |
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 15 tools
Most tools have clearly distinct roles (inspect vs export vs preview vs run), but prepare_print_job strongly overlaps with export_freecad_stl + run_slice, and find_profiles vs list_user_profiles could be confused at a glance.
Predominantly consistent verb_noun snake_case (check_setup, inspect_freecad_document, run_slice), with only minor deviations where the verb is omitted (get_printer_status) or the pattern shifts to adjective_noun (list_supported_settings).
15 tools is a well-scoped set for a CAD-to-print pipeline spanning discovery, inspection, slicing, and printer upload; each tool has a distinct phase in the workflow.
The surface covers the full lifecycle from CAD inspection through slicing to printer control, but lacks cancellation or print-job status/monitoring beyond a single get_printer_status, which agents would likely need in practice.