Skip to main content
Glama
neka-nat
by neka-nat
README.md
[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/neka-nat-freecad-mcp-badge.png)](https://mseep.ai/app/neka-nat-freecad-mcp)

# FreeCAD MCP

Control FreeCAD from Claude Desktop and other MCP clients. Create and edit models,
run Python scripts, inspect documents, and run FEM analyses.

## Demo

Design a flange:

![Designing a flange in FreeCAD](./assets/freecad_mcp4.gif)

See [more demos and examples](docs/examples.md) for a toy car, modelling from a
2D drawing, and agent integrations.

## Quick start

You need FreeCAD and [uv / uvx](https://docs.astral.sh/uv/guides/tools/).
FreeCAD MCP has two components: an addon running inside FreeCAD and an MCP server
launched by your client.

### 1. Install and start the FreeCAD addon

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

Copy `addon/FreeCADMCP` into your [FreeCAD addon directory](docs/installation.md#addon-directory),
then restart FreeCAD. Select the **MCP Addon** workbench and click
**Start RPC Server** in the **FreeCAD MCP** toolbar.

See the [installation guide](docs/installation.md) for platform-specific commands
and screenshots.

### 2. Connect Claude Desktop

Add the following entry to `claude_desktop_config.json`:

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

Restart Claude Desktop to load the configuration, keep FreeCAD open with its RPC
server running, and ask Claude to create a model. Connections use `localhost` by
default.

## Documentation

| Guide | Contents |
| --- | --- |
| [Installation](docs/installation.md) | Addon directories, setup screenshots, running from source |
| [Configuration](docs/configuration.md) | Auto-start, text feedback, remote connections |
| [Tools](docs/tools.md) | Available tools, screenshots, FEM analysis |
| [Code execution](docs/execution.md) | GUI execution, background jobs, headless scripts, timeout troubleshooting |
| [Demos and examples](docs/examples.md) | Design demos, FEM example, ADK and LangChain integrations |

## Contributors

<a href="https://github.com/neka-nat/freecad-mcp/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=neka-nat/freecad-mcp" />
</a>

Made with [contrib.rocks](https://contrib.rocks).

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes, such as create_document, create_object, delete_object, and get_view, which are clearly separated. However, there is some potential overlap between create_object and edit_object, as edit_object is described as a fallback for when create_object cannot handle object creation, which might cause confusion about when to use each.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as create_document, delete_object, get_view, and execute_code. This uniformity makes the tool set predictable and easy to understand.

Tool Count5/5

With 10 tools, the server is well-scoped for a CAD modeling environment like FreeCAD. It covers essential operations like document and object management, code execution, and view handling, which aligns with the expected functionality for such a domain.

Completeness4/5

The tool set provides good coverage for core CAD operations, including creating, editing, deleting, and retrieving objects and documents, along with view management and part library access. A minor gap is the lack of a tool for saving or exporting documents, which could be a useful addition for full workflow support.

Maintenance

ActivityActive
ResponsivenessWithin a week