Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CNCJS_URL | No | CNCjs server URL | http://localhost:8000 |
| CNCJS_TOKEN | No | Optional JWT token for CNCjs authentication |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_serial_ports | List available serial ports |
| get_connection_status | Get current CNCjs connection status |
| get_machine_state | Get full GRBL machine state (positions, feed, spindle, overrides, buffer) |
| get_machine_position | Get current machine and work positions (X, Y, Z) |
| get_work_coordinate_offset | Get work coordinate offset (WCO) values |
| get_machine_settings | Get all GRBL $$ machine settings with labels |
| get_parser_state | Get active G-code parser state (WCS, units, distance mode, etc.) |
| get_loaded_gcode | Get currently loaded G-code file name and content |
| get_job_progress | Get current job progress (lines sent, elapsed time, % complete) |
| get_workflow_state | Get workflow state (idle, running, paused) |
| get_feeder_status | Get feeder queue depth, hold state, and reason |
| list_macros | List all CNCjs macros (name, id, content) |
| list_machines | List machine profiles with travel limits |
| get_alarm_info | Get current alarm code and human-readable meaning |
| connect_to_port | Open a serial connection to a CNC controller |
| disconnect_port | Close the current serial connection |
| emergency_stop | EMERGENCY STOP — immediately halts all motion via GRBL soft reset (0x18). Use in any dangerous situation. |
| feed_hold | Feed hold — controlled deceleration to stop. Safer than emergency stop for non-critical situations. |
| send_gcode | Send one or more G-code lines to the machine. HIGH RISK — causes physical motion. |
| load_gcode | Load G-code content into CNCjs for execution |
| start_job | Start executing the loaded G-code program |
| pause_job | Pause the current job (feed hold + pause sender) |
| resume_job | Resume a paused job |
| stop_job | Stop the current job |
| home_machine | Run GRBL homing cycle ($H). Machine must have homing switches enabled. |
| unlock_machine | Clear GRBL alarm state ($X). Use after resolving the cause of the alarm. |
| jog | Jog the machine incrementally. HIGH RISK — causes physical motion. |
| set_feed_override | Adjust feed rate override (10-200%) |
| set_spindle_override | Adjust spindle speed override (10-200%) |
| run_macro | Execute a CNCjs macro by name or ID. HIGH RISK — macro content may cause motion. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |