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) |
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": 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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