FreeCAD MCP Integration Lets ChatGPT Create and Edit 3D CAD Models

By on July 28th, 2026 in news, Software

Tags: , , , , , ,

Cube designed by ChatGPT in FreeCAD [Source: Fabbaloo]

Can you generate 3D CAD files with ChatGPT? It turns out you can.

I recently saw others driving FreeCAD, an open-source 3D CAD tool, with Claude. I’m not a Claude user but instead use OpenAI’s ChatGPT. Could I set up FreeCAD to be driven by ChatGPT?

It turns out to be incredibly simple to do so. It all comes down to something called an “MCP”, or “Model Context Protocol”. This is a standardized framework that allows AI systems to communicate (and control) external tools. Basically, it defines a “language” for the tool that the AI can use.

There are MCP interfaces for countless tools these days, and it turns out there is one for FreeCAD, too. Actually, there are two, but one is old and you shouldn’t use it. The correct one, or at least the one that worked for me, is from GitHub user naka-nat. The code from bonninr is older and should not be used.

Installing the MCP interface is easy; you just copy a folder of files over to the /Mod directory in FreeCAD. Restart FreeCAD and you now have a new workbench, MCP, that you can activate. Once activated, FreeCAD can then accept commands from an external AI.

The most complex part of the setup is to connect Codex (the “control local tools” part of ChatGPT) with FreeCAD. This requires a couple of command-line tools to install a linkage tool and register FreeCAD with Codex.

If that sounds challenging, it absolutely is not — just ask ChatGPT for the commands and you paste them in, easily done.

After restarting ChatGPT and FreeCAD, I started the MCP server in FreeCAD on the MCP workbench (it’s just a single button). I then asked ChatGPT whether it could see FreeCAD, and it did, listing the following commands available:

  • create_document
  • create_object
  • edit_object
  • delete_object
  • execute_code_async
  • execute_code
  • get_view
  • insert_part_from_library
  • get_objects
  • get_object
  • get_parts_list
  • reload_document
  • list_documents
  • run_fem_analysis

From that list, you can get an idea of what ChatGPT can do with FreeCAD.

Then I tried this prompt:

And voilà, FreeCAD “operated” on its own (via ChatGPT) and created the simple cube shown at the top. It absolutely worked.

However, a cube is about the simplest possible part you can design. What about something more complicated? I tried this prompt:

“In FreeCAD, create a three-shelf bookshelf that is 1 m wide, 30cm deep, with 30cm tall shelves.”

And it worked, almost instantly:

Bookshelf designed by ChatGPT in FreeCAD [Source: Fabbaloo]

ChatGPT reported:

“Created a new FreeCAD document named Three_Shelf_Bookshelf.
Model details:
Overall width: 1000 mm
Overall depth: 300 mm
Shelf openings: 3, each 300 mm tall
Board thickness assumed: 18 mm
Overall height: 972 mm
Parts created: left side, right side, bottom shelf, two middle shelves, top shelf, and a thin back panel.”

Note that it was smart enough to add a “thin back panel”, where I had not specified this. In other words, it “knew” what a bookshelf should look like and took appropriate action.

Then I tried this:

“In FreeCAD, create a propeller with five blades. The blades are 50cm in length, and the central hub is 10cm in diameter with five 5mm bolt holes.”

The result was this seemingly correct propeller:

Five blade propeller designed by ChatGPT in FreeCAD [Source: Fabbaloo]

However, as I looked further at the CAD model, I realized the five bolt holes were missing. I asked ChatGPT about that, and it explained:

“Done. I added the five 5 mm through bolt holes and cut them through both the hub and the raised centre cap, so they should now be visible.

I also added small dark circular markers around each hole to make the bolt pattern easy to see on the propeller face.”

Propeller design modified by ChatGPT in FreeCAD [Source: Fabbaloo]

This is clearly working well, and one could work in this way to iteratively develop even more complex parts, simply by asking FreeCAD to tweak the design.

The punchline here is that I don’t use FreeCAD and am completely unfamiliar with its interfaces and commands. Normally, I use Fusion, which is a bit different.

It would be advantageous if you knew FreeCAD so that you can pick up where ChatGPT is unable to make a complex change. However, it’s pretty clear that novice users can run this setup and get good results, at least for simple 3D parts.

The other idea to know here is that this is merely the beginning. It’s very likely that future LLMs will increase their knowledge of 3D design and increasingly complex 3D CAD models will be generated in this way.

Via FreeCAD and GitHub

By Kerry Stevenson

Kerry Stevenson, aka "General Fabb" has written over 8,000 stories on 3D printing at Fabbaloo since he launched the venture in 2007, with an intention to promote and grow the incredible technology of 3D printing across the world. So far, it seems to be working!