# freecad-mcp: Control FreeCAD from Claude Desktop via MCP

> freecad-mcp is an MIT-licensed Model Context Protocol server that lets Claude Desktop and other MCP clients create and edit 3D models in FreeCAD, run Python scripts inside the FreeCAD environment, inspect documents, and execute FEM analyses. It consists of two components: a FreeCAD addon that exposes an RPC server, and an MCP server launched by the client.

**neka-nat/freecad-mcp** — FreeCAD MCP(Model Context Protocol) server

- Repository: https://github.com/neka-nat/freecad-mcp
- Stars: 2,544 · Forks: 313
- Language: Python
- License: MIT
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/neka-nat-freecad-mcp

## What freecad-mcp Connects and Why It Matters

FreeCAD is a parametric 3D modeler. It has a Python API, but using it requires writing Python inside the FreeCAD console or constructing scripts manually. freecad-mcp bridges that console to MCP, meaning Claude Desktop, ADK integrations, LangChain pipelines, and other MCP clients can send commands to FreeCAD as part of a conversation or an automated workflow.

The README summarizes the capability as: create and edit models, run Python scripts, inspect documents, and run FEM analyses. FEM (Finite Element Method) analysis is the capability that separates this from simple model creation: it means the AI client can drive a complete simulation workflow from geometry definition through mesh generation to stress or thermal analysis, all from natural language prompts.

## Two-Component Architecture: Addon and MCP Server

freecad-mcp is not a single process. It has two parts that must both be running. The FreeCAD addon, located in `addon/FreeCADMCP`, runs inside FreeCAD itself and exposes an RPC server on localhost. The MCP server, packaged as the Python package `freecad-mcp`, is launched by the MCP client (Claude Desktop or another) and communicates with the addon over that local connection.

This architecture means FreeCAD must be open and the addon's RPC server must be started before any MCP client operation can proceed. The README makes this explicit: keep FreeCAD open with its RPC server running, and connections use localhost by default. The addon workbench is called MCP Addon, and the RPC server is started from the FreeCAD MCP toolbar by clicking Start RPC Server.

The configuration guide at docs/configuration.md covers auto-start options, text feedback settings, and remote connections. Remote connections are supported, meaning the MCP server and FreeCAD do not need to be on the same machine, though the README uses localhost as the default.

## Installing freecad-mcp: Addon Setup and Claude Desktop Configuration

The README provides a two-step quick start. The first step sets up the FreeCAD addon:

```bash
git clone https://github.com/neka-nat/freecad-mcp.git
cd freecad-mcp
```

After cloning, copy the `addon/FreeCADMCP` folder into your FreeCAD addon directory. The full list of platform-specific addon directory paths is in docs/installation.md. After copying, restart FreeCAD, select the MCP Addon workbench, and click Start RPC Server.

The second step connects Claude Desktop by adding an entry to `claude_desktop_config.json`:

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

Restart Claude Desktop after adding this configuration. The MCP server runs via uvx, which means uv must be installed. The project requires Python 3.12 or newer, as specified in the pyproject.toml `.python-version` file and the `requires-python = ">=3.12"` field.

## Available Tools and FEM Analysis

The full list of tools the MCP server exposes is documented in docs/tools.md, which includes screenshots. The README does not enumerate every tool inline, but the examples in `examples/adk/`, `examples/cantilever_fem.py`, and `examples/langchain/` show the range of supported workflows.

The FEM example, `examples/cantilever_fem.py`, is a concrete reference: it shows a full workflow from geometry creation through FEM analysis for a cantilever beam. For teams considering this tool, the FEM integration is the most technically significant capability, since it moves beyond simple geometry creation into engineering simulation territory.

The docs/examples.md file covers additional demos including a toy car model, modelling from a 2D drawing, and agent integrations. The ADK and LangChain integration examples in the examples/ directory show how to use freecad-mcp with frameworks other than Claude Desktop.

## Dependency Footprint and Version Compatibility

The MCP server itself is intentionally lightweight. The pyproject.toml lists two production dependencies: `mcp[cli]>=1.28.1,<3` and `validators>=0.34.0`. The heavy dependency, FreeCAD itself, is not installed through pip: it must be installed as a desktop application before the addon can be deployed.

