☰
BlenderMCP 实战指南:把 AI 接进 Blender 的完整配置流程
2026/10/21 12:50:39 网站建设 项目流程

BlenderMCP 实战指南:把 AI 接进 Blender 的完整配置流程

【免费下载链接】blender-mcpCommunity plugin to control Blender 3D with any LLM of your choice项目地址: https://gitcode.com/GitHub_Trending/bl/blender-mcp

刚装好 Blender,想让 Claude 帮你建场景,结果消息发出去半天没动静——要么连接超时,要么 AI 假装没听见。BlenderMCP 是一个开源 Blender AI 插件:它靠 MCP 这条标准通道,把 Blender 和 Claude、Cursor 这些 AI 客户端接起来,你用自然语言说话,它负责建物体、改材质、截视口图。不想手动点几百次菜单的人,往下看。

动手之前,先看懂它是怎么连上的

AI 客户端、MCP 服务端、Blender 插件各管什么

整套系统是三个人接力干一件活:

  1. AI 客户端(Claude 桌面版、Cursor):你聊天的窗口,负责把指令派出去。
  2. MCP 服务端(blender-mcp这个 Python 程序):翻译官兼调度员,把 AI 的话转成 Blender 听得懂的命令。MCP(Model Context Protocol)就是一个标准接口:AI 工具和软件之间的"普通话",两边都懂它,就不用各自开发适配。
  3. Blender 插件(一个addon.py文件):真正动手的师傅,建物体、调材质、截视口图全在 Blender 进程里完成。

缺了任何一个,链路就断在中间:AI 说得出话,Blender 却一动不动。

9876 端口和两处"端口设置"为什么必须对得上

端口你可以理解成餐厅的取餐号:Blender 插件在 9876 号窗口开着等活干,MCP 服务端拿着同样的 9876 号窗口去敲,号不对就永远等不到菜。

关键坑在于:这个号在两个地方各写了一遍——MCP 服务端那边是环境变量BLENDER_PORT(没设就是 9876),Blender 侧边栏面板里也有一个端口输入框(默认同样是 9876)。两边必须一致,否则就是一方在 9876 等、另一方往 9877 送,怎么等都等不来。

从零跑通:完整配置流程

下面按检查点推进,每过一个点再继续下一个。

检查点一:uv 一次性装好

服务端用 Python 写,uv是它的启动器加包管理器,uvx命令就装在它里面。按系统挑一条:

# macOS brew install uv # Linux curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Windows 装完把%USERPROFILE%\.local\bin加进 PATH,然后重开终端。验证方式:

uvx --version

有版本号输出来就算过点。⚠️ 别用pip install uv凑数——它经常不生成uvx命令,后患无穷。

检查点二:让 AI 客户端拉起服务

以 Claude 桌面版为例:设置 → 开发者 → 编辑配置,把下面这段贴进claude_desktop_config.json:

{ "mcpServers": { "blender": { "command": "uvx", "args": ["blender-mcp"] } } }

这段告诉 Claude:启动时用它来找blender-mcp这个服务进程。改完配置要把客户端完全退出再重开,热重载不认。Cursor 在 macOS / Linux 上写法和上面完全一样;Windows 上的写法不一样,放到下一节单独讲。

检查点三:把 addon.py 装进 Blender 并启用

整个 Blender 侧插件就是仓库里的addon.py一个文件(addon.py)。

  1. Blender 里进Edit → Preferences → Add-ons
  2. 点Install...,选中addon.py
  3. 列表里勾选Interface: Blender MCP启用

装完 Blender 的 3D 视图侧边栏就会多出 BlenderMCP 面板,后面所有连接操作都在那。

检查点四:连接并发出第一句指令

  1. 3D 视图按N唤出侧边栏,切到BlenderMCP标签
  2. 点Connect to Claude
  3. 面板显示Running on port 9876这类字样,说明插件端窗口已开,检查点四过

回 Claude 发一句"创建一个低多边形地牢场景,里面有火把、石柱和一扇铁门"。AI 回复里出现锤子图标,表示 Blender 工具已激活。💡 第一条指令偶尔没反应是常态——首次建 socket 连接的常见现象,原句再发一遍就好。

检查点五:用截图让 AI 自查

建完别急着关窗口,追一句:"截个视口图,确认一下场景状态。"视口截图工具会把画面以 base64 形式回传给 AI——AI 等于睁开了眼,能发现自己把火把建到了墙里。

然后闭环就转起来了:操作 → 截图验证 → 修正。哪里不对就直接说"火把往左挪一点",AI 会基于截图和场景信息改,而不是盲改。这个习惯建议从第一天就养成。

按你的环境改配置

所有可动的旋钮一张表放齐,都是环境变量或面板字段:

配置项默认值什么时候改
BLENDER_HOSTlocalhostBlender 不在本机:Docker / WSL / 远程主机
BLENDER_PORT9876端口被占,比如改成9877
BLENDER_MCP_DISABLE_TELEMETRY未设置(匿名统计默认开)想彻底关掉匿名使用统计,设true
插件侧边栏 Port 字段9876只要改过BLENDER_PORT,这里同步改

Windows 上的 Cursor

Windows 的图形界面程序不继承你终端的 PATH——终端里找得到的命令,GUI 程序直接看不见。所以 Cursor 得先调起cmd再执行uvx:

{ "mcpServers": { "blender": { "command": "cmd", "args": ["/c", "uvx", "blender-mcp"] } } }

