FreeCAD远程控制插件

通过Claude Desktop远程控制FreeCAD的插件,支持自动化设计、零件库管理和远程连接功能。

作者 By neka-nat
本地部署 CAD自动化 远程控制
GitHub

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_feedbacktrue 并且仅使用文本反馈。

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:获取零件列表 零件库.

贡献者

由以下材料制成 控制锁.