CNCjs MCP Server
The CNCjs MCP Server bridges Claude Code to CNCjs for controlling GRBL-based CNC machines, covering machine monitoring, connection management, motion control, job execution, and design/G-code generation.
Machine Control & Monitoring
List serial ports, connect/disconnect (specify port, baud rate, controller type)
Query machine state, positions (machine & work coordinates), work offsets, GRBL settings, parser state, job progress, workflow state, feeder status, alarms, and console output
Send raw G-code commands, load G-code files, and analyze G-code
Start, pause, resume, and stop jobs
Home the machine, unlock alarms, jog axes incrementally
Set feed rate and spindle speed overrides (10–200%), set work zero, control spindle/coolant, set WCS, and run Z probing
List and execute CNCjs macros; list machine profiles with travel limits
Safety Operations
Emergency stop (GRBL soft reset), feed hold, and jog cancel
G-code Generation
Generate G-code for 2D profiles, rectangular/circular pockets, drilling patterns, and surface facing/leveling
Design File & CAD/CAM Integration
Create SVG and DXF R12 files for import into CAM software
Generate Fusion 360 Python API scripts (sketch, extrude, revolve, CAM setup)
Generate FreeCAD Python scripts for 3D modeling and CAM toolpaths
Generate Adobe Illustrator ExtendScript (.jsx) for vector artwork and batch export
Marketplace & Packaging
Bundle designs into packages with multiple formats, previews, and metadata
Generate SEO-optimized listing descriptions for platforms like Etsy, Cults3D, or Gumroad
Convert between design formats (SVG↔DXF, G-code→SVG preview)
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 (56 total)
Read-Only / Query (17)
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, get_console_output, get_error_info, analyze_gcode
Connection (2)
connect_to_port, disconnect_port
Control (16)
send_gcode, load_gcode, start_job, pause_job, resume_job, stop_job, home_machine, unlock_machine, jog, set_feed_override, set_spindle_override, set_work_zero, spindle_control, coolant_control, set_wcs, probe_z
Safety (3)
emergency_stop (soft reset 0x18), feed_hold, jog_cancel
Management (1)
run_macro
G-code Generation (4)
generate_gcode_profile — cut 2D shapes (circle, rectangle, custom path)
generate_gcode_pocket — clear rectangular or circular pockets
generate_gcode_drill — drilling patterns (grid, circle, custom) with peck support
generate_gcode_facing — surface facing/leveling
Design File Generation (2)
generate_svg — create SVG files for import into Carveco/Fusion 360
generate_dxf — create DXF R12 files for CAM software import
Fusion 360 Integration (2)
generate_fusion_script — generate Python API scripts for Fusion 360 (sketch, extrude, revolve, fillet, chamfer, export, CAM setup)
list_fusion_scripts — list previously generated scripts
FreeCAD Integration (3)
generate_freecad_model — generate Python scripts for headless 3D modeling (box, cylinder, sphere, cone, sketch, extrude, boolean ops, export STEP/STL)
generate_freecad_cam — generate CAM toolpath scripts with G-code export (profile, pocket, drill, face operations)
list_freecad_scripts — list previously generated FreeCAD scripts
Adobe Illustrator Integration (3)
generate_illustrator_script — generate ExtendScript (.jsx) for vector artwork (rectangle, circle, polygon, star, text, paths, export to SVG/DXF/PDF)
generate_illustrator_export_script — batch export current document to SVG/DXF/PDF/EPS with text-to-outlines option
list_illustrator_scripts — list previously generated Illustrator scripts
Marketplace & Packaging (3)
package_design — bundle designs into marketplace-ready packages (multi-format files, preview images, README, listing metadata, zip archive)
generate_listing_description — generate SEO-optimized listing descriptions for Etsy, Cults3D, or Gumroad
convert_design_format — convert between formats (SVG↔DXF, G-code→SVG preview)
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/brs077/cncjs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server