cnc-fluidnc-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FLUIDNC_HOST | Yes | The URL of your CNC controller running FluidNC (e.g., http://your-controller.local or http://192.168.1.100) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_machine_statusB | Get real-time CNC machine status: position, state, feed rate, spindle speed, and overrides |
| get_system_infoB | Get FluidNC system information: firmware version, CPU, memory, WiFi, SD card status |
| get_machine_settingsA | Get all FluidNC/Grbl machine settings. Optionally filter by keyword (e.g. 'accel', 'steps', 'max_rate'). |
| get_gcode_stateA | Get active G-code modal state: motion mode, coordinate system, units, distance mode, spindle, coolant |
| jogA | Jog the CNC machine along an axis by a specified distance at a given feed rate. Uses incremental mode ($J=G91). |
| home_axesB | Run homing cycle. Homes all axes by default, or specify individual axes. |
| unlock_machineA | Clear alarm state and unlock the machine ($X). Use after an alarm condition. |
| set_zeroA | Set the work coordinate zero for specified axes at the current position (G10 L20 P1). If no axes specified, sets all axes to zero. |
| go_to_zeroA | Move to work coordinate zero. Raises Z to safe height first, then moves XY, then lowers Z. |
| send_gcodeA | Send a single G-code or Grbl command to the CNC machine. Safety level is auto-classified. DANGEROUS/CRITICAL commands require confirm=true. |
| run_gcode_programB | Send a multi-line G-code program to the machine, one line at a time. Requires confirm=true. |
| spindle_controlB | Control the spindle: turn on (CW/CCW with speed) or off. Turning on requires confirm=true. |
| feed_holdA | Pause machine motion immediately (feed hold). Sends '!' realtime command. |
| cycle_resumeA | Resume machine motion after a feed hold. Sends '~' realtime command. |
| soft_resetA | Emergency stop — soft reset the controller (0x18). Stops all motion and spindle immediately. Requires confirm=true. |
| list_sd_filesC | List files and directories on the CNC controller's SD card. |
| upload_to_sdC | Upload a file to the CNC controller's SD card. |
| delete_sd_fileA | Delete a file from the CNC controller's SD card. Requires confirm=true. |
| run_sd_fileA | Run a G-code file from the CNC controller's SD card. Requires confirm=true. |
| backup_configA | Save the current FluidNC settings and work offsets to a timestamped backup file. |
| list_backupsB | List all saved configuration backups. |
| restore_configA | Restore machine settings from a backup. Defaults to dry-run mode showing what would change. Requires confirm=true to actually apply. |
| list_macrosB | List all saved CNC macros. |
| get_macroC | View the contents of a saved macro. |
| save_macroC | Create or update a macro. Parameters can be substituted in G-code using {param_name} syntax. |
| run_macroA | Execute a saved macro. Shows preview first; set confirm=true to run. Parameters can override defaults. |
| delete_macroC | Delete a saved macro. Requires confirm=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| machine-status | Current CNC machine status (position, state, speeds) |
| connection-info | CNC controller connection and firmware information |
| macros-list | List of all saved CNC macros |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/WhitneyDesignLabs/cnc-fluidnc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server