1. 零基础也能让 Blender 自己建模?先搞清楚 MCP-Blender 到底在干什么
如果你搜到这篇,大概率是两种情况:要么你完全没碰过 Blender,但想快速搞出一个能渲染的 3D 场景;要么你已经装了 Blender,却被节点编辑器、修改器堆栈、材质球这些概念劝退。MCP-Blender 这个组合,恰好就是给这两类人准备的——它把「自然语言描述」翻译成 Blender 能执行的 Python 操作,你不需要记住bpy.ops.mesh.primitive_cube_add()这种 API,只需要说清楚你想要什么。
MCP 全称 Model Context Protocol,是一套让 AI 模型与外部工具通信的标准化协议。BlenderMCP 则是在 Blender 端跑一个 socket 服务,把 Blender 的 Python 执行能力暴露给支持 MCP 的 AI 客户端。整个链路是这样的:你在 AI 客户端里输入「创建一个低多边形地牢场景」,客户端通过 MCP 协议把指令发给 BlenderMCP 插件,插件在 Blender 内部执行对应的 Python 脚本,模型、材质、灯光就出现在视口里了。
适合谁?三类人最值得试:一是做游戏原型需要快速铺场景的独立开发者;二是做电商/产品展示需要批量出 3D 素材的设计师;三是想学 Blender Python 但不想从零啃文档的初学者。你不需要会建模,但需要能装软件、能复制粘贴配置、能看懂报错信息。
我实测下来,从零到生成第一个可渲染场景,顺利的话 40 分钟左右。卡点基本都在环境配置和 MCP 连接上,建模本身反而是最快的环节。下面按完整链路拆开讲,每一步都给可复制的配置和验证动作。
2. 前置准备:Blender、Python、UV 与 TaoToken 接入配置
2.1 软件清单与版本要求
先把要装的东西列清楚,避免中途缺依赖:
| 组件 | 版本要求 | 作用 |
|---|---|---|
| Blender | 3.0 及以上,推荐 4.x | 3D 创作主体 |
| Python | 3.10+ | Blender 内置,但外部工具链需要 |
| uv / uvx | 最新版 | 运行 blender-mcp 服务 |
| AI 客户端 | 支持 MCP 协议 | 发送自然语言指令 |
| TaoToken API Key | — | 驱动模型对话与代码生成 |
Blender 去官网下载安装包,Windows 选.msi,macOS 选.dmg,安装时勾选「Add to PATH」方便命令行调用。Python 如果系统没有,Windows 用微软商店或 python.org 安装,macOS 用brew install python@3.11。
uv 是 Rust 写的 Python 包管理器,比 pip 快很多,blender-mcp 官方推荐用 uvx 直接运行。安装命令:
# macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows PowerShell powershell -c "irm https://astral.sh/uv/install.ps1 | iex"装完验证:
uv --version uvx --version两个命令都能输出版本号才算成功。如果uvx提示找不到命令,检查 PATH 是否包含~/.local/bin(macOS/Linux)或%USERPROFILE%\.local\bin(Windows)。
2.2 TaoToken 账号与 API Key 获取
MCP 客户端需要调用大模型来理解你的自然语言指令并生成 Blender Python 代码,所以你得有一个能用的模型服务。TaoToken 提供统一的 API 接入,支持多种模型。
操作路径:打开 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite ,注册登录后创建一个 API Key,复制保存。这个 Key 后面要填到 MCP 客户端的配置里。
注意:Key 只显示一次,丢了就重新生成。不要把它提交到 Git 仓库或公开分享。
2.3 BlenderMCP 插件安装
插件地址在 GitHub 的ahujasid/blender-mcp。下载 ZIP 包后,打开 Blender:
编辑 → 偏好设置 → 插件 → 安装 → 选择 ZIP 文件 → 勾选启用「Interface: Blender MCP」。
启用后,在 3D 视口按N打开侧边栏,能看到「BlenderMCP」标签页。点开后有「Start MCP Server」按钮,点击后状态变成「Running on port 9876」就说明服务起来了。
这一步的坑:Blender 4.x 的插件安装界面和 3.x 略有不同,如果找不到「安装」按钮,检查是否在「插件」标签页而不是「扩展」标签页。另外 ZIP 包不要解压,直接选 ZIP 安装。
3. 可复制配置:MCP 客户端 JSON 与 Blender 端设置
3.1 MCP 客户端配置片段
不同客户端的配置文件位置不一样,但核心结构相同。以常见的 MCP 客户端为例,配置文件通常是mcp.json或settings.json,路径参考:
- macOS:
~/Library/Application Support/<客户端名>/mcp.json - Windows:
%APPDATA%\<客户端名>\mcp.json - Linux:
~/.config/<客户端名>/mcp.json
配置内容:
{ "mcpServers": { "blender": { "command": "uvx", "args": ["blender-mcp"], "env": { "BLENDER_HOST": "localhost", "BLENDER_PORT": "9876" } } } }如果你用的是 Cline 或类似支持 MCP 的编辑器插件,配置入口在设置里的「MCP Servers」→「Add Server」,把上面的 JSON 粘贴进去即可。
关键点:command必须是uvx,不是uv。args里blender-mcp是包名,uvx 会自动下载并运行。env里的 host 和 port 要和 Blender 插件里显示的一致,默认就是 localhost:9876。
3.2 模型 ID 与 Base URL 配置
MCP 客户端本身不直接调模型,但如果你用的客户端需要配置模型服务(比如 Cline、Continue 这类),需要填 TaoToken 的 Base URL 和 Key:
{ "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的Key", "model": "claude-sonnet-4-20250514" }模型 ID 根据你实际使用的模型填,TaoToken 控制台里有可用模型列表。Base URL 不要加 UTM 参数,直接写https://taotoken.net/api。
3.3 Blender 端插件设置
Blender 侧边栏的 BlenderMCP 面板里,有几个参数需要确认:
- Port: 9876(默认,如果被占用改成 9877 并同步改客户端配置)
- Host: localhost
- Auto Start: 可选,勾选后 Blender 启动时自动开服务
点「Start MCP Server」后,面板会显示连接状态。如果显示红色或报错,先检查端口是否被其他程序占用:
# macOS / Linux lsof -i :9876 # Windows netstat -ano | findstr 9876有输出就说明端口被占,换端口或杀掉占用进程。
3.4 三件套对照表
无论你用哪个客户端,MCP-Blender 的接入三件套是固定的:
| 配置项 | 值 | 说明 |
|---|---|---|
| Base URL | https://taotoken.net/api | 模型服务地址 |
| API Key | sk-xxx | TaoToken 控制台生成 |
| Model ID | 按需选择 | 如 claude-sonnet-4-20250514 |
这三项填错任何一项,都会导致模型无法响应或返回 401。建议先在 TaoToken 的模型对话页面测试 Key 是否可用,再填到 MCP 客户端里。
4. 验证请求:从提示词到可渲染 3D 场景的端到端实测
4.1 连接验证
配置完成后重启 MCP 客户端。在对话窗口输入:
列出当前 Blender 场景中的所有对象如果连接正常,AI 会调用 BlenderMCP 的get_scene_info工具,返回类似:
{ "objects": ["Cube", "Light", "Camera"], "materials": ["Material"], "frame_current": 1 }这说明链路通了。如果返回超时或local proxy failed,跳到第 5 节排查。
4.2 第一个场景:低多边形地牢
在客户端输入:
创建一个低多边形地牢场景,包含石墙、火把、地面和一只守护金币的巨龙。使用等轴测视角,灯光偏暖色。AI 会生成一段 Blender Python 脚本并执行。执行过程在 Blender 里能看到对象逐个出现。实测下来,第一次生成大约需要 20-40 秒,取决于模型响应速度和场景复杂度。
生成后,Blender 视口里应该能看到:灰色石墙围成的房间、橙色火把光源、深色地面、一只低多边形龙模型。如果龙没出现,可能是模型把「巨龙」理解成了抽象形状,补充指令:
把龙替换成更具体的低多边形龙模型,鳞片深绿色,带金色纹理4.3 材质动态调整
继续输入:
将地面材质改为深灰色石材,粗糙度 0.8,金属度 0.1AI 会调用execute_blender_code执行类似这样的代码:
import bpy mat = bpy.data.materials.get("GroundMaterial") if mat is None: mat = bpy.data.materials.new(name="GroundMaterial") mat.use_nodes = True bsdf = mat.node_tree.nodes.get("Principled BSDF") bsdf.inputs["Base Color"].default_value = (0.2, 0.2, 0.2, 1.0) bsdf.inputs["Roughness"].default_value = 0.8 bsdf.inputs["Metallic"].default_value = 0.1 obj = bpy.data.objects.get("Ground") if obj: if obj.data.materials: obj.data.materials[0] = mat else: obj.data.materials.append(mat)执行后视口里的地面材质会实时变化。这一步验证了 MCP 不仅能建模,还能改属性。
4.4 直接执行 Python 代码
如果你想手动控制,可以在客户端输入:
执行 Blender Python 代码:bpy.ops.mesh.primitive_monkey_add(location=(0, 0, 2))这会在坐标 (0,0,2) 处添加一个猴子模型。这个能力适合做插件开发或复杂逻辑扩展,比如批量生成对象、读取外部数据驱动建模。
4.5 渲染输出
场景满意后,输入:
设置渲染引擎为 EEVEE,分辨率 1920x1080,采样 64,渲染当前帧并保存到桌面AI 会生成渲染代码并执行。渲染完成后,桌面会出现 PNG 文件。打开检查效果,如果太暗或太亮,继续用自然语言调整灯光强度。
5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth
5.1 401 Unauthorized
报错原文:
Error: 401 Unauthorized - invalid api key原因:TaoToken API Key 填错、过期或未正确传入。排查步骤:
- 打开 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 确认 Key 状态。
- 检查配置文件里
apiKey字段是否有多余空格或换行。 - 确认 Base URL 是
https://taotoken.net/api,不要加尾部斜杠。 - 在模型对话页面测试同一 Key,如果那里也报 401,说明 Key 本身有问题,重新生成。
5.2 local proxy failed
报错原文:
MCP error: local proxy failed to connect to blender on port 9876原因:MCP 客户端连不上 Blender 插件。排查:
- Blender 是否在运行?插件是否已启用?
- 侧边栏 BlenderMCP 面板是否显示「Running」?
- 端口是否一致?客户端配置的 port 和插件面板显示的要相同。
- 防火墙是否拦截了 localhost 连接?临时关闭防火墙测试。
- 如果 Blender 重启过,需要重新点「Start MCP Server」。
5.3 reading choices 报错
报错原文:
Error reading choices: unexpected end of JSON input原因:模型返回的响应格式异常,通常是模型服务返回了非预期内容。排查:
- 检查模型 ID 是否填写正确,不存在的模型会返回错误格式。
- 降低请求复杂度,把长指令拆成短指令。
- 确认 TaoToken 账户余额充足,欠费会导致响应异常。
- 换一个模型测试,排除单一模型的问题。
5.4 OAuth 相关报错
报错原文:
OAuth callback failed: redirect_uri mismatch原因:部分 MCP 客户端使用 OAuth 流程连接远程服务,回调地址不匹配。排查:
- 确认客户端版本支持当前 OAuth 流程。
- 检查回调地址是否被防火墙或代理拦截。
- 如果客户端支持 API Key 模式,优先用 Key 而不是 OAuth。
- 清除客户端缓存后重新登录。
5.5 模型生成效果不理想
不是报错,但很常见。解决方案:
- 描述更具体:「龙」→「低多边形龙,深绿色鳞片,金色眼睛,翅膀展开」
- 分步生成:先生成场景框架,再逐个添加对象
- 用
execute_blender_code手动微调参数 - 结合 Hyper3D 等插件提升细节精度
6. 长期编码与 Agent 场景:把 MCP-Blender 用顺手的几个建议
如果你打算把 MCP-Blender 当成日常工具,而不是玩一次就丢,有几个经验值得参考。
第一,把常用场景做成模板。比如「电商产品展示」「游戏关卡原型」「建筑可视化」各存一套提示词,每次改几个参数就能复用。MCP 客户端一般支持保存对话历史,善用这个功能。
第二,Blender 端保持一个干净的基础场景。每次开始新项目前,删掉默认 Cube,保存一个空场景为启动文件。这样 AI 生成的对象不会和默认对象混淆。
第三,复杂场景分阶段生成。一次性让 AI 生成「整个城市」很容易翻车,分成「地面 → 建筑群 → 道路 → 灯光 → 材质」五步,每步验证后再继续。实测下来,分步生成的可用率比一次性生成高很多。
第四,Python 代码能力是天花板。MCP 最终执行的是 Blender Python API,如果你能看懂bpy的基本用法,就能在 AI 生成的基础上手动优化。建议花半小时过一遍 Blender Python 快速入门,后面效率会翻倍。
第五,长期跑 Agent 任务的话,Coding Plan 比按次调用更划算。TaoToken 的 Coding Plan 适合高频编码场景,具体可以看 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 。
第六,接入文档放在手边。MCP 协议和 BlenderMCP 插件都在迭代,遇到新报错先查文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 。
最后说一个我踩过的坑:Blender 4.2 之后插件系统改成了扩展机制,旧版 ZIP 安装方式可能不生效。如果安装后侧边栏看不到 BlenderMCP 标签,去「编辑 → 偏好设置 → 扩展」里找,或者用命令行安装:
blender --command extension install blender_mcp.zip装完重启 Blender,再按N检查侧边栏。这个细节官方文档没写清楚,但卡住过不少人。