Data as of
FreeCAD MCP for Cursor: Setup & Config
Cursor: Control FreeCAD from an assistant through an addon and Python MCP server.
What you can do with FreeCAD in Cursor
Choose direct FreeCAD modeling with library parts, Python access, screenshots, and existing-analysis FEM runs.
- Insert reusable components from the FreeCAD parts library.
- Run an existing FEM analysis and review its summary results.
Before you start: FreeCAD in Cursor
- FreeCAD
- The FreeCADMCP addon installed in the appropriate addon directory
- uvx
- Claude Desktop for the documented client setup
Restart FreeCAD after installing the addon, choose the MCP Addon workbench, and start its RPC server. --only-text-feedback disables visual feedback. Remote RPC access requires explicit enablement and allowed IPs.
FreeCAD Cursor configuration
Choose Cursor configuration scope
For FreeCAD MCP, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.
Add FreeCAD MCP to Cursor
Use the freecad-mcp entry below in mcpServers. Keep FreeCAD MCP's documented stdio connection fields and your other Cursor entries.
Check FreeCAD MCP in Cursor
FreeCAD MCP: Enable in Cursor’s MCP settings; inspect tools.
Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
{
"mcpServers": {
"freecad-mcp": {
"command": "uvx",
"args": [
"freecad-mcp"
],
"env": {}
}
}
}FreeCAD tools available to Cursor
FreeCAD's stored tool list documents 11 tools; compare it with Cursor's connected tool list, because the stored list is not a live check.
- create_document
Find create_document under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Start a new CAD document in FreeCAD.
- create_object
Find create_object under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- edit_object
Find edit_object under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- delete_object
Find delete_object under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- execute_code
Find execute_code under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- insert_part_from_library
Find insert_part_from_library under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
- get_view
Find get_view under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Capture the current active FreeCAD view as an image.
- get_objects
Find get_objects under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
List the objects belonging to a document.
- get_object
Find get_object under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Inspect one object within a document.
- get_parts_list
Find get_parts_list under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
List available components in the FreeCAD parts library.
- run_fem_analysis
Find run_fem_analysis under FreeCAD in Cursor's MCP settings; inspect its arguments when the agent requests a call.
Run CalculiX for an existing FEM analysis and report stress, displacement, node count, and working directory.
Troubleshooting FreeCAD in Cursor
- Cursor must find uvx freecad-mcp (from uv, for Python tools) for FreeCAD MCP. Enable the project/user entry in MCP settings and inspect its tools.
- FreeCAD MCP uses stdio here: Cursor must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
- Known limitation: Requires a FreeCAD addon plus a running RPC server.
- Known limitation: The Python execution tool can run arbitrary code inside FreeCAD.
- Known limitation: Remote access requires explicit IP allowlisting and RPC configuration.
- General Cursor troubleshooting lives in the /clients/cursor guide.
FreeCAD MCP — details. Cursor guide