FreeCAD MCP

An MCP server to drive FreeCAD from Claude Desktop and other clients: create and edit models, run scripts and FEM analysis

MCP server

High risk

We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.

Why this level

  • Executes arbitrary Python code inside FreeCAD
  • Creates and changes documents and models in the application on the host
All reasons and checks

neka-nat/freecad-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/freecad-mcp

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

This entry is high risk, so there is no one-click install. Review the code and add the config by hand.

Run in a terminal

claude mcp add --transport stdio freecad -- uvx freecad-mcp

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Run in a terminal

code --add-mcp '{"name":"freecad","type":"stdio","command":"uvx","args":["freecad-mcp"]}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "freecad": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the servers key.

Run in a terminal

codex mcp add freecad -- uvx freecad-mcp

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.freecad]
command = "uvx"
args = ["freecad-mcp"]

If the file already exists, append the block to the end.

Run in a terminal

gemini mcp add -s user freecad uvx freecad-mcp

Or add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "freecad": {
      "type": "local",
      "command": [
        "uvx",
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the mcp key.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

You will need: uv

Checked against the repository on Sep 25, 2026, commit d6bbe4b.

Text for your agent

Clone the repository and copy addon/FreeCADMCP into the FreeCAD addon directory, then start the RPC server in the program. In your MCP configuration add a freecad server with the uvx command and the freecad-mcp argument.

Other ways from the author
{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": ["freecad-mcp"]
    }
  }
}

The MCP server runs through uvx. Separately install the FreeCADMCP addon and start the RPC server inside FreeCAD.

This is third-party code. Review the repository files before installing.

What it does

The server links an AI client to FreeCAD and lets an agent create and edit 3D models, read document contents, run Python scripts inside FreeCAD and launch finite-element analyses. It has two parts: an addon that runs inside FreeCAD and hosts an RPC server, and an MCP server the client launches through uvx. Connections use localhost by default. Through its tool set the agent can assemble a part from a description, build a model from a 2D drawing and design step by step. The repository includes ADK and LangChain integration examples and animated demos.

Who it is for. For engineers, designers and developers who model in FreeCAD with an AI agent.

Good fit when

  • You need to create or change a 3D model in FreeCAD from a description
  • You need to build a part from a 2D drawing
  • You need to run a Python script or FEM analysis inside FreeCAD

Not a fit when

  • FreeCAD is not installed or the addon with its RPC server is not running
  • You only need FreeCAD advice without controlling the application

Example request

Create a flange with four bolt holes in FreeCAD from this sketch

Limitations

It requires FreeCAD with the FreeCADMCP addon installed and its RPC server running inside the program; connections use localhost by default. The MCP server runs through uv or uvx and needs Python 3.12 or newer. The agent can execute arbitrary Python code inside FreeCAD, so run it only with trusted requests.

How to disable. Remove the server from the client's MCP configuration and delete the FreeCADMCP addon from the FreeCAD addon directory.

MCP

Transport
stdio
Authentication
not required

Security check

  • Executes arbitrary Python code inside FreeCAD
  • Creates and changes documents and models in the application on the host

README in short

The README describes an MCP server for controlling FreeCAD from Claude Desktop and other clients: creating and editing models, running scripts, reading documents and FEM analysis. The project has an addon that hosts an RPC server inside FreeCAD and an MCP server launched through uvx. The quick start shows how to clone the repository, copy the addon, start the RPC server and add a freecad server to the client configuration. Separate guides cover installation, configuration, tools, code execution and examples. MIT licensed.

FAQ

What must be running for the server to work?

FreeCAD with the FreeCADMCP addon installed and its RPC server started via the Start RPC Server button in the FreeCAD MCP toolbar.

Which clients does it work with?

Claude Desktop and other MCP clients. The repository also includes ADK and LangChain integration examples.

Editors’ pick

An MCP server with n8n node and template knowledge: the agent picks nodes, validates configs and, with API access, creates workflows in your n8n

MCP serverHigh riskNo VPN needed23KRepository stars
Official

Zapier's official MCP plugin: the agent gets actions across thousands of apps through your Zapier account

PluginHigh risk421Repository stars

A curated list of Claude skills and plugins, plus Composio's own automation skills for 78 SaaS apps

SkillHigh risk75.8KRepository stars

A plugin and CLI catalog for agents: generates command-line interfaces for GUI apps like GIMP and Blender and installs ready ones via CLI-Hub

PluginHigh riskNo VPN needed50.9KRepository stars
Foxx AIFreeCAD MCP

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.