FreeCAD MCP
此存储库是一个FreeCAD MCP,允许您从Claude Desktop控制FreeCAD。
演示
设计法兰
设计一辆玩具车
根据二维图纸设计零件
输入二维图纸
演示
这是对话历史。 https://claude.ai/share/7b48fd60-68ba-46fb-bb21-2fbb17399b48
安装插件
FreeCAD插件目录为
-
窗户:
%APPDATA%\FreeCAD\Mod\ -
雨衣:
~/Library/Application\ Support/FreeCAD/Mod/ -
Linux:
-
Ubuntu:
~/.FreeCAD/Mod/或~/snap/freecad/common/Mod/(如果从snap安装FreeCAD) -
Debian:
~/.local/share/FreeCAD/Mod
请把 addon/FreeCADMCP 目录到插件目录。
BASH``` 1 2 3git clone https://github.com/neka-nat/freecad-mcp.git cd freecad-mcp cp -r addon/FreeCADMCP ~/.FreeCAD/Mod/
安装插件时,需要重新启动FreeCAD。
您可以从工作台列表中选择“MCP插件”并使用它。
您可以通过“FreeCAD MCP”工具栏中的“启动RPC服务器”命令启动RPC服务器。
### 自动启动RPC服务器
默认情况下,每次打开FreeCAD时都必须手动启动RPC服务器。要自动启动它,请执行以下操作:
1. 打开 **FreeCAD MCP** 菜单(先切换到MCP插件工作台)
2. 检查 **自动启动服务器**
设置已保存到 `freecad_mcp_settings.json` 并在会话中持续存在。在下次启动FreeCAD时,应用程序加载完成后,RPC服务器将自动启动。
您可以通过取消选中随时禁用它 **自动启动服务器** 在同一菜单中。
## 设置Claude桌面
预安装 [uvx](https://docs.astral.sh/uv/guides/tools/) 是必需的。
您需要编辑Claude Desktop配置文件, `claude_desktop_config.json`.
对于用户。
JSON```
1
2
3
4
5
6
7
8
9
10{
"mcpServers": {
"freecad": {
"command": "uvx",
"args": [
"freecad-mcp"
]
}
}
}
如果你想保存令牌,你可以设置 only_text_feedback 到 true 并且仅使用文本反馈。
JSON``` 1 2 3 4 5 6 7 8 9 10 11{ “mcpServers”: { “freecad”: { “command”: “uvx”, “args”: [ “freecad-mcp”, “—only-text-feedback” ] } } }
对于开发者。
首先,您需要克隆此存储库。
BASH```
1git clone https://github.com/neka-nat/freecad-mcp.git
JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13{ “mcpServers”: { “freecad”: { “command”: “uv”, “args”: [ “—directory”, “/path/to/freecad-mcp/”, “run”, “freecad-mcp” ] } } }
## 远程连接
默认情况下,RPC服务器不接受远程连接并侦听 `localhost`。要从网络上的另一台计算机控制FreeCAD,请执行以下操作:
### 1.在FreeCAD中启用远程连接
在 **FreeCAD MCP** 工具栏:
1. 检查 **远程连接** --RPC服务器将绑定到 `0.0.0.0` (所有接口)在下次重启时。出于安全原因,它只接受来自中指定的IP地址或CIDR子网的连接 **允许的IP** 现场。默认情况下,这是 `127.0.0.1`.
2. 点击 **配置允许的IP** 并输入允许连接的IP地址或CIDR子网的逗号分隔列表,例如:
1192.168.1.100, 10.0.0.0/24
`127.0.0.1` 始终为默认值。无效条目将被拒绝,并显示错误对话框。更改这些设置后重新启动RPC服务器。
### 2.将MCP服务器指向远程主机
通过 `--host` 使用运行FreeCAD的机器的IP地址或主机名标记:
JSON```
1
2
3
4
5
6
7
8
9
10
11{
"mcpServers": {
"freecad": {
"command": "uvx",
"args": [
"freecad-mcp",
"--host", "192.168.1.100"
]
}
}
}
这 --host 值在启动时进行验证——它必须是有效的IPv4/IPv6地址或主机名。
工具
create_document:在FreeCAD中创建新文档。create_object:在FreeCAD中创建新对象。edit_object:在FreeCAD中编辑对象。delete_object:在FreeCAD中删除对象。execute_code:在FreeCAD中执行任意Python代码。insert_part_from_library:从中插入一个零件 零件库.get_view:获取活动视图的屏幕截图。get_objects:获取文档中的所有对象。get_object:获取文档中的对象。get_parts_list:获取零件列表 零件库.
贡献者
由以下材料制成 控制锁.