
MCP for Blender 安装指南四步跑通 AI 建模全链路【免费下载链接】mcp-for-blenderCommunity plugin to control Blender 3D with any LLM of your choice. Not affiliated with the official Blender Foundation.项目地址: https://gitcode.com/GitHub_Trending/bl/mcp-for-blender指令发出去,转了几分钟,回来一句Timeout waiting for Blender response;Blender 侧边栏还是 Not connected。问题几乎都不在你,而在链路某一环没接通。MCP for Blender 是开源插件,让任意大模型用自然语言操控 Blender 3D:建物体、改材质、跑 Python。本文带你走到终点——视口里出现第一个物体,且 AI 能截图自查。四步上手:从空机到接通装出 uvx 启动器目标:系统里有一个能随时拉起服务端的uvx命令。# macOS brew install uv # Linux curl -LsSf https://astral.sh/uv/install.sh | sh# Windows:装完把 %USERPROFILE%\.local\bin 加进 PATH,再重开终端 powershell -c irm https://astral.sh/uv/install.ps1 | iex⚠️ 别用pip install uv凑数:它经常不生成uvx,还会把 uv 藏进客户端看不到的环境里——下一步客户端直接报找不到命令,你得从头再来。✓ 确认:终端跑uvx --version,打印出版本号才算过关。把客户端配置指向服务目标:客户端一启动就自动拉起 MCP 服务端。以 Claude 桌面版为例:设置 → 开发者 → 编辑配置,在claude_desktop_config.json贴入:{ mcpServers: { blender: { command: uvx, args: [mcp-for-blender] } } }包名是mcp-for-blender(旧名blender-mcp也能跑,新装用新名)。Cursor / VS Code / Codex 同理,都是一条 uvx 命令拉起服务。⚠️ 改完不彻底重启就不生效:客户端只在启动那一刻读一次这个文件。另外同一时间只留一个客户端挂这个服务——两条客户端共用一条 socket,响应会串线。✓ 确认:重启后工具列表出现 blender 条目,Claude 里条目带锤子图标。用 Codex 插件的话,视口会直接开在对话旁边:把插件复制进 Blender目标:Blender 里的师傅就位。一条命令:uvx mcp-for-blender install-addon它把插件写进 Blender 的 addons 目录(存为blender_mcp.py,被替换的旧文件留.bak),并打印落盘位置。命令找不到你的 Blender 就手动装:git clone https://gitcode.com/GitHub_Trending/bl/mcp-for-blender在 Blender 里编辑 → 偏好设置 → 插件 → 安装…,选仓库根目录的addon.py,再启用Interface: MCP for Blender。⚠️ 插件装完不启用,侧边栏就是空的。你看到找不到 MCP for Blender 标签,九成是没启用,不是面板被藏了。✓ 确认:3D 视口按N键,侧边栏出现MCP for Blender标签页。点亮端口,发第一条指令目标:插件开始监听,指令有回音。在MCP for Blender标签里勾上想用的资源库(Poly Haven 免密钥),端口保持默认9876,点Connect to MCP server。⚠️ 第一条指令偶尔没反应,直接重发:socket 通道是首条命令到达时才真正建立,第一次超时是已知行为,不是故障。✓ 确认:面板从 Not connected 变成 Connected on port 9876;客户端发一句创建一个低多边形地牢,要有火把和石柱,视口开始冒物体。三秒看懂数据通路[AI 客户端 Claude/Cursor] ⇄stdio⇄ [MCP 服务端 mcp-for-blender] ⇄TCP:9876⇄ [Blender 插件 addon.py]组件打个比方一句话职责AI 客户端站在工坊门口喊单的人说出你要什么,模型负责翻译成工具调用MCP 服务端把订单誊成工单的抄写员自然语言拆成 JSON 工单,逐张派给 Blender 并回执端口 9876巷子里的固定收件地址两端地址写对,服务端才找得到人Blender 插件守着车床的师傅真正起物体、换材质、跑 Python 的那只手MCP 协议就是客户端和服务端共说的普通话,命令和回执都是 JSON:{ type: create_object, params: { type: CUBE } }插件执行后回{ status: success, result: ... };出错时status为error并带message。协议细节在 src/blender_mcp/server.py。三组递进实操:能跑 → 能改 → 能产出任务一:一句话建场景,AI 截图自查验证标准:AI 能按视口截图说出场景内容,并按你的指出修正。确认面板显示 Connected on port 9876 → 预期状态行带对勾图标发送:创建一个低多边形地牢:火把、石柱、一扇铁门 → 预期视口冒出物体追加:用视口截图确认一下场景状态 → 预期 AI 回传视口截图并描述内容挑个毛病:把火把往左挪一点,再让它截图 → 预期截图与你的话一致原理一句话:师傅的车床前装了镜子,每走一步回头看一眼,建模从盲改变成操作 → 截图 → 修正的闭环。任务二:跑 Python,把立方体变金色金属验证标准:材质面板 Principled BSDF 节点 Metallic 1、Roughness 0.2。⚠️execute_blender_code能执行任意 Python,等于把 Blender 控制权整个交给 AI——动手前先保存文件,翻车时唯一的后悔药。保存当前 .blend → 预期磁盘上写出文件让 AI 新建一个立方体 → 预期视口出现方块发送:把这个立方体变成金色金属材质,粗糙度 0.2 → 预期表面变金色切到材质编辑器核对 → 预期 Metallic 1.0、Roughness 0.2原理一句话:整台车床交了出去,自由度没有上限,风险也没有上限。任务三:Poly Haven 铺海滩,再导出 GLB验证标准:世界变成 HDRI 光照,场景里出现岩石和植被物体,且导出目录里出现能用其他程序打开的.glb文件。⚠️ 素材下载走 Blender 主线程,UI 会卡到下载完成;分辨率每上一档体积约翻四倍——离镜头远的素材 1k / 2k 就够,别贪 4k。侧边栏勾选Poly Haven(CC0 免费,免密钥无账号) → 预期展开子面板发送:用 Poly Haven 的 HDRI、岩石和植被做个海滩氛围 → 预期世界变 HDRI 光照,场景出现岩石、植被追加:把当前场景导出为 GLB → 预期export_scene返回 .glb 文件路径原理一句话:插件内置了素材仓库,搜索、挑选、拉进场景一条龙,一个网页都不用开。默认值不合身时:配置速查先对号入座:你面对的情况看哪小节不想动配置,只想知道默认行为什么都不改时系统默认做了什么9876 被别的程序占了换端口:两端号码必须一致服务端在 Docker / 另一台机器跨机器连接:地址写在 env 里uvx 起服务刷编译错 / Python 冲突钉死 Python 版本连最小统计都不想上报关掉遥测什么都不改时系统默认做了什么BLENDER_HOST默认localhost,服务端只找本机的 BlenderBLENDER_PORT默认9876,插件面板的端口输入框默认也是 9876单次 socket 请求超时上限 180 秒遥测是 opt-in:默认只有一条最小匿名用量记录,提示词、代码、截图默认不收集连接参数优先级:命令行参数 环境变量 默认值换端口:两端号码必须一致触发条件:9876 被占,或要同时开两个 Blender 实例。{ command: uvx, args: [mcp-for-blender, --port, 9877] }或在env里写BLENDER_PORT: 9877(args 优先于 env),同时把插件面板端口改成同一个号。验证:两边都重连,面板显示 Connected on port 9877,指令有回音。⚠️ 只改一边,等于往一个已注销的号码拨号,永远没人接。跨机器连接:地址写在 env 里触发条件:MCP 服务端跑在 Docker 里或另一台机器(仓库自带Dockerfile)。镜像默认BLENDER_HOSThost.docker.internal,macOS / Windows 的 Docker Desktop 开箱可达宿主机的 Blender;Linux 上该域名不存在,改用 host 网络:{ command: docker, args: [run, -i, --rm, --networkhost, -e, BLENDER_HOSTlocalhost, mcp-for-blender] }验证:视口截图能正常返回——截图走 base64 回传,不依赖共享目录,远程也能用。⚠️ 插件的 socket 没有认证和加密,任何够得到这个端口的人都能在你的 Blender 里跑 Python;跨机器保持 localhost SSH 隧道,别把端口直接暴露到网络。钉死 Python 版本触发条件:机器上有 conda / pyenv,或新 CPython 没有现成 wheel,uvx 拉起服务时各种编译报错。{ command: uvx, args: [--python, 3.11, mcp-for-blender], env: { UV_PYTHON_PREFERENCE: only-managed } }怀疑旧缓存捣乱就清掉重拉:uv cache clean mcp-for-blender blender-mcp uvx --refresh mcp-for-blender。验证:客户端不再刷编译错误。⚠️ 仓库里的.python-version只是贡献者的提示,uvx不看它。关掉遥测触发条件:连那条最小匿名用量记录都不想发。{ command: uvx, args: [mcp-for-blender], env: { DISABLE_TELEMETRY: true } }验证:功能不受影响,服务端不再有任何上报。排错:按症状对号入座先定位再动手:你看到的故障走哪组客户端起不来,报 spawn 错误第 1 组服务起来了,连 Blender 一直超时第 2 组简单指令正常、复杂请求超时或卡住第 3 组以上都试过第 4 组:终极三板斧第 1 组:客户端根本起不来报错原文(CtrlF 对号入座):failed to start: spawn uvx ENOENT终端执行which uvx(macOS/Linux)或where uvx(Windows) → 预期打印完整路径把绝对路径填进command;Windows 也可command: cmd, args: [/c, uvx, mcp-for-blender]→ 预期配置指向绝对路径(图形界面客户端不继承终端 PATH,这就是终端里明明能跑却 ENOENT 的原因)彻底退出客户端再重启 → 预期工具列表出现 blender 条目兜底:重装 uv,uvx --version重新确认。第 2 组:连不上 Blender,一直超时报错原文:Timeout waiting for Blender response - try simplifying your request. If Blender is running headless (blender -b), commands never execute; run Blender with a GUI or via xvfb-run -a blender instead回 Blender 侧边栏确认面板不是 Not connected → 预期看到 Connected on port …核对插件面板端口与BLENDER_PORT/--port→ 预期两边数字一致确认 Blender 是带界面启动的(blender -b后台模式下命令永远执行不了) → 预期指令有回音兜底:侧边栏 Disconnect 再重连,端口再核一遍。第 3 组:简单指令正常、复杂请求超时或卡住把大任务拆成小指令分步发(单次上限 180 秒) → 预期每步都有回执检查是否 Cursor 和 Claude 同时挂着 MCP 服务 → 同一时间只保留一个客户端侧边栏断开重连,重建连接 → 预期后续命令恢复正常兜底:继续简化请求,或重启 Blender。第 4 组:终极三板斧重启 Blender 插件:Disconnect → Connect to MCP server彻底重启 MCP 客户端把配置里的 blender 条目删掉重新添加这一套基本覆盖九成幽灵问题。跑通之后往哪深挖src/blender_mcp/server.py:BlenderConnection类,锁加 socket 流保证命令不乱序,连接参数解析也在这addon.py:面板、端口逻辑和命令分发(type路由)全在这个文件里README.md:Environment Variables 与 Troubleshooting 两节,官方排错的最终依据今天逐项打勾:☐uvx --version有版本号输出☐ 客户端配置写好并重启,锤子图标出现☐uvx mcp-for-blender install-addon装好插件,面板显示 Connected on port 9876☐ 让 AI 建一个小场景,用视口截图自查一轮☐ 勾选 Poly Haven,完成一次 HDRI 或模型导入☐ 用export_scene把场景导出成 GLB哪一步卡住了,直接带三样东西来:报错原文、操作系统版本、客户端类型——齐了,定位最快。【免费下载链接】mcp-for-blenderCommunity plugin to control Blender 3D with any LLM of your choice. Not affiliated with the official Blender Foundation.项目地址: https://gitcode.com/GitHub_Trending/bl/mcp-for-blender创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考