A server to interact with FreeCAD models using the Model Context Protocol (MCP).
A server to interact with FreeCAD models using the Model Context Protocol (MCP). That is what the freecad mcp mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
This repository is a FreeCAD MCP that allows you to control FreeCAD from Claude Desktop.
Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.
The server publishes 12 tools. What each one is for:
create_document — Create a new document in FreeCADcreate_object — Create a new object in FreeCADedit_object — Edit an object in FreeCADdelete_object — Delete an object in FreeCADexecute_code — Execute arbitrary Python code in FreeCADinsert_part_from_library — Insert a part from the parts libraryget_view — Get a screenshot of the active viewget_objects — Get all objects in a documentget_object — Get an object in a documentget_parts_list — Get the list of parts in the parts libraryrun_fem_analysis — Run the CalculiX solver on an existing Fem::FemAnalysis and return summary results (max von Mises stress, max displacement, node count, workingDemo — This is the conversation history. https://claude.ai/share/7b48fd60-68ba-46fb-bb21-2fbb17399b48This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. FreeCAD MCP's toolset — create_document, create_object, edit_object and 9 more — is a fair guide to whether it matches your workflow.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| create_document | Create a new document in FreeCAD. |
| create_object | Create a new object in FreeCAD. |
| edit_object | Edit an object in FreeCAD. |
| delete_object | Delete an object in FreeCAD. |
| execute_code | Execute arbitrary Python code in FreeCAD. |
| insert_part_from_library | Insert a part from the [parts library](https://github.com/FreeCAD/FreeCAD-library). |
| get_view | Get a screenshot of the active view. |
| get_objects | Get all objects in a document. |
| get_object | Get an object in a document. |
| get_parts_list | Get the list of parts in the [parts library](https://github.com/FreeCAD/FreeCAD-library). |
| run_fem_analysis | Run the CalculiX solver on an existing Fem::FemAnalysis and return summary results (max von Mises stress, max displacement, node count, working directory). Auto-creates a SolverCcxTools if the analysis has none. See [exa |
| Demo | This is the conversation history. https://claude.ai/share/7b48fd60-68ba-46fb-bb21-2fbb17399b48 |
```json
{
"mcpServers": {
"freecad": {
"command": "uv",
"args": [
"--directory",
"/path/to/freecad-mcp/",
"run",
"freecad-mcp"
]
}
}
}Configuration as documented by the project. Restart the client after saving.
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.