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 projecthttps://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_featureresizes 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.