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

  1. Choose Cursor configuration scope

    For FreeCAD MCP, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.

  2. 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.

  3. 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

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.

FreeCAD: full stored tool descriptions

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

Frequently asked questions

Cursor's FreeCAD MCP entry belongs under mcpServers in .cursor/mcp.json (project) or ~/.cursor/mcp.json (user). Confirm the active scope in MCP settings.

Cursor's freecad-mcp example uses stdio.

FreeCAD MCP's Cursor configuration invokes uvx freecad-mcp (from uv, for Python tools).

FreeCAD MCP's stored list contains 11 tools, including create_document, create_object, edit_object. Compare those names with Cursor's connected tool list; the stored list is not a live check.

Yes. Enable remote connections in the addon, configure allowed IPs or subnets, restart RPC, and pass the target host to the MCP process.

It uses CalculiX to solve an existing Fem::FemAnalysis, returning summary measurements. If needed, it creates the missing SolverCcxTools object.