
FreeCAD MCP server: let Claude design 3D models in FreeCAD
Lets Claude design and edit 3D models in FreeCAD from a plain description, with screenshots of each step.
FreeCAD MCP lets Claude and other AI assistants build and edit 3D models in a FreeCAD window you have open. You describe a part, and the assistant creates objects, runs Python inside FreeCAD, checks screenshots of the view and can run stress analyses. It is a community project with two pieces: an add-on you copy into FreeCAD, and a small server your AI app starts. The one thing to know first is that it can run any Python code on your computer, so keep an eye on what it does.
Good for
- Makers who want printable parts like cases, mounts and brackets from a plain description
- Engineers who want the assistant to run a quick stress check on a FreeCAD part
- Woodworkers planning furniture with a 3D model and cut list
- FreeCAD users who write Python macros and want help writing and running them
Works in
2 with issues · 10 should work
Tap an app to see how to set it up and any known problems.
The README covers it: add the server to Claude's config file, then keep FreeCAD open with the add-on's server started.
Known problems
- Open
Windows Smart App Control can block the server program, so Claude's app cannot start it
Since Oct 2026 · GitHub
Should work like any local server; one Windows user hit setup trouble with the add-on folder and Python versions.
Known problems
- Open
On Windows the add-on gave no sign it had started, and the right add-on folder was unclear
Workaround: Launch the server through cmd /c freecad-mcp if the app reports EFTYPE or uv_spawn errors.
Since Sep 2026 · GitHub
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install FreeCAD MCP
Claude Code
- 1
Copy this prompt.
Add the FreeCAD MCP server to Claude Code. Run this command: claude mcp add freecad -- uvx freecad-mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires uv (Python), Python 3.12 or later, FreeCAD with the FreeCAD MCP add-on.
Before you connect: install the FreeCAD MCP add-on (copy addon/FreeCADMCP from the repo into FreeCAD's Mod folder), restart FreeCAD, pick the MCP Addon workbench and click Start RPC Server. Keep FreeCAD open while you use it. Leave the token out for normal use on one computer; add it only if you turned on remote connections and set a token in the add-on. Add --only-text-feedback to the arguments to skip screenshots and save tokens. On Windows, if the app reports EFTYPE or uv_spawn when starting the server, a reported workaround is to launch it through cmd /c freecad-mcp.
Built from the package data we hold. Not yet tested by us.
Tools
Adds a new shape or part to a FreeCAD document
Creates a new object, such as a box, cylinder or sketch-based feature, in an open document and can send back a screenshot of the result.
Try: “Add a 40 x 20 x 10 mm box to my bracket document”
Write ·
create_objectChanges the size, position or other settings of a part
Updates the properties of an existing object, like its dimensions or placement, and can return a screenshot so you can see the change.
Try: “Make the mounting holes 5 mm wide instead of 4”
Write ·
edit_objectTakes a screenshot of the 3D view from a chosen angle
Captures the current FreeCAD view as an image, from angles like front, top or isometric, so the assistant can check what it built.
Try: “Show me the part from the top”
Read ·
get_viewLists every object in a document with its settings
Returns all objects in a document with their properties, so the assistant knows what is already in the model.
Try: “What parts are in the gearbox document?”
Read ·
get_objectsShows the details of one object
Returns the properties of a single object in a document, such as its size and position.
Try: “What are the dimensions of the lid?”
Read ·
get_objectLists the documents open in FreeCAD
Returns the names of all documents currently open in FreeCAD.
Try: “Which FreeCAD files do I have open?”
Read ·
list_documentsStarts a new, empty FreeCAD document
Creates a new document in FreeCAD to build a model in.
Try: “Start a new document called phone-stand”
Write ·
create_documentRuns Python code inside FreeCAD to build or change a model
Runs any Python script inside the FreeCAD window. This is how the assistant does most complex modelling, and it has the same access to your computer as you do.
Try: “Write and run a script that makes a gear with 24 teeth”
Runs code ·
execute_codeAdds a ready-made part from the FreeCAD parts library
Inserts a standard part, such as a screw or bearing, from the FreeCAD parts library into your document.
Try: “Insert an M3 screw from the parts library”
Write ·
insert_part_from_libraryLists the parts available in the FreeCAD parts library
Returns the parts you can insert from the FreeCAD parts library.
Try: “What fasteners are in the parts library?”
Read ·
get_parts_listRuns a stress analysis and reports peak stress and movement
Runs FreeCAD's CalculiX solver on an analysis you have set up and reports the maximum stress, the largest movement and the mesh size.
Try: “Run the stress analysis on the cantilever and tell me the peak stress”
Runs code ·
run_fem_analysisRemoves an object from a document
Deletes an object from an open document.
Try: “Delete the test cube”
Delete ·
delete_objectReopens a saved document to show changes made outside FreeCAD
Closes and reopens a saved document so FreeCAD shows changes written to the file by a separate script.
Try: “Reload the bracket document so I can see the new threads”
Read ·
reload_documentRuns heavy scripts in a separate FreeCAD process so a crash stays contained
Runs a Python script in a separate, windowless FreeCAD process, useful for heavy geometry that might crash, and returns what it printed.
Try: “Generate the threaded rod in a separate process so FreeCAD does not freeze”
Runs code ·
execute_code_headlessStarts a long calculation in the background
Starts Python code running in the background and returns a job number, so long geometry work does not block FreeCAD.
Try: “Compute the loft in the background and add it when it is done”
Runs code ·
execute_code_asyncUsed by the assistant behind the scenes
Checks whether a background job finished or failed
Reports whether a background job is still running, done or failed, with the error if it failed.
Read ·
get_async_statusChecks the connection to FreeCAD and the add-on version
Reports whether the connection to the FreeCAD add-on is healthy, which add-on version is installed and whether it matches the server.
Read ·
get_rpc_status
Read from the source code
Pros and cons
Good
- The most used FreeCAD server for AI assistants, with frequent updates.
- Free and open source under the MIT license.
- Returns a screenshot after each change so the assistant can check its work.
- Can run stress analyses with FreeCAD's built-in solver.
- Runs heavy scripts in a separate process so a crash does not close your FreeCAD window.
- Works with FreeCAD on another machine over your network or an SSH tunnel.
Watch out
- It can run any Python code with your user's access.
- There is no read-only mode.
- You copy the FreeCAD add-on by hand and update it separately from the server.
- You must start the add-on's server in FreeCAD each time unless you turn on auto-start.
- Long operations can time out unless your AI app allows long replies.
- Not made by the FreeCAD project.
Permissions
high risk · 5 things to watch · 1 advisory
High risk
The assistant can run any Python code inside FreeCAD with your own user's access, so it can touch files beyond your CAD model. Watch what it runs, save your work first, and replace an old copy of the add-on with a current one.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can run any Python code on your computer
Its code tools run Python with your user's permissions, not only CAD actions. Read what the assistant plans to run and keep backups of important files. github.com
Old add-on copies let web pages run code
A web page open in your browser could send code to the add-on while its server was on, and the advisory names no fixed version. The add-on does not update itself, so copy in the current FreeCAD MCP folder and keep its server off when you are not using it. github.com
Remote mode sends traffic unencrypted
With remote connections on, there is no sign-in unless you set a token and nothing is encrypted. Use an SSH tunnel, or set a token and allow only the machines you need. github.com
It can delete objects in your open files
It edits and deletes objects in open documents directly. Save before long sessions so you can go back. github.com
Turn off auto-start when you do not need it
The add-on's server listens while it runs. Start it by hand when you need it and stop it afterwards. github.com
Security advisories
Technical details
| Sign-in and keys | No sign-in by default; an optional shared token for remote use is set in the FreeCAD add-on and passed to the server as FREECAD_MCP_TOKEN. |
|---|
Alternatives
Start with this server; it has by far the most users and steady updates. Try the Robust MCP Server if you want many more ready-made modelling tools or a Docker install.
| Server | Official | Runs | Tools | GitHub stars |
|---|---|---|---|---|
| FreeCAD MCPThis page | Community | Local | 17 | 3.2K |
| Robust MCP Server | Community | Local | – | 263 |
| contextform freecad-mcp | Community | Local | – | 139 |
| blwfish FreeCAD MCP | Community | Local | – | 62 |
What people say
People are surprised how well Claude can design real parts with it, and warn that it often gets geometry wrong unless it checks the view.
What people like
- Users have made real printed and milled parts from Claude's designs, such as a display case and a printer mount.
- Some go straight from a description to an STL file ready for the slicer.
- It understands a part much better when it looks at screenshots of the view.
Common complaints
- Models often flip axes or trust their own maths instead of checking the view.
- It tends not to build editable sketches, so the result is hard to change by hand.
- Complex mechanisms sit at the edge of what models can do.
- Setup takes two parts, and the FreeCAD add-on has to be copied and updated by hand.
In their words
“I've been experimenting with FreeCAD + freecad-mcp + Claude recently and have been similarly surprised how well this works. I've produced three useful parts from Claude's designs”ash_091Hacker NewsOct 2026
“It understands problems VERY well when it actually controls the viewport and takes screenshots of the part, unfortunately it REALLY resists that instead preferring to make up a bunch of equations to justify/validate it but these were almost never correct.”TrueDualityHacker NewsOct 2026
“For the Freecad mcp I didn't like it at all. The agent didn't work in a way that would let me easily modify things.”mijoharasHacker NewsOct 2026
“Yup. I’ve been getting some pretty decent 3d models directly on stl format + the slicer file with all the right configs for my printer”nico
2 more quotesFewer quotes
Questions
Is FreeCAD MCP free?
Yes. It is open source under the MIT license, and FreeCAD is free too. You only pay for the AI app you use with it.
Is it safe to use?
Only with care. The assistant can run any Python code on your computer with your access, and there is no read-only mode. Save your work, watch what it runs, and keep the FreeCAD add-on up to date.
Why does it need an add-on and a separate server?
The add-on runs inside FreeCAD and does the CAD work. Your AI app starts the separate server, which passes requests to the add-on. They use different Python versions, so do not install the server into FreeCAD's own Python.
Do I have to start it in FreeCAD every time?
By default, yes. Open the FreeCAD MCP menu in the MCP Addon workbench and turn on Auto-Start Server to have it start when FreeCAD opens.
Why does a long operation time out?
Code that runs in the FreeCAD window gets 90 seconds by default. The assistant can ask for up to 30 minutes, or run heavy work in the background or a separate process. Your AI app also has to allow long replies.
Can it run stress or FEM analyses?
Yes. It runs FreeCAD's CalculiX solver on an analysis you have set up and reports the maximum stress and movement.
Can I control FreeCAD on another computer?
Yes. Turn on remote connections in the add-on, allow your computer's address, and set a shared token. On networks you do not control, use an SSH tunnel instead, because traffic is not encrypted.
How do I stop it using so many tokens on screenshots?
Start the server with text-only feedback, or tell the assistant to skip screenshots on each step. It can still take a screenshot when you ask for one.
FreeCAD MCP vs the Robust MCP Server?
FreeCAD MCP has far more users and a small set of tools that lean on running Python. The Robust MCP Server offers many more ready-made modelling tools and a Docker install, with a smaller community.
How do I add it to Claude Desktop?
Copy the add-on into FreeCAD, start its server, then follow the Claude Desktop steps in the install box above.
Examples
Design a flange from a description
Design a flange with six bolt holes on a 100 mm circle
Model a part from a dimensioned 2D drawing
SourceRun a stress analysis on a cantilever beam and compare it with the hand calculation
SourceDesign a 3D-printed case for an OLED display, inputs and an ESP32 board
SourcePlan a woodworking workbench with a cut list and assembly steps
Source
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
freecad-mcp- Registry
- PyPI
- Transport
- stdio
- Auth
- None
- Version
- 0.1.28
- License
- MIT
- Last commit
- Oct 25, 2026
- Open issues
- 23
Other FreeCAD MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 19Hide
- FreeCAD MCP README · github.com
- Installation · github.com
- Configuration · github.com
- PyPI · pypi.org
- Tools · github.com
- Hacker News · news.ycombinator.com
- Hacker News · news.ycombinator.com
- server.py · github.com
- Web pages can run arbitrary Python in FreeCAD through the MCP addon's RPC server · github.com
- Code execution · github.com
- GitHub · github.com
- GitHub · github.com
- GitHub · github.com
- Hacker News · news.ycombinator.com
- Hacker News · news.ycombinator.com
- Hacker News · news.ycombinator.com
- GitHub · github.com
- GitHub · github.com
- GitHub · github.com