Files
autocad-mcp-pro/docs/superpowers/specs/2026-09-15-v1.6-roadmap-design.md
T
Umut CANandClaude Opus 5.5 17bf3a39ce release: 1.6.0
The v1.6 roadmap in five tracks: 154 -> 247 registered tools in 28 groups.

Evidence re-measured for the release:
- correctness A/B against v1.5.1: 26/48 -> 48/48, 22 fixed, 0 regressed
  (ab-v1.5.1-vs-v1.6.0.json, replacing the -dev report);
- the reference adapter on matrix v7: 21/21 (autocad-mcp-pro.json, which
  was the v3 run of 1.5); the published-report test follows it to v7;
- the 100-point rubric re-scored per category, every withheld point named:
  93 (the competitor rows are their July snapshots, not re-reviewed);
- the perf lane as medians of five alternating runs, beside a v1.4.0
  comparison on one interpreter (perf-v1.4.0-vs-v1.6.0.json).

Two roadmap criteria are not green, and the changelog, the README and the
roadmap say so: criterion 5 is withdrawn (track D, Plant 3D, dropped) and
criterion 7 is not met (creation 1.25x / 1.38x v1.4.0's time, still
1.17x / 1.20x with the timeout off). Carried to 1.7.

README rewritten for 1.6: what is new, the mechanical and architectural
sheets, the rubric and task-matrix charts, the measured limits (including
the four feature tables that ship empty), and the 1.7 roadmap. server.json
describes the 1.6 surface and declares TOOL_PACKS. CLAUDE.md corrects the
ISO 286 letter set and the empty feature tables.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
2026-09-25 00:17:17 +03:00

16 KiB
Raw Blame History

AutoCAD MCP Pro v1.6.0 — Roadmap and decomposition

Date: 2026-09-15 · Status: decomposition approved; every track below gets its own design spec and implementation plan before code · Baseline: v1.5.1 (154 registered tools, 19 groups, 1369 tests)

Status at release (1.6.0, 2026-09-25). Tracks A, E, B, G, F and H shipped: 247 registered tools in 28 groups. Criteria 1–4, 6 and 8 are met. 1 and 3 are the pid_roundtrip and mech_assembly benchmark tasks; 2 is the foreign-P&ID fixture test; 4 is the three topology focuses plus the correctness check diff_detects_known_edits, on synthetic revisions rather than the README hero sheet; 6 is ab-v1.5.1-vs-v1.6.0.json (48 / 48, 0 regressions); 8 is the per-category rubric in benchmarks/source_review.json (93). Criterion 5 is withdrawn: track D was dropped because the maintainer does not use Plant 3D. Criterion 7 is not met: creation is 1.25× and 1.38× v1.4.0's time (perf-v1.4.0-vs-v1.6.0.json), still 1.17× and 1.20× with the timeout off, and it moves to 1.7. §4's rule that 1.6.0 waits for every criterion was set aside for these two by the maintainer's decision to release.

1. Goal

An LLM driving this server can — without guessing coordinates, to a named standard, and with the result verified by the server itself —

  • (A) draw a P&ID and read one back as a graph, instrument index and line list;
  • (B) produce a complete machine-part / assembly sheet (views, sections, standard parts, symbols, BOM, balloons);
  • (C/H) understand an existing or foreign drawing (topology, standards, revision diff);
  • (D) query an AutoCAD Plant 3D project read-only;
  • (E) control AutoCAD's own settings (styles, page setup, templates, preferences, documents);
  • (F) draft an architectural floor plan and read rooms back from one.

The bar is "best in every category, and evidenced" — not the longest checklist. Features ship when their contracts and limitations are testable (README, "Roadmap (1.6)").

Success criteria (measured, not asserted)

