Research · research/landscape.md · Markdown

Agentic hardware-design landscape (verified 2026-10-24)

Refreshed 2026-10-31 (issue #96): agent toolkits since 10-24 (text-to-cad 0.8 break, OrcaSlicer 2.5 MCP, build123d sheet metal, snap-fit skills), compliant mechanisms (snap fits, flexures, allowable strains, FDM anisotropy from datasheets) and FEA and process tools (large-deflection contact solvers, orientation optimisers, sheet metal, 37 candidate deterministic checks).

Scope: public tools that let frontier-model agents (Claude Code first; Codex, Cursor, Gemini) design 3D-printed, sheet-metal, laser-cut, CNC and molded parts, enclosures around real PCBs, and KiCad boards. Method: stars, SPDX licence and last push come from gh api repos/OWNER/REPO on this date; capabilities come from each repo's README, manifests or source as read. (u) = unverified (README claim or third-party page not checked in source). Machine-readable copy: landscape.json.

1. Capability matrix

Clients: CC = Claude Code plugin/skill, MCP = MCP server, Cx = Codex, Cu = Cursor, Ge = Gemini, App = standalone app.

Project Licence Stars Push Clients Kernel / tool Processes DFM rules cited Materials / cost Render loop Drawings Vendor / slicer Evals
earthtojake/text-to-cad MIT 22,951 10-25 CC, Cx, Cu, Ge, Grok, MCP, skills.sh build123d 0.11 / OCP 7.9 FDM, SLA, SLS, MJF, metal PBF (mesh); sheet, CNC, molding (review); laser (DXF); URDF/SDF Yes: Hubs, Protolabs, ISO/ASTM 52910 No (SendCutSend specs fetched live) Yes (headless snapshots + viewer) Yes, PDF OrcaSlicer, Bambu Connect/Studio, SendCutSend, step.parts None in repo
amagine-ai/Amagine3D Apache-2.0 6,259 10-22 App (OpenAI-compatible key, Codex SDK) build123d, OCP, Manifold FDM enclosures, multi-part (u) (u) Yes (5-view) (u) none seen none
Adam-CAD/CADAM GPL-3.0 5,328 10-15 App (web) OpenSCAD general No No Yes No none Showcase prompts only
KittyCAD/modeling-app + KittyCAD/mcp MIT / MIT 1,321 / 10 10-25 App; MCP (needs ZOO_API_TOKEN) KCL on Zoo's closed cloud engine general (u) (u) Yes (u) none none
Pan-Chera/Multi-Agent-CAD (MAC) MIT 1,048 10-17 App + web UI build123d FDM parts, assemblies, URDF No No Yes + judge agent No none Own 10-prompt / 141-feature set
OzAILabs/Claude-To-Print MIT 4 08-15 CC skills (from MAC) build123d FDM, multicolour 3MF No No Yes No Bambu none
jdilla1277/agentcad Apache-2.0 173 10-23 CLI, MCP, skill build123d (CadQuery mode) general No No Yes, diffing No none CADGenBench runs
pzfreo/build123d-mcp Apache-2.0 130 10-15 MCP build123d general No No Yes SVG/DXF export none CADGenBench (pipeline)
flowful-ai/cad-skill PolyForm-Noncommercial-1.0.0 692 07-14 CC skill CadQuery FDM No No Yes No Prusa/Bambu mentions none
Svetlana-DAO-LLC/cad-agent (was clawd-maf) Custom "CAD Agent License" 53 02-17 MCP build123d FDM No No Yes No none none
MikeSuiter/claude-build123d-starter MIT 1 06-08 CC template build123d FDM, CNC, laser (u) No No Live preview No none none
neka-nat/freecad-mcp MIT 3,040 10-25 MCP FreeCAD (LGPL, external) general, FEM (u) No No Screenshots (u) none none
jhacksman/OpenSCAD-MCP-Server MIT 208 09-07 MCP OpenSCAD FDM No No Preview images No none none
altendky/onshape-mcp Apache-2.0 20 10-24 MCP Onshape (closed SaaS) general No No (u) (u) none none
faust-machines/fusion360-mcp-server MIT 131 10-06 MCP (CC, Cu, Cx docs) Fusion (closed) general No No (u) (u) none none
ahujasid/mcp-for-blender MIT 32,261 10-24 MCP, Cx plugin Blender (mesh, not B-rep) visual only No No Yes No Poly Haven, Sketchfab, paid generators none
mixelpixx/KiCAD-MCP-Server MIT 2,933 10-01 MCP KiCad 9+ (kicad-python + SWIG pcbnew) PCB KiCad DRC JLCPCB parts + prices Snapshots No JLCPCB, DigiKey, Freerouting none
mixelpixx/Konnect (obhox/kicad-mcp is a fork) AGPL-3.0 1,399 10-25 KiCad plugin + MCP, CC skills KiCad 10 IPC (Rust) PCB design-review audits (u) (u) (u) No Freerouting none
oaslananka/kicad-mcp-pro MIT 149 10-25 MCP, CC plugin skills, Cx/VS Code config KiCad 10.0.x (kicad-cli/IPC; no SWIG) PCB 8 fab profiles with source URLs Fab pricing coefficients 3D render PNG No JLCPCB; Nexar/DigiKey/Mouser with keys evals/, benchmarks/ dirs
Seeed-Studio/kicad-mcp-server No LICENSE file (MIT only in pyproject) 168 10-22 MCP KiCad 8-10 (pcbnew) PCB analysis, device tree KiCad ERC/DRC PartReel registry No No PartReel none
lamaalrajih/kicad-mcp MIT 529 2025-10-17 MCP KiCad 9 PCB DRC BOM (u) No none none; stale
aklofas/kicad-happy MIT 1,499 10-25 CC plugin, Cx, Copilot, Gemini/Antigravity, GitHub Action KiCad file parsing, SPICE PCB review, EMC, Gerber EMC rules ref BOM, distributors No No JLCPCB, PCBWay, DigiKey, Mouser, LCSC, element14 none
American-Embedded/kistack MIT text (GitHub: NOASSERTION) 411 10-24 skills.sh KiCad schematic, layout, Gerber review prose No No No none none
i2cjak/Backplane MIT (ships a KiCad fork) 731 10-25 App; multi-harness agents KiCad fork + FreeCAD viewers PCB + case No No Yes No none none
copperheadhq/copperhead Apache-2.0 627 10-24 CLI, agent-install prompt KiCad s-expr + kicad-cli PCB ERC/DRC parts (u) (u) No none none
punkfab/circuit-skills No licence 10 10-06 CC skills, Cx plugin kipy, build123d, ngspice PCB + pcb-enclosure-fit No No Blender renders No Freerouting PCBWorld harness

Building blocks: gumyr/build123d (Apache-2.0, 3,519), CadQuery (Apache-2.0 in LICENSE file; GitHub shows NOASSERTION, 5,990), gumyr/bd_warehouse (Apache-2.0, ISO fasteners and threads), partcad/partcad (Apache-2.0, 509), sargo-devel/Cables (LGPL-3.0 FreeCAD cable-routing workbench), wireviz/WireViz (GPL-3.0, 2D harness documents). rjwalters/kicad-tools (MIT) keeps a long, licence-annotated survey of KiCad and agent tools in its README.

2. Deep dive: earthtojake/text-to-cad (v0.7.26, 2026-10-20)

What it is. A plugin monorepo. skills/ holds the product. packages/cadgen is the PyPI runtime, MIT, with build123d, OCP, a build daemon, STEP/GLB/3MF/DXF output, a viewer backend and an MCP server. apps/ holds the viewer, the MCP app, the docs site and api.texttocad.dev. It is mostly one maintainer: earthtojake has 1,136 commits, then bots and a few contributors.

Skills (each is MIT and carries its own LICENSE):

Skill What it does Code it runs
cad build123d models with @step/@stl/@threemf/@glb decorators; read_step/read_scene; face/edge refs; snapshots; viewer cadgen via pinned uvx
step-parts Search and download catalog STEP files (screws, bearings, standoffs, boards), with sha256 check download_step_part.py → api.step.parts
engineering-drawing Third-angle views, hidden lines, measured dimensions, hole callouts, ISO title block → PDF cadgen.eng_drawing
dxf 2D profiles, flat pattern of already flat plates, kerf offset cadgen.flatten
dfam-check Mesh wall thickness (ray-cast), overhang, support volume, 6 axis orientations; limits table per FDM/SLS/SLA/PBF/MJF dfam_tool.py (trimesh)
dfm Guided sheet/CNC/molding review with a cited rule per finding; only molding is measured (draft, undercuts, projected area) mold_tool.py
sendcutsend Preflight of DXF/STEP against SendCutSend's live catalog and specs JSON fetches cdn.sendcutsend.com
gcode Writes complete OrcaSlicer presets and slices headless orca_presets.py (stdlib)
bambu-labs Hands off to Bambu Connect (bambu-connect:// link) or Bambu Studio; never controls the printer none
urdf / srdf / sdf Robot and simulator descriptions, with validation cadgen

Install (Claude Code): claude plugin marketplace add earthtojake/text-to-cad#latest then claude plugin install text-to-cad@earthtojake. The latest branch holds only the plugin, one commit per release.

Security review.

Coverage of our J501 workflow:

J501 capability text-to-cad today
Vendor STEP ingestion Yes (read_step, read_scene, refs). Viewer fails on large PCB STEP: open #626, "exceeds viewer memory envelope"
Clearance vs 5000+ carrier solids Primitives only: cadgen.geometry.closest_points and overlap_volume. The interference module was retired; the caller writes pair selection. No broad-phase or report
Schematic ingestion No. PCB support is open PR #518 (KiCad 11 nightly, vendored kipy)
Enclosure around a real board Generic examples only (electronics_enclosure_base.py)
Connector windows from board STEP No
Standoffs / fastener stack length Catalog parts via step-parts. Stack-length checks exist only as model-specific scripts in models/tendon_hand, not as a skill
Cable routing, bend radius No
Renders Yes
PDF check sheet Drawings yes; no check-sheet or evidence PDF
Review / evidence site, STL/3MF/Bambu links Local unauthenticated viewer; 3MF export and Bambu handoff yes; no publishable evidence page
DfAM Walls and overhangs measured; hole size, min feature and bridge are "not checked" (per process-limits.md)
Sheet-metal unfold No; proposal #614

Kernel note: text-to-cad uses build123d. Our J501 code is CadQuery. Both use OCP, so shapes interoperate through .wrapped.

3. KiCad MCP servers: install and security, then a recommendation

kicad-mcp-pro mixelpixx KiCAD-MCP-Server Seeed kicad-mcp-server kicad-happy (skills)
Install uvx kicad-mcp-pro. The shipped .mcp.json is unpinned, so each launch runs latest PyPI git clone; npm install runs prepare → npm run build; pip requirements pip install -e . into KiCad's Python CC marketplace plugin
KiCad 10.0.x primary (10.0.7 verified), 8.x deprecated, 9 dropped, 11 preview; SWIG forbidden by test 9.0+; mixes kicad-python IPC and SWIG pcbnew 8-10, pcbnew file parsing
Tools 387 public; default profile = 24 read-only; writes need a profile 244 registered analysis, ERC/DRC, device-tree code review scripts
Network JLCPCB public catalog by default; other distributors only with keys; telemetry off by default (opt-in OpenTelemetry) JLCPCB, DigiKey; README advertises paid "Nimrod" service PartReel downloads (host allowlist) datasheets, distributors
Hygiene CodeQL, OpenSSF Scorecard, gitleaks, SECURITY.md; one maintainer (1,029 commits), repo created 2026-05-31 active; new development moved to AGPL Konnect no LICENSE file plugin.json declares no hooks
Deps of note — pymupdf (AGPL) at runtime fastmcp —

Recommendation: use kicad-happy for review and kicad-mcp-pro for edits and exports. Both are MIT. kicad-mcp-pro targets KiCad 10 with no SWIG, is read-only by default, ships cited fab profiles, and is the most active. Pin its version (kicad-mcp-pro==4.4.0) and keep the default profile until edits are needed. Use mixelpixx only if KiCad 9 is required. Treat Seeed as all-rights-reserved until it commits a LICENSE file. Konnect and obhox/kicad-mcp are AGPL: run them only as external programs.

4. Mechanical + PCB co-design (ECAD to MCAD)

5. Knowledge sources

Domain Source Licence / terms Already embedded in
DfAM ISO/ASTM 52910 / 52911-1 paid standard: cite, don't copy text-to-cad process-limits.md (MIT summary citing Hubs, Formlabs, HP MJF, EOS)
Sheet / laser SendCutSend specs JSON + catalog: 178 materials, k-factor, bend radius, bend deduction, minimum hole and bridge (inches) vendor data, no licence stated: fetch live and cite text-to-cad sendcutsend
Sheet / CNC / molding Hubs and Protolabs guides copyrighted pages: cite text-to-cad dfm references
PCB fab JLCPCB, PCBWay, Eurocircuits, OSH Park, NextPCB capability pages vendor terms kicad-mcp-pro dfm_profiles/*.json (MIT, with source URLs and pricing coefficients); kicad-happy jlcpcb/pcbway skills
PCB design IPC-2221/2222, IPC-7351 paid: cite only text-to-cad PR #518 skill cites IPC-2221 widths
Materials FreeCAD .FCMat cards CC-BY-3.0 (some older cards LGPL) FreeCAD
Polymers OpenPoly CC BY 4.0 (research data) none
Fasteners bd_warehouse Apache-2.0 none
Cost kicad-mcp-pro dfm_calculate_manufacturing_cost (area, layers, vias); slicer time and grams from OrcaSlicer G-code MIT; OrcaSlicer AGPL (external) kicad-mcp-pro

No open, cited cost model for FDM, sheet metal or CNC turned up in any agent tool (gap). MatWeb has no bulk export; MakeItFrom's terms are (u).

6. Benchmarks and evals

Benchmark What it measures Licence / access
CADGenBench (Hugging Face, 2026) Drawing → STEP generation, plus STEP editing; validity gate, shape, interface and topology scores; 81 fixtures (per pzfreo submission); ground truth private Apache-2.0 code; HF leaderboard. Best fit for measuring our agent
Text2CAD (NeurIPS'24) Text → sequential CAD CC BY-NC-SA 4.0
CADPrompt / CADCodeVerify (ICLR'25) 200 prompts → CadQuery; point-cloud distance, compile rate repo has no licence
CAD-Recode (ICCV'25) point cloud → CadQuery CC BY-NC 4.0
cadrille multimodal reconstruction Apache-2.0
Text2CAD-Bench 600 examples, 4 levels, novice and expert prompts paper CC BY 4.0; data licence (u)
P3D-Bench (arXiv 2606.11152), CADBench (2605.10873), BenchCAD (2605.10865), RealCADBench (2609.03773), CAD Arena various (u)
PCBWorld (arXiv 2607.05915) KiCad-grounded routing for agents and RL; 679 real boards; 8 engine-checked metrics BSD-3-Clause
PCB-Bench (ICLR'26), OmniRouting (2608.04434) LLM placement and routing (u)

No benchmark covers enclosure fit around a real board, DFM correctness or fastener/cable checks. Our J501 session could seed one: the vendor STEP is fetched by URL and hash, never committed.

7. Recommendation

Adopt now

  1. text-to-cad plugin pinned to a release, with CADGEN_TELEMETRY=0, DO_NOT_TRACK=1 and CADGEN_UPDATE_CHECK=0 in the environment. It provides the CAD runtime, drawings, DfAM, slicing, Bambu and SendCutSend.
  2. kicad-happy (review) plus kicad-mcp-pro pinned (edits and exports), and kicad-cli pcb export step for the board model.
  3. build123d-mcp or agentcad as an optional inspection loop; both are Apache-2.0 and have CADGenBench evidence.
  4. CADGenBench as the regression eval for generic CAD skill.

Thin add-on repo (cad-agent, MIT)

Contribute upstream to text-to-cad

Licence constraints