你是否曾经希望AI能够直接控制FreeCAD,自动创建3D模型、修改对象、执行脚本?今天要介绍的开源项目FreeCAD MCP插件,正是为了实现这个目标而设计的。它是一个FreeCAD插件,通过实现MCP协议,启用FreeCAD和AI之间的通信。

项目基本信息

信息项详情
项目名称FreeCAD MCP插件
GitHub地址https://github.com/bonninr/FreeCAD_MCP
项目描述一个FreeCAD插件,通过实现模型上下文协议(MCP)来启用FreeCAD和Claude AI之间通过Claude Desktop进行通信。
作者bonninr
开源协议MIT License
开源状态公开状态
LanguagesPython
支持平台Windows / macOS / Linux
最后更新2026-04-23

一、项目介绍

FreeCAD MCP插件是一个让AI能够与FreeCAD交互的MCP工具。它通过服务器-客户端架构,允许用户执行命令并获取当前FreeCAD文档和场景的相关信息。

这个插件提供了以下功能:

  • get_scene_info:获取当前FreeCAD文档的全面信息,包括文档属性、对象信息、草图数据、视图信息
  • run_script:在FreeCAD上下文中执行任意Python代码

二、核心优势

AI控制CAD

让AI能够直接控制FreeCAD,自动化3D建模任务。

场景信息获取

可以获取文档属性、对象类型、位置、旋转、形状属性等。

脚本执行

支持执行任意Python代码,利用FreeCAD的完整API。

跨平台支持

支持Windows、macOS和Linux。

开源免费

MIT许可证,可自由使用和修改。

三、适用场景

AI辅助3D建模

让AI根据自然语言描述自动创建3D模型。

CAD自动化

自动化重复性CAD操作,如批量创建对象、修改属性。

参数化设计

AI可以生成参数化脚本,动态调整模型。

设计探索

AI可以快速生成多种设计变体。

四、安装教程

系统要求

工具用途下载/安装方式
FreeCAD3D建模软件[https://freecad.org]
Python运行环境FreeCAD自带Python
MCP客户端如Claude Desktop等根据客户端官网下载

安装步骤

第一步:安装插件

freecad_mcp目录放置在FreeCAD模块目录:

  • Windows:%APPDATA%/FreeCAD/Mod/
  • Linux:~/.FreeCAD/Mod/
  • macOS:~/Library/Preferences/FreeCAD/Mod/

第二步:重启FreeCAD

从工作台选择器中选择"FreeCAD MCP"工作台。

第三步:配置Claude Desktop

找到配置文件,添加:

Windows

{
  "mcpServers": {
    "freecad": {
      "command": "C:\\ProgramData\\anaconda3\\python.exe",
      "args": [
        "C:\\Users\\USER\\AppData\\Roaming\\FreeCAD\\Mod\\freecad_mcp\\src\\freecad_bridge.py"
      ]
    }
  }
}

Linux

{
  "mcpServers": {
    "freecad": {
      "command": "/usr/bin/python3",
      "args": [
        "/home/USER/.FreeCAD/Mod/freecad_mcp/src/freecad_bridge.py"
      ]
    }
  }
}

macOS

{
  "mcpServers": {
    "freecad": {
      "command": "/usr/local/bin/python3",
      "args": [
        "/Users/USER/Library/Preferences/FreeCAD/Mod/freecad_mcp/src/freecad_bridge.py"
      ]
    }
  }
}

第四步:重启Claude Desktop

保存配置后,重启Claude Desktop。

五、使用示例

示例1:获取场景信息

用户指令:“获取当前FreeCAD文档的详细信息”

AI会调用get_scene_info工具,返回:

  • 文档名称、标签、对象数量
  • 每个对象的类型、位置、旋转
  • 草图几何形状和约束
  • 相机位置和方向

示例2:执行脚本创建模型

用户指令:“创建一个20x20x20的立方体”

AI会调用run_script工具,执行类似下面的脚本:

import FreeCAD
doc = FreeCAD.ActiveDocument
box = doc.addObject("Part::Box", "MyBox")
box.Length = 20
box.Width = 20
box.Height = 20
doc.recompute()

示例3:通过Python socket调用

import socket
import json

# 连接到服务器
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('localhost', 9876))

# 获取场景信息
command = {"type": "get_scene_info"}
client.sendall(json.dumps(command).encode('utf-8'))
response = client.recv(4096)
print(json.loads(response.decode('utf-8')))

client.close()

六、常见问题

问题1:插件不显示在工作台

解决方案:确认插件目录路径正确,重启FreeCAD。

问题2:Python路径不正确

解决方案:使用FreeCAD自带的Python解释器路径。

问题3:连接失败

解决方案:确认FreeCAD MCP工作台已激活,服务器正在运行。

问题4:脚本执行错误

解决方案:检查Python语法,确保使用FreeCAD API。

问题5:跨平台路径问题

解决方案:根据操作系统调整配置文件中的路径。

七、总结

FreeCAD MCP插件是一个让AI能够控制FreeCAD的MCP工具,提供了场景信息获取和脚本执行功能。

这个项目的最大价值在于:

  1. AI控制CAD:让AI能够自动创建和修改3D模型
  2. 场景信息获取:获取文档、对象、视图等完整信息
  3. 脚本执行:支持任意Python代码,利用FreeCAD API
  4. 跨平台支持:Windows、macOS、Linux
  5. MIT许可证:可自由使用和修改

如果你是FreeCAD用户,并且希望用AI来辅助3D建模,FreeCAD MCP插件是一个非常实用的工具。

标签: 开发者工具

已有 34 条评论

    1. PaulaPull PaulaPull

      参数化设计可以动态调整模型。

    2. QuinnRT QuinnRT

      AI可以快速生成设计变体。

    3. RitaRun RitaRun

      文档属性包括名称、标签、对象数量。

    4. SamScreen SamScreen

      对象信息包括类型和形状属性。

    5. TinaTool TinaTool

      草图数据包含几何形状和约束。