Media#3D modeling

build123d-mcp: parametric CAD an agent can check as it builds

A build123d CAD toolbox for agents: build a part step by step, render, measure and check printability, then export STEP, STL or DXF. Made for real parts.

Project and installation docs

View project

https://github.com/pzfreo/build123d-mcp

The usual failure when a model writes CAD code is that it writes blind: dozens of lines in one go, holes in the wrong place, walls too thin, and the model has no idea. build123d-mcp gives the agent eyes and calipers. It adds one feature at a time in a persistent build123d session, renders and measures after each step, and exports only once the part checks out. It had about 100 stars as of 2026-10-06, so few people know it yet.

What it does

  • Step-by-step modeling: runs build123d code in a persistent session; when something fails, the agent reads last_error, fixes it and continues. Sessions can be snapshotted and restored.
  • Look and measure: PNG, SVG and DXF previews; volume, area, bounding box, topology and center of mass; detection of holes, bosses, countersinks and hole patterns.
  • Checks: printability, fit and alignment comparisons, and validate() before export.
  • Import and export: import STEP or STL for comparison; export STEP, STL, DXF or SVG; 2D engineering drawing previews; edit_feature resizes plain through-holes on an imported part.

Who it’s for

  • Makers with 3D printers who want to describe a mounting plate or bracket in a sentence and get a measured STL.
  • Engineers who know some CAD and want a first parametric draft from a spec before refining it themselves.
  • People who already model in build123d and want their coding agent to see the result of each change.

Setup

You need uv; Python 3.11 to 3.14 work, and there’s nothing to clone. For Claude Code, add this to the project’s .mcp.json:

{
  "mcpServers": {
    "build123d-mcp": {
      "command": "uv",
      "args": ["tool", "run", "--python", "3.12", "build123d-mcp@latest"]
    }
  }
}

Once connected, ask the agent to call install_skill for the modeling, drawing and repair workflows.

Our take

We already list MCP for Blender for scenes and art; build123d-mcp is for parts with real dimensions, so the two don’t overlap. What makes it worth a look is turning build, look, measure into a tool loop. The author cites the public CADGenBench leaderboard: the same model’s score rose from 0.360 to 0.457 with it, and valid geometry from 88% to 100%. On risk, it runs AI-written Python through exec(). The author added an import allowlist and restricted builtins, and states plainly that it’s a local development tool, not for multi-user deployments. It’s led by an individual developer, pzfreo, and licensed Apache-2.0.