
FreeCAD MCP 远程连接与安全完整指南IP 白名单、认证 Token 与 SSH 隧道【免费下载链接】freecad-mcpFreeCAD MCP(Model Context Protocol) server项目地址: https://gitcode.com/gh_mirrors/fr/freecad-mcpFreeCAD MCP 让 Claude Desktop 等 MCP 客户端直接控制 FreeCAD完成建模、跑脚本、FEM 分析等操作。当你想让另一台电脑MCP 客户端控制远程 FreeCAD 时就需要用到FreeCAD MCP 远程连接功能通过 IP 白名单限制来源、用认证 Token 拦截未授权请求或在不可信网络上用 SSH 隧道加密传输。本文带你从零配置并讲清每一步背后的安全原理。先了解 FreeCAD MCP 的两大组件 FreeCAD MCP 由两部分组成FreeCAD 插件运行在 FreeCAD 内部的 RPC 服务器默认监听localhost:9875只接受本机连接MCP Server由 MCP 客户端如 Claude Desktop通过uvx freecad-mcp启动负责与 AI 对话并转发命令。下图演示了 AI 通过 FreeCAD MCP 自动设计法兰的完整过程默认配置下连接只走localhost这是最安全但只能本机使用的模式。想跨机器控制时请按下面步骤操作。一步开启远程连接配置 IP 白名单⚠️ 重要开启远程连接后RPC 服务器不做任何流量加密且默认没有任何认证。任何能访问到端口的程序都可以调用所有工具包括execute_code以你的用户权限在 FreeCAD 内运行任意 Python 代码。因此远程连接必须配合认证 Token 使用。在FreeCAD MCP菜单中操作见 docs/configuration.md勾选Remote Connections—— 服务器将绑定0.0.0.0所有网卡但只响应白名单内的地址点击Configure Allowed IPs输入逗号分隔的 IP 或 CIDR 网段例如192.168.1.100, 10.0.0.0/24。非法条目会被弹窗拒绝修改后重启 RPC 服务器生效。先在视图菜单中切换到MCP Addon工作台即可看到 FreeCAD MCP 工具栏白名单的解析与校验逻辑位于 addon/FreeCADMCP/rpc_server/ip_filter.py所有设置保存在 addon/FreeCADMCP/rpc_server/settings.py 管理的freecad_mcp_settings.json中。白名单请保持最小化只加你真正要用的那台客户端机器的 IP能用单个 IP 就不要放整个网段。最快配置 MCP 客户端--host参数客户端配置只需加一个--host参数指向运行 FreeCAD 的机器该值会在启动时校验必须是合法 IPv4/IPv6 地址或主机名{ mcpServers: { freecad: { command: uvx, args: [freecad-mcp, --host, 192.168.1.100] } } }修改配置后重启 MCP 客户端即可。--host的参数解析见 src/freecad_mcp/server.py。 注意无头脚本headless execution运行在MCP 服务器所在机器上与--host无关其文件路径必须在那台机器上可访问。设置认证 Token防止他人执行任意代码IP 白名单只是粗筛真正把关的是FreeCAD MCP 认证 Token在FreeCAD MCP菜单点击Set Auth Token填入一个长随机值可用这条命令生成python -c import secrets; print(secrets.token_urlsafe(32))重启 RPC 服务器。此后服务器只响应携带正确 Token 的请求未授权请求会被拒绝并记录在 FreeCAD 控制台。清空该字段即可关闭认证。让 MCP 服务器携带同一个 Token推荐用环境变量FREECAD_MCP_TOKEN{ mcpServers: { freecad: { command: uvx, args: [freecad-mcp, --host, 192.168.1.100], env: { FREECAD_MCP_TOKEN: FreeCAD 中设置的 Token } } } }为什么推荐环境变量命令行参数--auth-token也能工作但同机其他用户可以在进程列表中看到命令行内容Token 会泄露。Token 校验采用常量时间比较防时序攻击同时兼容Bearer和 HTTP Basic 两种头格式实现见 tests/test_auth.py 的测试用例与 addon/FreeCADMCP/rpc_server/ip_filter.py 中的authorization_ok函数。 由于 Token 明文传输在你不控制的网络如公司公共 Wi-Fi上请改用下面的 SSH 隧道方案。更安全的替代方案SSH 隧道不开放端口、流量全程加密——在运行 MCP 服务器的机器上执行ssh -N -L 9875:localhost:9875 userfreecad-host这样本地localhost:9875就直通远程机器的 RPC 端口效果等同本机连接FreeCAD 端保持 Remote Connections 关闭默认状态服务器只响应发往localhost/127.0.0.1的请求MCP 客户端配置保持默认--host localhost无需任何 Token安全边界完全交给 SSH 的密钥认证与加密来保证。这是官方文档推荐的不信任网络首选方案。启动验证与常见错误排查配置完成后点击Start RPC Server底部状态栏会出现启动信息✅ 成功RPC Server started at 127.0.0.1:41757 (PID ...)远程模式还会显示Allowed IPs与Auth token required字样❌ 失败示例RPC Server failed to start: OSError: [errno 98] Address already in use——端口被占用通常是之前的实例没停干净先点Stop RPC Server再重试安全清单配置完成前自查 ✅检查项建议远程连接开着但没设 Token❌ 绝不允许控制台也会打印警告白名单范围越窄越好单 IP 优于网段网络是否可信不可信网络改用 SSH 隧道Token 存放方式用FREECAD_MCP_TOKEN环境变量不用--auth-token服务器还拒绝了什么所有来自网页浏览器的请求防 CSRF/DNS 重绑定攻击值得一提即使不设 Token服务器也硬性拒绝任何网页发起的请求带Origin头的 POST 一律 403恶意网页无法调用它执行代码。相关文档与源码路径速查远程连接官方说明docs/configuration.md安装步骤与截图docs/installation.md工具列表含execute_codedocs/tools.mdIP 白名单与 Token 校验实现addon/FreeCADMCP/rpc_server/ip_filter.pyRPC 服务器启动逻辑addon/FreeCADMCP/rpc_server/rpc_server.pyMCP 端--host/ Token 处理src/freecad_mcp/server.py按白名单 Token 必要时SSH 隧道三层防护配置你的 FreeCAD MCP 远程连接就能既方便又安心地工作了 【免费下载链接】freecad-mcpFreeCAD MCP(Model Context Protocol) server项目地址: https://gitcode.com/gh_mirrors/fr/freecad-mcp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考