agentcad

CAD tool for AI agents. Give your coding agent the ability to design 3D models.

Your agent writes CadQuery or build123d Python scripts. agentcad handles execution, STEP export, PNG rendering, mesh export (STL/GLB/OBJ), geometric metrics, validation, diffing, and browser preview. Each command's final response is structured JSON on stdout.

Reading the output: the JSON response is written to stdout; human-readable progress and diagnostics go to stderr. Parse stdout as JSON and treat stderr as plain text — don't merge the streams with 2>&1 before a JSON parser, or the progress lines will break parsing. If you need both, capture them separately.

agentcad is open source under the Apache License 2.0. It runs locally and requires no signup.

Featured on Product Hunt

Demo

Watch a coding agent design in agentcad

A coding agent designing in agentcad, live. See more at agentcad.dev.

New: specs and measurements

  • agentcad measure reads the actual STEP geometry: dimensions, cylindrical feature buckets, diameters, and counts.
  • agentcad check-spec compares the model against explicit feature requirements before the agent says it is done.
  • agentcad view --spec spec.json opens a Spec check review mode so humans can inspect pass/fail results in the browser.

Quick start

Install agentcad, then paste this into Claude Code, Cursor, or any coding agent:

Create a Python 3.12 virtual environment, then:

pip install agentcad
agentcad skill install
agentcad --help

Read the --help output — it's your operational briefing.

Then design me a phone stand: a simple angled cradle that holds a phone
at 60 degrees. About 80mm wide, 50mm deep, with a 5mm lip at the bottom
to keep the phone from sliding. Show me a preview when you're done.

What it does

  • agentcad run script.py --output label — execute a build123d or CadQuery script, produce versioned STEP file + geometric metrics (volume, dimensions, validity, face/edge counts)
  • Automatic review viewer — successful runs open viewer.html; from v2, A=previous and B=current are preloaded for A/B, side-by-side, overlay, and Parts-tab change review (--no-view opts out)
  • agentcad run ... --preview — four-view PNG + turntable GIF for visual verification
  • agentcad run ... --render iso,front — high-quality PNG views
  • agentcad run ... --export stl,glb — mesh export for 3D printing or web viewers
  • agentcad measure output.step — dimensional report (overall metrics, edge lengths, face areas, circular/cylindrical diameters)
  • agentcad check-spec output.step spec.json — compare measured cylindrical features against an explicit checklist
  • agentcad inspect output.step — topology deep-dive (shells, free edges, validity)
  • agentcad diff 1 2 — compare versions (metrics, outputs, parameters)
  • agentcad view old.step new.step — open an explicit synchronized A/B comparison
  • agentcad docs [section] — 17 sections of built-in documentation

No boilerplate

Scripts need zero imports. By default, build123d primitives, show_object, and agentcad edit helpers are pre-injected:

box = Box(10, 20, 5)
show_object(box)

CadQuery remains supported via import cadquery as cq, agentcad init --runtime cadquery, or agentcad run --runtime cadquery. Run agentcad docs runtimes for the dispatch rules.

MCP integration

For native tool integration with Claude Code, Cursor, or Windsurf:

pip install agentcad[mcp]

Add to .mcp.json:

{"agentcad": {"command": "python", "args": ["-m", "agentcad.mcp"]}}

Requirements

  • Python 3.10–3.12 (OpenCascade bindings do not support 3.13+)

License

Apache License 2.0. See LICENSE.

Feedback

If your agent struggles, run agentcad feedback "what happened" to capture a friction log.