cnc-fluidnc-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cnc-fluidnc-mcpHome all axes and then tell me the current machine position."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cnc-fluidnc MCP Server
An MCP (Model Context Protocol) server that lets Claude control a CNC router running FluidNC firmware. Ask Claude to check machine status, jog axes, run G-code, manage SD card files, backup configs, and create macros — all through natural language.
What It Does
Claude Desktop ←—stdio/JSON-RPC—→ cnc-mcp-server ←—WebSocket + HTTP—→ FluidNC ESP32
|
data/macros/
data/backups/27 MCP tools across 6 groups:
Group | Tools | Examples |
Status (4) |
| "What's the machine position?" |
Motion (5) |
| "Jog X 10mm right" |
G-code (6) |
| "Turn the spindle on at 10000 RPM" |
SD Card (4) |
| "Upload this G-code to the SD card" |
Config (3) |
| "Backup the current config" |
Macros (5) |
| "Create a probe-z macro" |
Related MCP server: CNCjs MCP Server
Safety System
Commands are classified into 4 levels. Dangerous operations require an explicit confirm: true parameter — Claude will naturally show you a preview and ask before executing.
SAFE — executes immediately (status queries, reads)
CAUTION — executes with warning (jogging, homing)
DANGEROUS — preview only unless
confirm: true(spindle on, rapid moves, running programs)CRITICAL — preview + strong warning unless
confirm: true(soft reset, config restore)
Setup
Prerequisites
Node.js 18+
Claude Desktop with MCP support
A CNC controller running FluidNC on your network
Install
git clone https://github.com/WhitneyDesignLabs/cnc-fluidnc-mcp.git
cd cnc-fluidnc-mcp
npm install
npm run buildConfigure Claude Desktop
Add to ~/.config/Claude/claude_desktop_config.json (Linux) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"cnc-fluidnc": {
"command": "/usr/bin/node",
"args": ["/path/to/cnc-fluidnc-mcp/build/index.js"],
"env": {
"FLUIDNC_HOST": "http://your-controller.local"
}
}
}
}Linux note: Claude Desktop v1.1.x has a known bug where it overwrites this config file, removing
mcpServers. Workaround:chmod 444 ~/.config/Claude/claude_desktop_config.jsonafter editing.
Restart Claude Desktop. Use the Chat tab (Cowork doesn't load custom MCP servers).
FluidNC API Notes
This server communicates with FluidNC through two channels — understanding this split is critical:
Channel | Used For | Examples |
WebSocket | G-code, realtime commands |
|
HTTP | ESP3D commands, Grbl $ commands |
|
SD card has its own endpoints (not the same as the flash filesystem):
Endpoint | Storage | Size |
| SD card | GBs — your G-code files |
| ESP32 flash | ~170KB — WebUI, config |
G-code sent via HTTP plain= is silently ignored. This is the #1 gotcha when integrating with FluidNC.
Tested With
FluidNC v4.0.2 on MKS TinyBee V1.0
ESP32 (2 cores, 240MHz, 8MB flash)
14.83 GB FAT32 SD card
Claude Desktop v1.1.8629 on Ubuntu Linux
Should work with other FluidNC-based boards (MKS DLC32, 6-Pack, etc.) — the API is the same.
Development
npm run watch # Rebuild on changes
npm run build # One-time build
npm start # Run the server directlyLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityBmaintenanceAn MCP server that enables AI assistants to control and monitor Klipper 3D printers via the Moonraker API. It supports comprehensive printer management, including G-code execution, toolchanger operations, and real-time status monitoring.17
- AlicenseAqualityDmaintenanceBridges Claude Code to CNCjs to enable remote control and monitoring of GRBL-based CNC machines. It provides a comprehensive toolset for managing G-code jobs, machine movement, and safety operations through natural language.30MIT
- Alicense-qualityDmaintenanceAn MCP server and CLI for controlling FarmBot hardware, enabling AI agents to manage gardening tasks through tools like gantry movement and device status monitoring. It supports executing Lua scripts and core hardware commands like homing and emergency stops via the Model Context Protocol.3MIT
- Alicense-qualityAmaintenanceMCP server to control FreeCAD from Claude — parametric modeling, sketches, CAM toolpaths, geometry inspection, and more via 33 tools.20GNU Lesser General Public v2.1 only
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for generating rough-draft project plans from natural-language prompts.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
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