The package is at version 0.1.25, which signals active development rather than a stable API. There are no GitHub release tags, meaning version increments are tracked through the pyproject.toml version field and commits rather than through a published changelog tied to releases. The last push was on 2026-09-24, confirming recent activity.

Python 3.12 is the minimum version for the MCP server. FreeCAD version compatibility is not documented inline in the README; the installation guide at docs/installation.md is the place to check platform-specific requirements. Teams on older FreeCAD versions may encounter addon directory structures or API differences not covered by the current addon code.

## Limitations: What freecad-mcp Cannot Do

The most direct limitation is that the addon requires FreeCAD to be running and the RPC server to be manually started before any operation. There is an auto-start configuration option documented in docs/configuration.md, but it does not remove the requirement for FreeCAD to be open. This makes freecad-mcp unsuitable for unattended batch processing scenarios where FreeCAD would need to be launched and shut down programmatically.

The README does not document which specific FreeCAD workbenches and features are accessible through the MCP tools. FreeCAD has many workbenches including Part Design, Sketcher, Arch, and others. The tool surface is defined by what the addon exposes, and the README points to docs/tools.md for the current list rather than enumerating it inline.

The FEM analysis capability requires FreeCAD's FEM workbench and its dependencies, which must be installed separately from the base FreeCAD package on some platforms. The README does not document this requirement explicitly, so testing the FEM example before committing to a FEM-based workflow is the safe path.

## freecad-mcp Compared to FreeCAD's Own Python Console

FreeCAD has a built-in Python console that can execute any Python API call directly. The difference is the interface: the console is a terminal inside the FreeCAD application window, and operations are typed or pasted as Python. freecad-mcp replaces that interaction with an MCP protocol connection, which means any MCP client, including Claude Desktop running in a separate window, can issue commands in natural language and receive results.

The gain is conversational context and the ability to wire FreeCAD into larger agent workflows. An ADK agent or a LangChain chain can call FreeCAD as one step in a multi-step pipeline. The loss is that every operation goes through the RPC layer, adding latency, and complex Python scripts that work in the console may need to be adapted if the MCP tool surface does not expose every FreeCAD API directly.

## Conclusion

freecad-mcp is the right tool for CAD engineers and developers who want to drive FreeCAD with natural language through Claude Desktop or another MCP-capable client. The two-component architecture, with an addon running inside FreeCAD and an MCP server launched externally, means both must be running simultaneously for any operation to succeed. Teams that use FreeCAD for final production files rather than iterative design may find the setup overhead justified: the FEM analysis integration is a concrete capability, not just model creation. Before adopting it, verify that your FreeCAD version is compatible by consulting the installation guide at docs/installation.md, since the repository has no GitHub release tags and the addon directory structure is the definitive reference for platform-specific setup steps.

## FAQ

### Does FreeCAD have MCP support?

Not natively. freecad-mcp is a third-party addon and MCP server that adds MCP support to FreeCAD. It installs as a FreeCAD addon that exposes an RPC server, plus a separate MCP server package launched by the client. Both must be running simultaneously for the connection to work.

### How do I install FreeCAD MCP?

Clone the repository, copy the addon/FreeCADMCP folder into your FreeCAD addon directory, restart FreeCAD, select the MCP Addon workbench, and click Start RPC Server. Then add a freecad entry using uvx to your claude_desktop_config.json and restart Claude Desktop. Platform-specific addon directory paths are in docs/installation.md.

### Does freecad-mcp support FEM analysis?

Yes. The README lists FEM analysis as one of the supported operations alongside model creation, Python script execution, and document inspection. A cantilever FEM example is in examples/cantilever_fem.py, and the tools documentation at docs/tools.md covers the available analysis tools.

## Sources

- [Issues](https://github.com/neka-nat/freecad-mcp/issues)
- [License: MIT](https://github.com/neka-nat/freecad-mcp/blob/main/LICENSE)
- [neka-nat/freecad-mcp on GitHub](https://github.com/neka-nat/freecad-mcp)
- [README](https://github.com/neka-nat/freecad-mcp/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/neka-nat-freecad-mcp
