freecad-ai (josheeg)
MCP server with 36 tools that lets an AI assistant drive FreeCAD 1.1 headlessly over an XML-RPC bridge, built with a fail-closed tool contract that returns typed errors instead of raising.
Summary rewritten from the vendor site because the catalog version did not match it.
What it does and how it connects
freecad-ai is an MCP server that lets an AI assistant drive FreeCAD 1.1 headlessly over an XML-RPC bridge. The server runs on its own Python and reaches FreeCAD over the bridge so the two never share an interpreter; the process boundary is deliberate, because FreeCAD links python311.dll and cannot be imported from any other Python. FreeCAD starts on the first tool call, not at server startup, and runs headless with no GUI instance. Requirements are Python 3.14 managed by uv and FreeCAD 1.1.
The tools cover documents, Part primitives, geometry description, properties, booleans, fillets, chamfers, mirrors, arrays, placement, shape summaries, mass properties, distances, point-in-solid tests, cross-sections, and sketches with named constraints, including a refuse rule: an unclosed profile does not fail at extrude time, it produces a wrong solid, so extrude_sketch refuses one explicitly. Dimensional properties are reported as value-plus-unit objects rather than bare numbers, and a value read back with get_properties can be passed straight to set_property.
The tool contract is fail-closed: a failing tool returns a typed error result carrying a stable kind and a hint (for example DocumentNotFound with "Call new_document with that name first") instead of raising, so an agent can recover instead of guessing. The bridge is unauthenticated and bound to loopback by default; the README warns not to widen the bind address, since anyone who can reach the port has full control of FreeCAD.
Alternatives
Compare side by side- freecad-chatcad
An AI agent side panel docked inside FreeCAD, rather than a headless MCP server over an XML-RPC bridge.
- OmniCAD
A standalone free parametric CAD app with its own MCP server and CLI, rather than an MCP server for FreeCAD.
- Text23D Mechanical
Turns chat prompts into CadQuery or FreeCAD models in a web workbench, rather than exposing FreeCAD as MCP tools.
- Sphaire
Browser-native parametric CAD on OpenCascade through WebAssembly, rather than an MCP server for FreeCAD.
- cad-agent-foundation
An AutoCAD MCP and CLI on the native .NET API, rather than a FreeCAD MCP server.
Recurring errors it addresses
Error Index entries this tool is built to reduce or work around.
- When an agent fans out parallel create calls through the FreeCAD MCP bridge, the shared connection races: the first object is created even though its call reports failure, and the second object is silently never created with the status still showing healthy.Error Index
- A FreeCAD MCP bridge silently ignored parameters the client materialized from JSON-Schema defaults, so box(size=20) produced a default 10mm shape. The agent believes it built the requested geometry while the model is something else entirely.Error Index
- A FreeCAD MCP bridge's autosave-before-call rewrote the active document on every tool call even with zero unsaved changes, stamping phantom diffs onto git-tracked CAD files. Agent activity pollutes version control with edits no human authored.Error Index
- A FreeCAD MCP bridge's persistent execution namespace meant that once any call bound a variable named result, every later call echoed the old value as its own output. The agent reads that output and believes its code produced a value it never computed.Error Index
- A FreeCAD MCP bridge reported clean instance shutdowns as failures 100 percent of the time on Linux, because its liveness check polled immediately after signaling the process group. The agent was sent to retry or kill processes that were already gone.Error Index
Sources
Not verified
- Pricing: none stated on the repo.
- Real user voices: no real linked post read for this page; the repo has no public issues.
- The catalog one-liner said 24 tools; the README states 36 tools, so the one-liner was rewritten from the README.
Last verified November 6, 2026. Listings are informational. The evidence score measures public, verifiable evidence and is not an endorsement or a compatibility claim.