通过 MCP 使用 Claude Desktop 控制 FreeCAD
最近发现了一个有趣的项目:通过 Model Context Protocol 实现 FreeCAD 与 Claude Desktop 的集成。我一直在寻找一种方法,可以从图纸快速绘制简单的 3D 模型或零件,而无需在 CAD 界面中手动点击草图。neka-nat/freecad-mcp 仓库正是解决这个问题的方案。你可以用文字描述零件,或附加带图纸的图像,语言模型就会直接在打开的 FreeCAD 窗口中构建几何体。
这是什么
该项目是一个 MCP 服务器,将 FreeCAD 与 Claude Desktop 等客户端连接起来。整个系统由两部分组成:一个用于 FreeCAD 的插件(Addon),在编辑器内部启动本地 RPC 服务器;以及一个 Python 工具,将 MCP 协议命令转换为对该 RPC 服务器的调用。

因此,模型可以查看当前场景、创建对象、执行任意 Python 代码,甚至运行结构分析计算。
实际使用效果
仓库作者演示了几个实际使用场景。
根据描述建模
你可以要求制作一个具有指定尺寸的法兰或玩具车。Claude 通过工具调用创建草图、拉伸面并倒圆角。

从 2D 图纸重建 3D 零件
如果你将带有尺寸标注的标准工程图纸拖入聊天窗口,神经网络会解析投影、生成草图并构建 3D 模型。

分析尺寸后,Claude 会在编辑器中逐步组装零件:

可用的工具和功能
该仓库为语言模型提供了十几个现成的函数:
create_document、create_object、edit_object、delete_object用于基本几何操作execute_code用于在 FreeCAD 会话中执行原始 Python 代码get_view用于从特定角度捕获当前视口的屏幕截图run_fem_analysis用于通过 CalculiX 求解器运行 FEM 计算,并返回最大 Von Mises 应力和变形
一个有趣的细节:每个工具都可以返回等轴测或其他视图的场景截图。得益于此,模型可以直观地检查每个步骤的结果。如果你想节省上下文和 token,可以使用 --only-text-feedback 标志禁用图像传输。
安装和配置
你需要 FreeCAD 1.0 或 1.1 版本以及 uvx 工具才能开始。
首先,将插件复制到 FreeCAD 的 mod 文件夹:
git clone https://github.com/neka-nat/freecad-mcp.git
cd freecad-mcp
# Для Ubuntu / Debian
mkdir -p ~/.FreeCAD/Mod/
cp -r addon/FreeCADMCP ~/.FreeCAD/Mod/
# Для macOS
mkdir -p ~/Library/Application\ Support/FreeCAD/v1-1/Mod/
cp -r addon/FreeCADMCP ~/Library/Application\ Support/FreeCAD/v1-1/Mod/
重启 FreeCAD 后,工作台列表中会出现 "MCP Addon"。

选择它,然后点击工具栏上的 "Start RPC Server"。你也可以在那里启用程序启动时自动启动服务器。

然后在配置文件 claude_desktop_config.json 中注册服务器:
{
"mcpServers": {
"freecad": {
"command": "uvx",
"args": [
"freecad-mcp"
]
}
}
}
如果 FreeCAD 在本地网络的另一台计算机上运行,你可以使用 --host <ip-адрес> 标志启用远程连接,并直接在插件界面中配置允许的 IP 列表。
使用感受
这个项目非常适合工程师、使用 3D 打印机的创客,以及经常为 FreeCAD 编写自动化脚本的开发者。与其花大量时间学习编辑器的 Python API,不如让 Claude 编写代码并立即应用到文档中。当然,对于包含数百个零件的复杂装配,仍然需要手动控制,但对于原型设计和处理简单图纸来说,这个工具非常好用。
相关项目