使用说明
FreeCAD MCP服务器
模型上下文协议(MCP)服务器,使AI助手能够与FreeCAD交互进行3D建模和CAD操作。
特性
- 基本几何图形创建:创建具有指定尺寸的长方体、圆柱体、球体
- 布尔运算:在对象之间执行并集、剪切和常用操作
- 文档管理:保存文档和列出对象
- 自定义脚本执行:在FreeCAD环境中执行任意Python脚本
- 交叉平台的:支持Windows、macOS和Linux
先决条件
- FreeCAD安装:从安装FreeCAD freecad.org
- 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安装
- 默认路径:
- 窗户:
C:\Program Files\FreeCAD 0.21\bin\FreeCAD.exe - macOS:
/Applications/FreeCAD.app/Contents/MacOS/FreeCAD - Linux:
/usr/bin/freecad
- 窗户:
用法
运行服务器
npm start
克劳德桌面
将以下内容添加到MCP客户端配置中(~/库/应用程序支持/Claude/Claude_desktop_config.json): { “mcpServers”:{ “freecad mcp服务器”:{ “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可以:
- 生成三维模型:通过组合基本形状创建复杂的几何图形
- 参数化设计:根据要求修改尺寸和参数
- 装配创建:使用布尔运算构建多零件部件
- 设计自动化:通过脚本执行复杂的建模工作流
AI交互示例
- “创建内径为20mm、外径为40mm的轴承箱”
- “制作一个M6螺纹的螺栓,长50mm”
- “设计一个简单的支架,以固定相距30mm的两根10mm的杆”
发展
项目结构
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在布尔运算之前验证对象名称
