你是否曾经希望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 |
| 开源状态 | 公开状态 |
| Languages | Python |
| 支持平台 | 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可以快速生成多种设计变体。
四、安装教程
系统要求
| 工具 | 用途 | 下载/安装方式 |
|---|---|---|
| FreeCAD | 3D建模软件 | [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工具,提供了场景信息获取和脚本执行功能。
这个项目的最大价值在于:
- AI控制CAD:让AI能够自动创建和修改3D模型
- 场景信息获取:获取文档、对象、视图等完整信息
- 脚本执行:支持任意Python代码,利用FreeCAD API
- 跨平台支持:Windows、macOS、Linux
- MIT许可证:可自由使用和修改
如果你是FreeCAD用户,并且希望用AI来辅助3D建模,FreeCAD MCP插件是一个非常实用的工具。
相机位置和方向信息很实用。
配合其他MCP工具,可以构建设计自动化。
我用它来自动化零件建模。
希望未来能支持更多CAD格式。
脚本执行错误会返回详细错误信息。