Skip to main content
Glama
zackpeters93

UGS-MCP

by zackpeters93

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UGS_HOSTNoUGS Pendant hostlocalhost
UGS_PORTNoUGS Pendant port8080
MACROS_DIRNoDirectory for saved G-code macrosugs_mcp/macros/
RAPID_SPEED_MM_MINNoRapid speed used in return-to-zero5000

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ugs_connectC

Connect UGS to the CNC machine via serial port.

ugs_disconnectA

Disconnect UGS from the CNC machine.

ugs_troubleshoot_connectionA

Diagnose connection issues: lists serial ports, checks pendant reachability, suggests fixes.

ugs_get_statusA

Get current machine state: position, status (Idle/Run/Alarm), feed rate, spindle speed.

ugs_jogA

Jog a single axis (X, Y, or Z) by distance_mm at feedrate mm/min. Call with no token first to get a preview and confirmation token. The user must provide the token back before movement executes. Claude CANNOT self-confirm movement - the token enforces this at the server level.

ugs_homeA

Run the GRBL homing cycle ($H). All axes move toward limit switches at full speed. Call with no token first to get a preview and confirmation token. The user must provide the token back before homing executes. Claude CANNOT self-confirm movement - the token enforces this at the server level.

ugs_set_work_zeroA

Set G54 work zero at the current machine position for the specified axes. This does NOT move the machine - only sets coordinate offsets. Call with confirmed=False first to preview, then confirmed=True to apply.

ugs_return_to_zeroA

Rapid (G0) to G54 work zero (X0 Y0 Z0). Call with no token first to get a preview and confirmation token. The user must provide the token back before movement executes. Claude CANNOT self-confirm movement - the token enforces this at the server level.

ugs_run_fileA

Stream a G-code file to the machine. Runs safety check in preview mode. Call with no token first to get the safety report and confirmation token. The user must provide the token back before the job starts. Claude CANNOT self-confirm - the token enforces this at the server level.

ugs_pause_jobA

Pause the currently running G-code job (sends feed hold).

ugs_cancel_jobA

Cancel the running job. Stopping mid-cut will leave a mark on the part. Uses simple confirmed=True/False (not a token) because stopping is always safer than continuing - token friction on an emergency stop would be dangerous. Call with confirmed=False first to preview, then confirmed=True to cancel.

ugs_get_job_statusB

Get current job progress and machine state.

gcode_translateA

Translate G-code to plain English, line by line. Accepts either a file path or raw G-code string. Shows each command, its meaning, and the current machine state context.

gcode_safety_checkB

Check G-code for safety issues: spindle off during cuts, missing unit declaration, zero feedrate on cut moves, and other DANGER/WARNING/CAUTION issues. Run this before ugs_run_file for any G-code you did not write yourself.

gcode_estimate_timeC

Estimate machining cycle time from G-code feedrates and distances. Returns HH:MM:SS.

gcode_list_toolsB

List all tools referenced in a G-code file, with first use line and usage count.

gcode_save_macroA

Save a G-code macro to the macros directory after running a safety check. Claude writes the G-code content; this tool handles validation and persistence. Use gcode_list_macros to see saved macros, gcode_run_macro to execute one.

gcode_list_macrosA

List all saved macros with their names and descriptions.

gcode_run_macroA

Run a saved macro by name. Call with no token first to get the G-code preview, safety check, and confirmation token. The user must provide the token back before the macro runs. Claude CANNOT self-confirm - the token enforces this at the server level.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 19 tools

Disambiguation5/5

Every tool targets a distinct operation within two clear groups (gcode_ and ugs_). No two tools have overlapping purposes; even similar-sounding tools like ugs_get_job_status and ugs_get_status are clearly differentiated by scope.

Naming Consistency5/5

All tools follow a consistent prefix (gcode_ or ugs_) combined with a verb or verb_noun pattern (e.g., gcode_estimate_time, ugs_run_file). The pattern is uniform, making it easy to infer tool behavior from the name.

Tool Count4/5

With 19 tools, the server is slightly above the ideal 3-15 range but still reasonable for covering both G-code analysis and CNC control. Each tool serves a clear purpose, and no tools feel redundant.

Completeness4/5

The tool surface covers essential G-code operations (estimation, translation, safety, macros) and CNC control (connection, jogging, homing, job management). Minor gaps exist (e.g., no G-code editor, no spindle control), but core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessNo issues