Skip to content
BetaCAD & Parametric

MCP for FreeCAD — Connect AI Agents to FreeCAD

Parametric models are only useful if constraints survive. Agents call feature-level tools that keep the tree valid — not scripts that rebuild it from scratch.

Read-only by default8 typed toolsCheckpointed writes
Technical specification
Host software
FreeCAD 0.21, 1.0 and newer
Runtime
Python 3.11+ with the FreeCAD Python module
Transport
stdio (local) and streamable HTTP (batch servers)
Install
Addon Manager package + npx dccmcp-freecad
Workbenches
Part, Part Design, Sketcher, Spreadsheet, TechDraw, Mesh, FEM (read)
Platforms
Windows, macOS, Linux
Last reviewed
2026-09-20
Overview

What is MCP for FreeCAD?

MCP for FreeCAD is a local MCP server plus a FreeCAD plugin that connects AI agents to a real FreeCAD session. Agents discover 8 typed tools — including document.inspect, sketch.create, sketch.constrain and partdesign.feature — and call them to inspect, create, modify and validate work inside the live application.

Unlike generated FreeCAD scripts, every call is validated against your current document, classified as read, write or execute, and recorded in an audit log. FreeCAD stays open, the document stays live, and destructive operations are checkpointed so they can be rolled back.

It works with Claude Code, Codex, Cursor, GitHub Copilot, Claude Desktop, Gemini CLI, Trae, Doubao, Qwen Code, CodeBuddy, Custom MCP clients, CI batch runners over stdio or streamable HTTP.

  • Host software: FreeCAD 0.21, 1.0 and newer
  • Runtime: Python 3.11+ with the FreeCAD Python module
  • Transport: stdio (local) and streamable HTTP (batch servers)
Why it breaks

What goes wrong when agents drive FreeCAD without a contract

01

Scripts rebuild models instead of editing them

Regenerating a part from code throws away design intent. Engineers need the feature tree, constraints and references to stay intact.

02

Parametric tables drift out of sync

When an agent hardcodes a dimension instead of binding it to the parameter spreadsheet, the model quietly stops being parametric.

03

No traceability for manufacturing changes

A changed bore diameter that nobody recorded is a real production risk. Unlogged automation is not acceptable on the shop floor.

How it works

How MCP for FreeCAD keeps intent, structure and traceability intact

An MCP server and FreeCAD workbench that exposes parametric modeling as typed tools: sketch constraints, Part Design features, spreadsheet parameters, technical drawings and manufacturing exports.

Feature-level modeling

The agent adds pads, pockets, revolutions and fillets as real Part Design features, so the tree stays editable by a human afterwards.

Parameter binding by default

Dimension tools accept either literals or spreadsheet aliases. The server reports when a value is unbound so the agent can fix it before the model ships.

Constraint-aware sketching

The agent reads the sketch degrees of freedom, adds geometric and dimensional constraints, and verifies the solver converges.

Drawing and export pipeline

Generate TechDraw views, then export STEP, IGES, STL or DXF with unit checks and a manifest of the exact revisions produced.

Tool reference

MCP for FreeCAD tools — every tool and its risk class

Agents discover this list at connect time. You decide which entries are auto-approved, which need a human and which are denied in production files.
  • document.inspectObject tree, bodies, features, parameters, recompute state and unit system.read
  • sketch.createCreate sketches on datum planes with a scoped target body.write
  • sketch.constrainAdd geometric and dimensional constraints, then report remaining degrees of freedom.write
  • partdesign.featurePad, pocket, revolution, fillet and chamfer as first-class features in the tree.write
  • parameters.setRead and write spreadsheet aliases with type and range validation.write
  • techdraw.exportCreate or update drawing sheets and export to PDF or SVG.execute
  • cad.exportExport STEP, IGES, DXF, STL or 3MF plus a revision manifest.execute
  • recompute.runForce a recompute and return a structured failure report instead of raising blind.execute
Install

Install MCP for FreeCAD in four steps

Everything runs locally. The server binds to loopback by default and only exposes the tools you approve in FreeCAD.

Pre-release. These commands describe the interface we are shipping for MCP for FreeCAD — the packages are not published yet. Get notified when MCP for FreeCAD launches.

STEP 01

Install the workbench

Add the DCCMCP workbench through the FreeCAD Addon Manager, then restart FreeCAD.

STEP 02

Start the server

The server attaches to a running FreeCAD instance or launches one headlessly for batch conversion jobs.

npx dccmcp-freecad@latest serve --mode attach
STEP 03

Register with your client

Register the server with Claude Code, Codex, Cursor, OpenClaw or any other MCP client. Batch mode is useful for nightly parameter sweeps.

{
  "mcpServers": {
    "freecad": { "command": "npx", "args": ["dccmcp-freecad", "serve"] }
  }
}
STEP 04

Protect your parameters

Mark spreadsheets and properties as protected so agents can read but not overwrite approved values.

dccmcp policy protect --sheet DesignTable --write allow

MCP for FreeCAD works with the agents you already use

  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot
  • Claude Desktop
  • Gemini CLI
  • Trae
  • Doubao
  • Qwen Code
  • CodeBuddy
  • Custom MCP clients
  • CI batch runners

Any other MCP-compatible client works too — one config entry, stdio by default.

Read the docs
FAQ

Questions teams ask before they install

If something is missing, ask us directly — we answer technical questions with technical answers.
  • MCP for FreeCAD is on the beta track. Read operations, sketching, Part Design features and exports are stable in our test corpus; FEM and Assembly workbenches are read-only previews for now.

  • Yes. Dimension tools prefer spreadsheet aliases, and the server reports unbound values so the agent can bind them. You can also protect specific parameters from write access entirely.

  • STEP, IGES, DXF, STL and 3MF exports are supported, each with a revision manifest recording the parameters and file hash used for the export.

  • FreeCAD 0.21 and 1.0+ are supported. The 1.0 line is recommended because of its improved Python API stability.

  • Yes. Attach and headless modes are both supported, which makes parameter sweeps and nightly exports straightforward to run in CI.

npx dccmcp-blender@latest serve

Put an agent inside your real tools — without putting your pipeline at risk

Install an integration, set a policy, and let your agent inspect, build and validate work in Blender, Maya, Houdini, 3ds Max, Rhino, ZBrush, Photoshop, FreeCAD, QGIS or OpenCV. Free to start, local by default.

macOS · Windows · Linux — no cloud dependency required