Skip to main content

dcc-mcp-freecad

DCC-MCP · FREECAD

Production FreeCAD adapter for typed, durable parametric modeling and CAD exchange through DCC-MCP.

Parametric bracket moving through FreeCAD topology validation to a game-ready mesh

Illustrative workflow based on the live OpenSCAD → FreeCAD → Blender/Godot acceptance run; generated source is retained in docs/images/dcc-mcp-freecad-showcase-source.png.

Capabilities

  • Detect FreeCADCmd and report the actual FreeCAD/Python runtime.
  • Create, inspect, recompute, validate, copy, and dependency-safely edit FCStd documents.
  • Add and update boxes, cylinders, spheres, cones, and tori with typed dimensions and placements.
  • Create parametric union, cut, and intersection features.
  • Import or export STEP, IGES, BREP, STL, and OBJ geometry.
  • Return object links, placements, shape/mesh topology counts, volume, area, bounding boxes, file size, and SHA-256 provenance.

No arbitrary Python, macros, module paths, or FreeCAD command-line flags are accepted. The adapter invokes only its packaged method-dispatch driver.

Requirements

  • Python 3.7+
  • dcc-mcp-core 0.19.91+
  • FreeCAD 1.0 or newer with FreeCADCmd/freecadcmd

Install

Install the published wheel, prove the standalone FreeCAD runtime, then start the service:

python -m pip install --upgrade dcc-mcp-freecad
dcc-mcp-freecad doctor --json
dcc-mcp-freecad verify --json
dcc-mcp-freecad

See install.md for Windows, macOS, and Linux discovery, stable doctor exits, configuration, wheel upgrades, uninstall, and troubleshooting. FreeCAD remains OS/package-manager owned; the adapter does not download or cache external binaries.

Configuration

Variable Purpose Default
DCC_MCP_FREECAD_EXECUTABLE Exact FreeCADCmd executable or install directory PATH and standard locations
DCC_MCP_FREECAD_ALLOWED_ROOTS os.pathsep-separated document/import/export roots server working directory
DCC_MCP_FREECAD_MAX_DOCUMENT_BYTES Maximum FCStd input size 2 GiB
DCC_MCP_FREECAD_MAX_TIMEOUT_SECS Maximum per-call deadline 1800 seconds
DCC_MCP_FREECAD_PORT Fixed adapter port when direct addressing is required OS-assigned

The service is a standalone DCC-MCP instance with no GUI PID. Every operation launches a clean FreeCADCmd process in safe mode with a temporary user config.

Agent workflow

dcc-mcp-cli list
dcc-mcp-cli search --query "FreeCAD create boolean export STEP"
dcc-mcp-cli load-skill freecad-session --dcc-type freecad --instance-id <instance-short>
dcc-mcp-cli load-skill freecad-modeling --dcc-type freecad --instance-id <instance-short>

Typical sequence: create_documentadd_primitivetransform_objectboolean_operationvalidate_documentexport_geometry.

Safety contract

  • Requested documents and geometry stay under configured allowed roots.
  • Existing outputs require explicit overwrite=true.
  • FCStd mutations happen on sibling staging copies and replace the original only after a successful, non-empty save.
  • Failed mutations leave the original document byte-for-byte unchanged.
  • Object names, dimensional fields, placements, formats, tessellation, result size, process output, and deadlines are bounded.
  • Cancellation and timeouts terminate the owned FreeCADCmd process.
  • Cascade removal is explicit and reports every removed dependent.

FreeCAD Python API reference: https://www.freecad.org/api/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dcc_mcp_freecad-0.2.0.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dcc_mcp_freecad-0.2.0-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file dcc_mcp_freecad-0.2.0.tar.gz.

File metadata

  • Download URL: dcc_mcp_freecad-0.2.0.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for dcc_mcp_freecad-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d46b8ea811a32d9e7b2ef4849a7621eaf701d1099abf6ab50d544df195633412
MD5 cd24c76aa15bca169e549796b1844b9f
BLAKE2b-256 f458b412b1cb32211f031d34150c8b25dced926103c6a1ce6ead0f32283219c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_freecad-0.2.0.tar.gz:

Publisher: release.yml on dcc-mcp/dcc-mcp-freecad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dcc_mcp_freecad-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dcc_mcp_freecad-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for dcc_mcp_freecad-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25f2e96d53200ef7ca186b47fac1804241c39d44bbbeebbc02fdf00dfcdb7180
MD5 b0d421a6ffbc35e2bf53d09edc064059
BLAKE2b-256 81b4bca57d14abaeb3262bdd8e40cfe7b39969ccd22db7577cf9e8f3e9700564

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_freecad-0.2.0-py3-none-any.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-freecad

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page