# Criterion Where it is measured
1 pid_roundtrip: a three-equipment P&ID drawn with the tools is read back by pid_graph with the expected edge count, zero dangling lines, a correct instrument index and line list; drawing_critique returns 0 issues; drawing_finalize score ≥ 90 new benchmark task + correctness suite
2 A foreign P&ID (plain blocks + TAG attributes, no catalog) yields a graph whose every node carries a confidence < 1.0 — no fabricated certainty unit test on a hand-authored fixture
3 mech_assembly: a flange-coupling / bearing-housing style sheet (views + section + BOM + balloons + ISO 129 dims) from generators; critique 0 issues; score ≥ 90 new benchmark task
4 Topology DRC parity with beiming v4 (DANGLING_ENDPOINT, NEAR_MISS, INTERIOR_CROSSING) and drawing_diff on two revisions of the README hero sheet tests + benchmark task
5 Plant 3D line list / BOM / weld list correct on a synthetic .dcf fixture built from the public projects' schema, and manually checked against the three public projects tests + scripts/verify_plant3d_public.py
6 Correctness A/B vs v1.5.1: zero regressions (python benchmarks/compare_versions.py v1.5.1) release gate
7 Headless creation throughput back to v1.4.0 numbers (timeout armed only where a call can block) perf lane
8 Re-score on the 100-point rubric in benchmarks/source_review.json ≥ 90 with evidence per category, published next to the competitor rows docs

2. Competitive research (snapshot 2026-09-14)

Method: gh search repos / gh api over GitHub, 20 READMEs read in full (Firecrawl was unavailable — HTTP 402). Stars as of the snapshot.

Repository ★ What it has that v1.5.1 does not
puran-water/autocad-mcp v3.1 506 pid tool (insert_valve/pump/tank/instrument, draw_process_line, connect_equipment, add_line_number) — bound to the commercial CAD Tools Online symbol library at C:\PIDv4-CTO\; 8 consolidated tools; freehand AutoLISP
LokmenoWer/best-cad-mcp v1.6 16 322 tools (profiles 114/215/322). Drawing understanding: CAD-IR, semantic objects and graphs, dimension binding, constraint checks; CADPlan dry-run; BOM + balloons; image-to-CAD tracing; VLM grounding with pixel/world mapping. COM-only
beiming183-cloud/AutoCAD-MCP v4.0 + AutoCAD-skills 7 + 7 Native .NET transaction worker; topology DRC (DANGLING_ENDPOINT, NEAR_MISS_CONNECTION, INTERIOR_CROSSING), view-source consistency, plot-scale truth; product/industrial features; the skill expects threads, springs, bearings, splines
varavista/autocad-mcp v5.0 — xref (attach/detach/reload/bind), validate (connectivity, orphans, duplicates, qc_report), export (BOM, data_extract, Excel), electrical (NEC calcs, panel schedule, wire numbers), titleblock_fill, batch_plot, page_setup, natural-language commands
john0909/ZWCAD-Mechanical-MCP 13 37 tools: manage_bom / create_partlist, insert_balloon, manage_frame, manage_title_block(set_field), query_dimensions, manage_style (layer/linetype/textstyle/dimstyle), manage_xdata, manage_dictionary, manage_document
Romeraaa/autocadplant3d-mcp 1 Plant 3D project queried read-only through its SQLite files (.dcf, .pspc): line list, component list, BOM, pipe lengths, weld list, bolt/gasket list, validate_specs, find_untagged — no .NET plugin, no open session
AnCode666/multiCAD-mcp — Multi-CAD COM (AutoCAD/ZWCAD/GstarCAD/BricsCAD), multi-document switching, Excel export
thepiruthvirajan/autocad-mcp-server 62 Walls, doors, windows, building structures over COM
xstaar/autocad-mcp 6 YQArch architectural add-on, 684 commands
OmniZenRaj/dxf-mcp 0 Read-only DXF: BOM from block attributes, check_standards (required/forbidden layers, units)
mattmohandiss/cad-mcp-server 5 STEP inspection, DFM checks, diff_step revision compare (OCCT)
daobataotie/CAD-MCP 547 Basic COM drawing over three CAD brands; NL command parsing — stars, not capability
mixelpixx/KiCAD-MCP-Server 2246 Not AutoCAD; the most-starred CAD MCP, shows the ceiling of the category

P&ID ecosystem outside MCP:

  • Coldbari/IPD-Studio (25★) defines "intelligent P&ID": ISA-5.1 tag parsing (FIC → Flow Indicating Controller), loop derivation, instrument index and line list generated from the model, 16 line classes, off-page connectors, live validation (duplicate/missing/illegal tags, dangling lines, incompatible connections), DEXPI-shaped XML, R12 DXF export.
  • process-intelligence-research/pyDEXPI (222★) — DEXPI 1.3 data model in Pydantic, Proteus XML loader, NetworkX graph. AGPL-3.0: cannot be a dependency of an MIT server. DEXPI export is therefore out of 1.6.
  • Public Plant 3D projects with real .dcf / .pspc files: Aggie-Propulsion-Lab/Mu-Propellant-Feed (Piping.dcf 397 KB, ProcessPower.dcf 1.0 MB, 30 spec sheets), bnguyen07/AutoCAD ("Project 1"), marianabucsa/University (Lab10). None carries a licence, so they are schema sources only — never committed; tests run on a synthetic fixture generated by our own script with the same schema.

Today's P&ID support in v1.5.1 is a prompt template (prompt_pid_diagram) that tells the model to hand-draw pumps as circle + triangle — the "no coordinate guessing" rule, violated by our own prompt.

3. Tracks

Each track: scope · not in 1.6 · headline evidence. Detailed designs live in their own specs (2026-MM-DD-v1.6-<track>-design.md).

A · P&ID — expert and reader (engineering/pid/)

  • Symbol catalogue authored in code (ISO 10628-2 equipment and valves, ISA-5.1 instrumentation): ~41 base symbols, valve × actuator variants, 4 × 5 instrument-bubble variants, parametric vessels; every symbol a real block with TAG attributes and named ports (position + direction).
  • Two new generic contracts: block_define(name, entities, attdefs) and entity_get/set_xdata.
  • pid_symbol_list/insert, pid_line_draw (port-to-port orthogonal routing, ISA-5.1 line classes → layer/linetype/marker, line numbers), pid_tag_parse (ISA-5.1 grammar), pid_graph, pid_instrument_index, pid_line_list, pid_equipment_list, pid_from_spec; critique focuses pid_*; prompt_pid_diagram rewritten onto the tools.
  • Not in 1.6: DEXPI export, ISA-5.2 logic symbols, obstacle-avoiding routing, cross-file off-page links (same-file layouts only).
  • Evidence: criteria 1 and 2.

E · AutoCAD settings and environment

  • dimstyle_*, textstyle_*, mleaderstyle_*, tablestyle_* (ISO-25 / ISOCPEUR authored, both engines); drawing_settings extended (limits, grid, snap, ortho, polar, LTSCALE/PSLTSCALE, CANNOSCALE, INSUNITS/LUNITS/AUNITS) over a validated whitelist plus system_variable_describe.
  • page_setup_* with CTB selection, batch_plot; .dwt templates (drawing_new(template=), bundled ISO A3-mech / A1-arch / A3-P&ID).
  • COM-only, refused headlessly: system_preferences_get/set, drawing_properties (DWGPROPS), document_list/activate/close, system_launch. Both engines: layer_state_*, view_named_*, ucs_*.
  • Evidence: settings round-trip tests both engines; a page-setup PDF whose mediabox is read back (beiming's "plot-scale truth").

B · Mechanical 2D — the complete part drawer (engineering/mech/)

  • Standard parts as generators: ISO 4014/4017 bolts, ISO 4032 nuts, ISO 7089 washers, ISO 4762 cap screws, ISO 6410 thread representation, DIN 471/472 ring grooves, DIN 509 undercuts, DIN 332 centre holes, ISO 15 / ISO 8826 bearings, ISO 3601 O-ring grooves.
  • Part generators from one parameter source: shaft_draw (steps, chamfers, fillets, keyways, threads, grooves → front view + section + auto dims), plate_draw (outline + holes/slots/pockets → front + side, hidden lines for through features), flange_draw; mech_part_from_spec does the whole sheet in one call.
  • Annotation symbols: surface texture ISO 21920-1 / ISO 1302, welding ISO 2553, centre marks and centrelines, section line A-A, detail view; material hatch map (ISO 128-50).
  • BOM / parts list ISO 7573 with balloons; bom_extract from block attributes; data_extract → CSV/XLSX.
  • Not in 1.6: a general 3D → 2D projection kernel (views come from generators, not from arbitrary solids), splines DIN 5480, springs.
  • Evidence: criterion 3.

G · Sheet and delivery standard

  • sheet_frame_iso5457(size) with zone letters, centring and trimming marks; A4–A0 title blocks (ISO 7200); revision block + revision_add (with revcloud); xref_attach/bind/reload/detach; image_attach (raster underlay); headless real DWG through odafc when the ODA converter is installed, refused otherwise.
  • Evidence: frame geometry pinned against ISO 5457 tables; xref round-trip.

F · Architectural 2D (engineering/arch/)

  • arch_grid, arch_wall (thickness, justification, corner clean-up), arch_door (opens the wall, leaf + swing), arch_window, arch_stair, arch_room_label (area measured, not typed), arch_north_arrow, arch_section_mark, arch_schedule(doors|windows|rooms); furniture and sanitary block catalogue over block_define; ISO 13567 layers (existing), ISO 4157 numbering, ISO 7519 / ISO 128-23 line rules, annotative text at 1:50 / 1:100.
  • Reader: arch_room_detect — rooms and an area schedule from a foreign plan, over boundary_trace.
  • Not in 1.6: AutoCAD Architecture / Revit objects, 3D walls, IFC.
  • Evidence: a two-room plan drawn, read back, schedule matches.

H · Understanding and QA

  • Topology DRC as critique focuses: dangling_endpoint, near_miss, interior_crossing, overlap, zero_length; check_standards (required/forbidden layers, units, text heights, dim styles); query_dimensions; drawing_scan (view clusters, title block, tables); drawing_diff(a, b) by handle and geometry digest.
  • Evidence: criterion 4.

D · Plant 3D, read-only (plant3d/)

  • SQLite reads of .dcf / .pspc: plant3d_list_projects/detect_project, line_list, component_list, bom, pipe_length, weld_list, bolt_gasket_list, validate_specs, find_untagged. Never writes.
  • Evidence: criterion 5.

Cross-cutting (inside the tracks above)

  • I · Speed — per-call timeout armed only where a call can block; *_from_spec one-call sheets; perf lane re-measured (criterion 7).
  • K · Human in the loop — user_pick_point, user_select (COM GetPoint / GetSelection), system_prompt_message; refused headlessly.
  • L · Knowledge resources — MCP resources for authored standard tables (autocad://standards/iso286, isa51_letters, layers/{set}, pid/symbols): zero tool-budget cost.

4. Order and dependencies

A → E → B → G → F → H → D.

  • A first: the loudest gap (three rivals ship pid, we ship a prompt), and it builds the block/port/graph infrastructure F reuses.
  • E second, small: B and F need ISO dimstyles, text styles and templates.
  • B before F: the existing engineering package, critique and score are mechanical-shaped — proven pattern, deepened.
  • G before F: frames, title blocks and revision block serve every sheet.
  • H after the drawing tracks so the DRC has three domains to run against.
  • D last: isolated, read-only, no shared code.

Each track = its own spec → plan → implementation → CHANGELOG entry. 1.6.0 is released once every track's criterion is green; pre-release tags (1.6.0a1…) after each track are optional and decided at that point.

5. Cross-cutting decisions

  1. Tool packs. TOOL_PACKS (comma list; default all) with packs core, mech, pid, arch, plant3d, settings. A client advertises only the packs it uses; TOOL_PROFILE filters within enabled packs; DISCOVERY_MODE indexes every enabled pack; system_about reports packs; idle token cost is published per pack. Rationale: ~300 tools would push full to ~80k idle tokens — best-cad-mcp's most criticised trait.
  2. Dual-engine by default; @capability only for real engine boundaries (unchanged rule). Every COM path added in 1.6 is executed once against the live AutoCAD on the author's machine and recorded in the changelog; "written against the ActiveX reference, never executed" is no longer an acceptable final state where AutoCAD is available.
  3. Every tool has an alias-corpus entry, a docstring, tests on both engines (fake-ActiveX for COM), and refusals that were measured rather than assumed.
  4. Authored standards data is pinned by provenance tests (the fits.py pattern): symbol geometry, ISA letter tables, ISO 5457 frames, thread tables — each with a test a reader can check against the standard.
  5. Benchmarks. Each track adds a task to the matrix; competitor reports are never back-filled (chart shows not run). The correctness suite grows per track and the A/B gate runs against v1.5.1.
  6. Domain packs must not degrade other domains: every new critique focus returns nothing on a drawing with no entities of its domain, so a mechanical sheet is not scored on P&ID rules and vice versa.
  7. No licence contamination: pyDEXPI (AGPL) and the CTO library (commercial) are excluded; public Plant 3D projects are schema sources only.

6. Explicitly out of 1.6

Electrical schematics IEC 60617 (1.7 — cheap once A's symbol/graph infrastructure exists), DEXPI export, image-to-CAD tracing, a STEP/3D kernel, a bundled VLM judge, BricsCAD/ZWCAD/GstarCAD verification, Plant 3D writes, ISA-5.2 logic symbols, Revit/IFC.