Skip to main content
Glama
GadatheGod

FreeCAD MCP

by GadatheGod

FreeCAD MCP

License: MIT FreeCAD Python

A Model Context Protocol (MCP) server that enables AI assistants (Claude Desktop, opencode, etc.) to control FreeCAD β€” a parametric 3D CAD modeler.

Create 3D parts, run FEM analysis, generate drawings, and more β€” all through natural language.

✨ Features

  • 3D Modeling: Create boxes, cylinders, spheres, cones, torus, and more

  • FEM Analysis: Run CalculiX solver for stress/displacement analysis

  • Screenshot Capture: Get view screenshots from any angle

  • Parts Library: Insert pre-made parts from FreeCAD library

  • Custom Python: Execute arbitrary Python code in FreeCAD

  • Remote Connections: Control FreeCAD from another machine**

Sample Model with Opencode + Qwen 3.6 35B A3B + Llama.cpp + Freecad MCP + Mattpocock skills(Freecad Crafted) -> Yes 3d modelling via AI is possible.!.**

STILL ONLY SMALL 3D PARTS ITS ABLE TO MAKE WITH 35B PARAMETER MODEL, BUT FABLE 5 EXECUTES COMPLEX CAD MODELS EVEN HUMANOID ROBOTS !.

Related MCP server: Fusion MCP

πŸ“¦ Installation

1. Install FreeCAD

# Ubuntu/Debian (via Flatpak - recommended)
flatpak install flathub org.freecad.FreeCAD -y

# Or download from https://freecad.org/download/

2. Install FreeCAD Addon

git clone https://github.com/GadatheGod/freecad-mcp-pro
cd freecad-mcp-pro

# Copy addon to FreeCAD Mod directory
cp -r addon/FreeCADMCP ~/.var/app/org.freecad.FreeCAD/config/FreeCAD/Mod/

# Restart FreeCAD

3. Install MCP Server

# Using uv (recommended)
uv sync

# Or using pip
pip install -e .

4. Configure Claude Desktop

Edit ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "freecad": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/freecad-mcp-pro",
        "run",
        "freecad-mcp-pro"
      ]
    }
  }
}

πŸš€ Usage

Start FreeCAD RPC Server

  1. Open FreeCAD

  2. Switch to MCP Addon workbench

  3. Click Start RPC Server in the toolbar

Available Tools

Tool

Description

create_document

Create a new FreeCAD document

create_object

Create 3D objects (boxes, cylinders, etc.)

edit_object

Modify object properties

delete_object

Delete an object

execute_code

Run Python code in FreeCAD

get_view

Get screenshots from any view

get_objects

List all objects in a document

get_object

Get details of a specific object

run_fem_analysis

Run FEM stress analysis

insert_part_from_library

Insert parts from FreeCAD library

Example: Create a Box

{
  "doc_name": "MyPart",
  "obj_name": "BaseBox",
  "obj_type": "Part::Box",
  "obj_properties": {
    "Length": 50,
    "Width": 30,
    "Height": 20,
    "ViewObject": {"ShapeColor": [0.8, 0.2, 0.2, 1.0]}
  }
}

πŸ› οΈ Skills

This repository includes skills for working with FreeCAD via opencode:

Core Skills

  • freecad - General FreeCAD MCP usage and workflows

  • freecad-objects - Quick reference for Part::Box, Part::Cylinder, etc.

Matt Pocock Skills (FreeCAD-tailored)

  • f-grill-with-docs - Interview to sharpen FreeCAD design plans, creates ADRs

  • f-to-spec - Convert conversation into FreeCAD design spec

  • f-to-tickets - Break design into FreeCAD implementation tickets

  • f-implement - Create FreeCAD geometry/analysis based on tickets

  • f-code-review - Review FreeCAD changes against standards and spec

πŸ“š Documentation

  • FreeCAD Wiki: 2,632 markdown files in docs/freecad/

  • Source: Converted from FreeCAD-documentation

  • Addon Docs: See addon/FreeCADMCP/ for RPC server details

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  AI Client  │────▢│  MCP Server  │────▢│  FreeCAD    β”‚
β”‚ (Claude,    β”‚     β”‚ (freecad-mcp-pro)β”‚     β”‚  (RPC)      β”‚
β”‚  opencode)  β”‚     β”‚              β”‚     β”‚             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“„ License

MIT License. See LICENSE for details.

Copyright (c) 2025 Praveen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

πŸ™ Acknowledgments

Original FreeCAD MCP

FreeCAD Documentation

  • Source: FreeCAD-documentation

  • Author: FreeCAD Community

  • License: BSD-3-Clause

  • Description: Automatic markdown-based conversion of the FreeCAD wiki

FreeCAD

  • Website: https://freecad.org

  • License: LGPL-2.1-or-later

  • Description: Open source parametric 3D CAD modeler

Matt Pocock Skills

Tools Used

  • uv - Python package manager

  • MCP - Model Context Protocol

  • FreeCAD - Parametric 3D CAD modeler

🀝 Contributing

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

πŸ“ž Support

πŸ“Š Stats

Contributors Stars Forks

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…

  • MCP server for AI dialogue using various LLM models via AceDataCloud

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GadatheGod/freecad-mcp-pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server