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_toolingB | Rank tooling from the supplied job/tool library using hard compatibility constraints and provenance |
| analyze_toolpath_riskB | Check supplied toolpath segments for travel, rapid, fixture-envelope, limit, and approach-angle risks |
| analyze_nc_programA | Parse bounded G-code linear motion and flag risky rapids, feed/spindle limits, unsupported motion, and reviewable cycle-time evidence |
| analyze_cycle_timeB | 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_finishA | Create a non-executable rough-plus-finish OD turning plan grounded in supplied profile, tooling, material, and machine limits |
| 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
Most tools have clear, distinct purposes (e.g., get_operation vs. find_operations, analyze_toolpath_risk vs. analyze_nc_program). However, aliases like list_machine_groups/get_machine_groups and broad verbs like 'inspect' and 'measure' create minor ambiguity.
Names follow a consistent snake_case verb_noun pattern (get_, list_, analyze_, generate_, etc.), with only a few single-word exceptions like 'inspect' and 'measure'. The alias pair breaks strict uniqueness but does not violate the pattern.
With 59 tools, the surface is far beyond the 'heavy' range (25+) and enters the 'extreme' category. Even for a complex CAD/CAM domain, this number suggests redundancy and overwhelming navigation for agents.
The tool set covers a wide spectrum: inspection, analysis, planning, preview/apply, rollback, simulation, and collision detection. Missing explicit create/delete operations may be intentional for safety, but the lifecycle appears reasonably covered for the domain.