Goal
Provide a supported MCP boundary for an agent to inspect a STEP file, generate/edit a Sheet, render it, compare the drawing back to the source, and prepare a controlled shop package.
This is not a request for one opaque generate_drawing tool. The GRM-03 evaluation showed that useful agent work happens between deterministic stages: inspect evidence, review declarations, render candidates, reconcile coverage, ask for missing manufacturing intent, then release.
Why
Without a Draftwright tool boundary, the GRM-03 loop required:
- shelling into Draftwright's private Python environment;
- ad hoc build123d/OpenCascade face and edge probing;
- parsing CLI stdout and Python object reprs;
- arbitrary script rewrites;
- manual PNG/PDF comparison;
- a separate volume reconstruction to compare declarations with the STEP;
- manually distinguishing geometry facts from material/thread/tolerance assumptions.
Draftwright already owns most of the underlying concepts. MCP would expose them as structured evidence rather than requiring consumers to reverse-engineer the process.
Proposed tool groups
Inspect
dw.inspect_step: hashes, units, product metadata, bbox/volume, PMI, recognized families, stable face/edge evidence, and unclassified defining geometry.
dw.explain_feature: source faces, measurements, adjacency, classification rationale, alternatives, and a highlighted preview.
Author and validate
dw.generate_script: Sheet script plus a machine-readable declaration/evidence manifest.
dw.validate_script: syntax/API, source hash, declaration-vs-STEP reconciliation, unsupported render intents, and unproven manufacturing claims.
dw.apply_declaration_patch: bounded operations such as reclassify step -> boss, add chamfer from face evidence, consolidate repeated callouts, or set strict scale.
Render and critique
dw.render: deterministic artifacts, actual page/scale, view and annotation bounds, and per-requirement outcomes.
dw.lint: structured issue IDs with affected SVG/raster crop bounds.
dw.try_layouts: candidate thumbnails and comparable drops/overlaps/print-size evidence.
Reconcile and release
dw.compare_step_to_drawing: map STEP feature/face -> declaration -> approved measurement -> rendered annotation, with covered/consolidated/omitted/dropped/contradicted/unverifiable outcomes.
dw.manufacturing_readiness: separate geometry coverage from missing material, thread, fit, tolerance, finish, and process intent.
dw.diff_revision: geometry, requirement, and representation changes.
dw.export_shop_package: STEP + released PDF + optional DXF/SVG + manifest and hashes; fail closed on preliminary status or unresolved blockers.
Non-negotiable contracts
Every response should include:
- stable artifact ID and source hash;
- units and Draftwright/version identity;
- provenance per fact: STEP geometry, source PMI, user declaration, or unapproved inference;
- one explicit outcome for every authored requirement;
- no invented material/thread/tolerance/finish merely to obtain a passing result.
Writes and release should remain separate. export_shop_package should require explicit authorization after manufacturing_readiness is clear.
Suggested first vertical slice
A useful MVP is five tools:
inspect_step
generate_script
render
compare_step_to_drawing
manufacturing_readiness
Acceptance for the GRM-03 fixture:
- inspection exposes the three conical faces and the diameter 6 x 0.5 boss evidence;
- generation records unsupported/unrepresented geometry rather than silently losing it;
- render returns view/annotation bounds and a complete outcome ledger;
- comparison identifies any source-profile transition absent from the drawing;
- readiness blocks manufacture on missing material/thread/tolerance/finish intent without guessing values.
Related architecture: #1202, #1217, #1130, #1002.
Goal
Provide a supported MCP boundary for an agent to inspect a STEP file, generate/edit a Sheet, render it, compare the drawing back to the source, and prepare a controlled shop package.
This is not a request for one opaque
generate_drawingtool. The GRM-03 evaluation showed that useful agent work happens between deterministic stages: inspect evidence, review declarations, render candidates, reconcile coverage, ask for missing manufacturing intent, then release.Why
Without a Draftwright tool boundary, the GRM-03 loop required:
Draftwright already owns most of the underlying concepts. MCP would expose them as structured evidence rather than requiring consumers to reverse-engineer the process.
Proposed tool groups
Inspect
dw.inspect_step: hashes, units, product metadata, bbox/volume, PMI, recognized families, stable face/edge evidence, and unclassified defining geometry.dw.explain_feature: source faces, measurements, adjacency, classification rationale, alternatives, and a highlighted preview.Author and validate
dw.generate_script: Sheet script plus a machine-readable declaration/evidence manifest.dw.validate_script: syntax/API, source hash, declaration-vs-STEP reconciliation, unsupported render intents, and unproven manufacturing claims.dw.apply_declaration_patch: bounded operations such as reclassify step -> boss, add chamfer from face evidence, consolidate repeated callouts, or set strict scale.Render and critique
dw.render: deterministic artifacts, actual page/scale, view and annotation bounds, and per-requirement outcomes.dw.lint: structured issue IDs with affected SVG/raster crop bounds.dw.try_layouts: candidate thumbnails and comparable drops/overlaps/print-size evidence.Reconcile and release
dw.compare_step_to_drawing: map STEP feature/face -> declaration -> approved measurement -> rendered annotation, with covered/consolidated/omitted/dropped/contradicted/unverifiable outcomes.dw.manufacturing_readiness: separate geometry coverage from missing material, thread, fit, tolerance, finish, and process intent.dw.diff_revision: geometry, requirement, and representation changes.dw.export_shop_package: STEP + released PDF + optional DXF/SVG + manifest and hashes; fail closed on preliminary status or unresolved blockers.Non-negotiable contracts
Every response should include:
Writes and release should remain separate.
export_shop_packageshould require explicit authorization aftermanufacturing_readinessis clear.Suggested first vertical slice
A useful MVP is five tools:
inspect_stepgenerate_scriptrendercompare_step_to_drawingmanufacturing_readinessAcceptance for the GRM-03 fixture:
Related architecture: #1202, #1217, #1130, #1002.