关于 FreeCAD MCP Server
FreeCAD MCP Server 让 AI 助手通过 MCP 操作 FreeCAD,适用于 3D 建模和 CAD 操作。它支持基础几何体、布尔运算、文档管理及在 FreeCAD 环境中执行 Python 脚本。
主要功能
- 01创建基础几何体
- 02执行布尔运算
- 03保存文档并列出对象
- 04运行自定义 Python 脚本
适用场景
- 01创建盒体、圆柱体或球体
- 02组合或切割模型对象
- 03保存模型并检查文档对象
- 04在 FreeCAD 中自动执行建模脚本
MCP 相关
该 MCP 服务向兼容的 AI 客户端提供 FreeCAD 建模工具,包括几何体创建、布尔运算、文档操作和脚本执行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
FreeCAD MCP 服务
一个模型上下文协议(MCP)服务,可让 AI 助手使用 FreeCAD 进行 3D 建模和 CAD 操作。
功能
- 基本几何体创建:创建指定尺寸的长方体、圆柱体和球体
- 布尔运算:对对象执行并集、切割和交集运算
- 文档管理:保存文档并列出对象
- 自定义脚本执行:在 FreeCAD 环境中执行任意 Python 脚本
- 跨平台:支持 Windows、macOS 和 Linux
前置条件
- FreeCAD 安装:从 freecad.org 安装 FreeCAD
- Node.js:版本 18 或更高
- TypeScript:用于开发
安装
- 克隆此存储库:
git clone https://github.com/lucygoodchild/freecad-mcp-server.git
cd freecad-mcp-server
- 安装依赖项:
npm install
- 构建项目:
npm run build
- 配置 FreeCAD 路径(如有需要):
- 服务会尝试自动检测 FreeCAD 的安装位置
- 默认路径:
- Windows:
C:\Program Files\FreeCAD 0.21\bin\FreeCAD.exe - macOS:
/Applications/FreeCAD.app/Contents/MacOS/FreeCAD - Linux:
/usr/bin/freecad
- Windows:
使用方法
运行服务
npm start
Claude Desktop
将以下内容添加到 MCP 客户端配置文件(~/Library/Application Support/Claude/claude_desktop_config.json): { "mcpServers": { "freecad-mcp-server": { "command": "node", "args": ["/path/to/free-cad-mcp/build/index.js"] } } } 请确保将 "/path/to/free-cad-mcp/build/index.js" 替换为实际路径,并在完成更改后重启 Claude
可用工具
create_box
创建具有指定尺寸的长方体。
{
"name": "create_box",
"arguments": {
"length": 50,
"width": 30,
"height": 20,
"name": "MyBox"
}
}
create_cylinder
创建具有指定半径和高度的圆柱体。
{
"name": "create_cylinder",
"arguments": {
"radius": 10,
"height": 50,
"name": "MyCylinder"
}
}
create_sphere
创建具有指定半径的球体。
{
"name": "create_sphere",
"arguments": {
"radius": 15,
"name": "MySphere"
}
}
boolean_operation
对两个对象执行布尔运算。
{
"name": "boolean_operation",
"arguments": {
"operation": "union",
"object1": "Box",
"object2": "Cylinder",
"result_name": "Combined"
}
}
运算:union、cut、common
save_document
保存当前 FreeCAD 文档。
{
"name": "save_document",
"arguments": {
"filename": "my_model.FCStd",
"path": "/path/to/save"
}
}
list_objects
列出当前文档中的所有对象。
{
"name": "list_objects",
"arguments": {}
}
execute_python_script
在 FreeCAD 环境中执行自定义 Python 脚本。
{
"name": "execute_python_script",
"arguments": {
"script": "box = doc.addObject('Part::Box', 'CustomBox')\nbox.Length = 100"
}
}
与 AI 助手集成
此服务实现了模型上下文协议,因此兼容支持 MCP 的 AI 助手。AI 可以:
- 生成 3D 模型:通过组合基本形状创建复杂几何体
- 参数化设计:根据需求修改尺寸和参数
- 创建装配体:使用布尔运算构建多零件装配体
- 设计自动化:通过脚本执行复杂建模工作流
AI 交互示例
- “创建一个轴承座,内径为 20 mm,外径为 40 mm”
- “制作一个带 M6 螺纹、长度为 50 mm 的螺栓”
- “设计一个简单支架,用于固定两根相距 30 mm 的 10 mm 杆件”
开发
项目结构
src/
index.ts # Main server implementation
build/ # Compiled JavaScript output
package.json # Dependencies and scripts
tsconfig.json # TypeScript configuration
构建
npm run build
开发模式
npm run dev
故障排除
未找到 FreeCAD
- 确认已安装 FreeCAD,且可从命令行访问
- 如有需要,更新服务构造函数中的
freecadPath - 检查 FreeCAD 可执行文件是否具有适当的权限
脚本执行错误
- 确保 FreeCAD Python 环境包含所需模块
- 检查脚本语法——Python 脚本会在 FreeCAD 的 Python 解释器中执行
- 在执行布尔运算前,使用
list_objects确认对象名称
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。