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., "@CNCjs MCP ServerHome the machine and report the current work coordinates"
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.
CNCjs MCP Server
MCP server bridging Claude Code to CNCjs for GRBL CNC control (FoxAlien XE Ultra).
Architecture
Claude Code ←stdio/MCP→ cncjs-mcp (Node.js) ←Socket.IO v1→ CNCjs :8000 ←USB Serial→ GRBLTools (30 total)
Read-Only (14)
list_serial_ports, get_connection_status, get_machine_state, get_machine_position, get_work_coordinate_offset, get_machine_settings, get_parser_state, get_loaded_gcode, get_job_progress, get_workflow_state, get_feeder_status, list_macros, list_machines, get_alarm_info
Control (11)
connect_to_port, disconnect_port, load_gcode, start_job, pause_job, resume_job, stop_job, home_machine, unlock_machine, set_feed_override, set_spindle_override
Direct Motion (3)
send_gcode, jog, run_macro
Critical Safety (2)
emergency_stop (soft reset 0x18), feed_hold
Windows PC Setup for CNCjs
Node.js (LTS recommended, v18+) — download from https://nodejs.org
CNCjs — install via npm after Node.js is set up:
npm install -g cncjsOr download the desktop app installer from the CNCjs GitHub releases page.
USB/Serial driver for your FoxAlien XE Ultra — likely one of:
CH340 driver (most common on FoxAlien boards) — download from the manufacturer site
CP210x driver (if it uses a SiLabs chip)
Windows 10/11 may auto-install these, but if your board doesn't show up in Device Manager under "Ports (COM & LPT)", install the driver manually
Quick start after install:
cncjsThen open http://localhost:8000 in your browser. Your FoxAlien will show up as a COM port (e.g., COM3). Select it, set baud rate to 115200, controller type Grbl, and connect.
Optional but recommended:
Chrome/Edge — CNCjs web UI works best in Chromium browsers
Python (sometimes needed for
node-gypnative module builds during npm install)
MCP Server Setup
npm install
npm run buildRegister with Claude Code:
claude mcp add cncjs-mcp node /path/to/cncjs-mcp/build/index.jsEnvironment Variables
CNCJS_URL— CNCjs server URL (default:http://localhost:8000)CNCJS_TOKEN— Optional JWT token for CNCjs authentication