mastercam-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MASTERCAM_MCP_BACKEND | No | Set to 'mock' to use the mock backend for development and automated tests. When unset or set to another value, the server attempts to connect to a live Mastercam session via the named pipe. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mastercam_statusA | Report live Mastercam connection status and adapter identity |
| mastercam_capabilitiesB | Report which capabilities the active backend genuinely supports |
| mastercam_helpA | Explain the available Mastercam MCP tools and safety levels |
| list_tool_categoriesA | List tools by read, preview, write, advanced, and forbidden category |
| discover_capabilitiesA | Show available capabilities grouped by workflow stage |
| get_compatibility_matrixB | Show supported Mastercam releases and verification status |
| mastercam_planB | Create a safe inspect, preview, approve, apply, verify plan |
| mastercam_doctorA | Check local prerequisites, configuration, and bridge readiness |
| get_version_reportC | Report detected Mastercam and NET-Hook compatibility |
| client_setup_checkA | Validate client configuration readiness |
| get_fixture_infoA | Describe the active fixture backend and its limitations |
| get_audit_historyB | Describe the append-only audit log and current document revision |
| get_active_partA | Inspect the active Mastercam part document |
| get_geometry_summaryA | Summarize geometry counts and bounding box without dumping entities |
| get_selectionA | Report currently selected operations |
| get_selected_entitiesA | Report selected entities grouped by type |
| list_machine_groupsA | List machine groups in the document |
| get_machine_groupsA | List machine groups (alias of list_machine_groups) |
| get_machine_contextA | Return machine, stock, workholding, and coordinate context |
| get_stockA | Report stock definition and units |
| get_wcsA | Report the active work coordinate system |
| get_post_processorA | Report the assigned post processor metadata |
| get_programming_contextB | Bounded live/fixture context bundle with operations, referenced tools, revision, coverage, and explicit unknowns |
| list_operationsC | List operations with explicit quantities and pagination |
| get_operationA | Retrieve one operation by exact id; no fallback targeting |
| get_operation_parametersB | Retrieve one operation's proven parameters by exact id |
| find_operationsB | Search operations by name, type, or tool number |
| explain_operationB | Explain an operation from its actual returned parameters |
| get_operation_risksC | Report verification scope and concrete risks for an operation |
| get_dirty_toolpathsC | List operations whose mapped dirty state requires regeneration and preserve unknown state |
| get_toolpath_statusB | Report mapped toolpath dirty/current/unknown state for an operation |
| estimate_cycle_timeC | Estimate cycle time for selected operations |
| compare_toolpathsC | Compare two operations' toolpaths |
| list_toolsA | List tools referenced by active operations; does not claim complete library coverage |
| get_toolB | Retrieve one referenced active-operation tool by id, number, or exact name |
| capture_viewA | Capture a bounded view image of the Mastercam graphics window |
| inspectC | Inspect a target and return its current values |
| measureC | Measure one named value on a Mastercam target |
| verify_changeB | Reread an operation and verify expected feed/spindle values |
| assertC | Verify that a measured value matches an expected value |
| generate_setup_sheetB | Create a revision-ready setup sheet from inspection data |
| compare_tool_databasesC | Compare two tool database snapshots semantically |
| compare_nc_filesB | Compare two NC files with sequence diffing and semantic summary |
| validate_machine_profileC | Validate an operation against a declared machine profile |
| manufacturing_preflightB | Run deterministic programming preflight and return blockers, warnings, unknowns, and evidence without claiming machine safety |
| analyze_regeneration_impactA | Trace direct and transitive operation dependencies affected by a programming change |
| analyze_post_regressionA | Risk-rank semantic NC changes against an approved baseline for human review |
| recommend_job_toolingC | Rank supplied shop or ISO 13399 catalog tool records against grounded job features and material |
| analyze_toolpath_riskB | Check supplied toolpath segments for travel, rapid, fixture-envelope, limit, and approach-angle risks |
| analyze_nc_programB | Parse bounded linear and planar G-code arc motion; flag risky rapids, feed/spindle limits, unsupported motion, and reviewable cycle-time evidence |
| analyze_cycle_timeC | Decompose supplied motion/events into cutting and non-cutting time and identify reviewable air-time opportunities |
| generate_operation_packetC | Generate setup and operation notes from the supplied operation tree and tool records |
| calculate_thread_tapB | Calculate grounded metric or unified thread/tapping geometry, tap drill, RPM, and feed from supplied geometry |
| plan_od_rough_finishB | Create a non-executable rough-plus-finish OD turning plan using supplied or configured catalog and active-job tools |
| preview_operation_parametersA | Preview a feed/spindle change and receive a single-use approval token |
| apply_operation_parameter_previewA | Apply a previewed change using its approval token; refuses stale state |
| rollback_changeA | Roll back an applied transaction using its server-held receipt |
| run_simulationA | Run Mastercam simulation and return provenance-tagged evidence |
| detect_collisionsB | Run collision detection for selected operations |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| active-part | Active part information from the fixture backend |
| operations | Operation listing from the fixture backend |
| diagnostics | Diagnostics for the active backend |
TDQS
Scored across 59 tools
Multiple tools have unclear boundaries: get_machine_groups is an explicit alias of list_machine_groups, and get_machine_context, get_programming_context, get_stock, get_wcs, and get_active_part all return overlapping document context. Diagnostics are heavily duplicated across mastercam_status, mastercam_capabilities, discover_capabilities, mastercam_doctor, client_setup_check, get_version_report, get_compatibility_matrix, and list_tool_categories. Bare-verb tools like inspect, measure, and assert are near-indistinguishable without reading full schemas.
Most tools follow a snake_case verb_noun pattern, but there are notable deviations: the mastercam_-prefixed noun-first family (mastercam_status, mastercam_doctor, mastercam_capabilities), bare imperatives (inspect, measure, assert), and noun-first queries (capture_view, estimate_cycle_time). The get_machine_groups/list_machine_groups pair also shows inconsistent verb choice for the same operation.
Fifty-nine tools is far too many for a coherent surface, and a meaningful fraction are near-duplicates (aliases, redundant capability/diagnostic reporters, overlapping cycle-time and comparison analyzers). The domain is broad, but the same coverage could be delivered with far fewer, better-differentiated tools.
Coverage is genuinely deep: inspection, context gathering, preview/approve/apply with tokens, verification, rollback, audit history, simulation, and comparison workflows are all present. Gaps are minor rather than structural (e.g., no clear tool for creating or editing operations themselves), and the safety lifecycle is fully closed.