cmd /c的作用就是"先开一个命令行窗口,再在里面跑后面的命令",PATH 自然就带上了。macOS / Linux 的 Cursor 继续用上面uvx原写法,不用动。

Docker / WSL / 远程主机

原则只有一条:Blender 要监听在 MCP 进程够得着的地方,也就是改BLENDER_HOST的取值:

  1. Blender 在 Docker 容器里、服务端在宿主机:BLENDER_HOST=host.docker.internal
  2. WSL2 里连 Windows 上的 Blender:先试127.0.0.1,不行再换成 Windows 主机 IP
  3. 截图以 base64 直接返回,不依赖共享临时目录,远程场景照样能用
"env": { "BLENDER_HOST": "host.docker.internal", "BLENDER_PORT": "9876" }

Python 版本打架时钉死版本

机器上同时有 conda、pyenv,uvx 就可能挑错解释器。把服务端钉在一个干净的 Python 上:

"args": ["--python", "3.11", "blender-mcp"], "env": { "UV_PYTHON_PREFERENCE": "only-managed" }

only-managed的意思是"只用 uv 自己管理的 Python,别碰我系统里那些"。Apple Silicon 上如果还报 x86_64 编译错,把版本换成3.11-aarch64。

命令行直接跑

不走配置文件的话,Claude Code CLI 一行注册:

claude mcp add blender uvx blender-mcp

手动调参也是同样的组合拳:

export BLENDER_HOST='localhost' export BLENDER_PORT=9876 export BLENDER_MCP_DISABLE_TELEMETRY='true' uvx blender-mcp

⚠️ 但别把uvx blender-mcp当常驻进程手挂在终端里——它本该由客户端在后台拉起。手动跑时界面"卡住"没输出不是死机,是它在静默等客户端连进来,Ctrl-C退出即可。

连上之后,这几个玩法值得试

  • 视口截图闭环:前面检查点五说过的那套"操作 → 截图 → 修正"。让 AI 的每一步都看得见,是稳定出图的核心。
  • 任意 Python 执行:execute_blender_code工具能在 Blender 里跑任意 Python,材质控制到最细都走这条路。比如"把立方体变成金色金属",AI 背后干的事就是建一个节点材质、设 Base Color / Metallic / Roughness、再赋给对象:
mat = bpy.data.materials.new("GoldMaterial") mat.use_nodes = True mat.node_tree.nodes["Principled BSDF"].inputs['Base Color'].default_value = (0.9, 0.7, 0.1, 1) mat.node_tree.nodes["Principled BSDF"].inputs['Metallic'].default_value = 1.0

⚠️它等于把 Blender 的控制权整个交给了 AI,用之前先把文件保存好,这是铁律。

  • Poly Haven 管道:侧边栏勾选启用后,让 AI"用 Poly Haven 的 HDRI、岩石和植被做个海滩氛围",它会自己搜索下载贴图、HDRI 和模型,HDR 直接设为世界环境。
  • Sketchfab 管道:插件偏好里填好 API Key 后,让 AI"在 Sketchfab 上搜一把中世纪椅子并导入"。支持先取缩略图预览、你确认后再下载,还能按目标尺寸归一化——椅子 1 米、桌子 0.75 米。
  • 生成式建模(Hyper3D Rodin / Hunyuan3D):前两条管道都找不到想要的东西时再上它,描述一下需求,AI 生成带材质的模型直接进场景。

选型一句话:具体现成的物件先搜 Sketchfab,通用家具和场景素材走 Poly Haven,都找不到才用生成式。

报错时按现象对表

现象 / 报错原文可能原因一行解法
spawn uvx ENOENTGUI 客户端不继承终端 PATH,找不到uvxwhich uvx/where uvx拿全路径填进"command",改完重启客户端
连接超时,AI 说连不上 Blender插件端窗口没开、两边端口不一致,或用了blender -b后台模式侧边栏确认 Running;核对BLENDER_PORT与面板端口;确认 Blender 是带 GUI 启动的
命令卡死、超时或流式响应错乱请求太复杂撞上 180 秒 socket 超时;或两个客户端同时挂着服务大任务拆成小指令分步喂;同一时间只保留一个客户端
Python 编译报错(尤其 Apple Silicon 拉 x86_64 包)conda / pyenv 的解释器和依赖打架--python 3.11+UV_PYTHON_PREFERENCE=only-managed;再不行uv cache clean blender-mcp && uvx --refresh blender-mcp清缓存刷新

另外,服务端超时会直接提示Timeout waiting for Blender response,并明确说后台模式下命令永远不会执行(src/blender_mcp/server.py);而连接用的锁与 socket 流逻辑就在同文件的BlenderConnection里,端口和面板注册逻辑在 addon.py。升级时把最新addon.py替换进 Blender,再把客户端配置里的 blender 服务删掉重加一遍。

发车前检查

  • ☐uvx --version有版本号输出
  • ☐ 客户端配置已写入,且客户端是完全退出后重开的
  • ☐addon.py已启用,侧边栏点 Connect 后显示 Running
  • ☐ 第一条指令发出后,要求 AI 截图核对
  • ☐ 至少试过一次 Poly Haven 或 Sketchfab

哪一步卡住了,把报错原文、客户端类型、系统版本贴过来,按现象对表基本都能定位。

【免费下载链接】blender-mcpCommunity plugin to control Blender 3D with any LLM of your choice项目地址: https://gitcode.com/GitHub_Trending/bl/blender-mcp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询