Skip to main content
Glama

BHX Fab Quote

Estimate the run time of a G-code program

estimate_gcode_run_time
Read-onlyIdempotent

Simulates a CNC, laser or plasma G-code program (G0-G3 with arcs and helixes, drilling cycles G73/G81-G89, dwell, tool changes, inch/mm, absolute/incremental) with the machine's rapid speeds, acceleration and tool-change time. Returns the run time, time per tool, the program's size, and warnings such as rapid moves below Z0 or a program bigger than the machine. Accepts programs of up to 3,000 lines.

Input Schema

NameRequiredDescriptionDefault
gcodeYes
dialectNofanuc: G4 P in milliseconds (Fanuc, Haas). grbl: seconds (Grbl, LinuxCNC, Mach)
machineNoPreset (vmc, router, hobby, laser, plasma, waterjet) or {rapid_mm_per_min:[x,y,z], accel_mm_per_s2:[x,y,z], tool_change_s, travel_mm:[x,y,z], corner_tolerance_mm}
pricingNoOptional: turn the result into a price
processNoDefault: from the machine preset
quantityNo
pierce_time_sNoLaser/plasma: time added per pierce
calibration_factorNoReal time ÷ estimated time from one real job; default 1
machine_rate_per_hourNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds real operational context beyond that: the simulation model (rapid speeds, acceleration, tool-change time), the supported cycle families, the returned artifacts (run time, per-tool time, program size, warnings), and a hard 3,000-line ceiling. It stops short of saying what happens when the limit is exceeded (error vs. truncation) or how warnings are surfaced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the simulation action, followed by returns and then the size limit. The long parenthetical of G-code cycles is dense but functional since it lets an agent check program support; only that enumeration slightly slows the read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the necessary work of listing what comes back (run time, per-tool time, size, warnings) and flags notable warning cases. For a 9-parameter tool with nested objects, the pricing/quantity/rate parameters remain unexplained in the description, which is the main gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, so the baseline is 3. The description reinforces the machine-model parameters (rapid speeds, acceleration, tool-change time) and dialect handling (inch/mm, absolute/incremental), but leaves pricing, quantity, machine_rate_per_hour and piece-time behavior entirely to the schema, and never explains that pricing turns the result into a quote.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('simulates a CNC, laser or plasma G-code program') and enumerates the supported G-code feature set, which makes the input domain unambiguous. That domain (G-code text) cleanly separates it from siblings like analyse_dxf_for_cutting and estimate_cnc_from_stl without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the estimator for G-code files rather than CAD/mesh inputs, and the 'up to 3,000 lines' limit guides applicability. There is no explicit when-to-use/when-not statement, no mention of the siblings as alternatives, and no guidance on which process or machine preset to pick.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources