Research snapshot of the AutoCAD MCP field (20 READMEs, 2026-09-14), the seven 1.6 tracks with measurable acceptance criteria, their order (A -> E -> B -> G -> F -> H -> D), and the tool-pack decision. Track A: symbol catalogue authored in code (ISO 10628-2 + ISA-5.1), two generic contracts (block_define, entity_get/set_xdata), nine pid_* tools, routing, the ISA-5.1 tag grammar, the pid_graph reader, six critique focuses, TOOL_PACKS, and the test/evidence plan. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
15 KiB
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)
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/.pspcfiles: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
TAGattributes and named ports (position + direction). - Two new generic contracts:
block_define(name, entities, attdefs)andentity_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 focusespid_*;prompt_pid_diagramrewritten 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_settingsextended (limits, grid, snap, ortho, polar, LTSCALE/PSLTSCALE, CANNOSCALE, INSUNITS/LUNITS/AUNITS) over a validated whitelist plussystem_variable_describe.page_setup_*with CTB selection,batch_plot;.dwttemplates (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_specdoes 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_extractfrom 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 throughodafcwhen 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 overblock_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, overboundary_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_specone-call sheets; perf lane re-measured (criterion 7). - K · Human in the loop —
user_pick_point,user_select(COMGetPoint/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
- Tool packs.
TOOL_PACKS(comma list; defaultall) with packscore,mech,pid,arch,plant3d,settings. A client advertises only the packs it uses;TOOL_PROFILEfilters within enabled packs;DISCOVERY_MODEindexes every enabled pack;system_aboutreports packs; idle token cost is published per pack. Rationale: ~300 tools would pushfullto ~80k idle tokens — best-cad-mcp's most criticised trait. - Dual-engine by default;
@capabilityonly 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. - 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.
- Authored standards data is pinned by provenance tests (the
fits.pypattern): symbol geometry, ISA letter tables, ISO 5457 frames, thread tables — each with a test a reader can check against the standard. - 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. - 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.
- 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.