在 3D 创作领域,Blender 一直是免费且功能强大的工具。但传统使用方式仍高度依赖手动操作和 Python 脚本编写。近年来,随着大模型能力提升,以及 Model Context Protocol(MCP)这类标准化协议的出现,一种新的交互方式开始涌现:直接用自然语言驱动 Blender。
Blender MCP(GitHub 仓库:github.com/ahujasid/bl…)正是这一方向的代表性项目。它通过 MCP 协议,将 Blender 与支持该协议的各类 LLM 客户端(Claude Desktop、Cursor、VS Code、Codex 等)连接起来,实现实时、双向的场景操控。
截至目前,该仓库已获得超过 2.8 万 Star,Fork 数也超过 2600,社区活跃度较高,并且仍在持续迭代。
项目定位与核心价值
Blender MCP 的目标很明确:让用户通过自然语言完成 Prompt-assisted 的 3D 建模、场景创建与操作。
它不是简单地把文本转成图片再导入,而是真正在运行中的 Blender 实例里执行操作——创建物体、调整材质、查询场景状态、执行任意 Python 代码,甚至拉取外部资产或调用 AI 生成模型。
这种能力对以下人群尤其有实际意义:
- 需要快速验证想法的设计师或产品经理
- 不擅长或不愿写大量脚本的创作者
- 希望把 AI 能力融入现有 Blender 工作流的人
- 学习 3D 的初学者,想用对话方式降低上手门槛
项目采用 MIT 协议,属于第三方社区开发(非 Blender 官方),这一点在 README 中也有明确声明。
技术架构简述
整个系统由两个核心组件构成:
-
Blender 插件(
addon.py)
运行在 Blender 内部,创建一个基于 socket 的服务器。它负责接收指令、执行对应操作,并返回结果。插件会在 Blender 的 3D 视图侧边栏提供一个「MCP for Blender」面板,方便启动/停止服务。 -
MCP Server(Python 实现,位于
src/blender_mcp)
作为中间层,对接各种 MCP 客户端。客户端通过标准输入输出与 MCP Server 通信,MCP Server 再通过 socket 与 Blender 插件交互。
这种设计带来几个好处:
- 客户端可以是任意支持 MCP 的工具,不绑定特定模型
- Blender 本身保持相对独立,插件只负责执行
- 支持 Docker 方式运行 MCP Server(Blender 仍在本机运行)
通信是双向的:AI 不仅可以下指令,还可以查询当前场景信息,再根据反馈继续操作。这比单向“生成结果”的模式更接近真实协作。
主要功能一览
项目目前支持的能力可以归纳为以下几类:
基础操作
- 创建、修改、删除 3D 物体
- 调整位置、旋转、缩放等变换
- 材质创建与颜色/属性修改
- 场景信息查询(物体列表、位置、属性等)
高级能力
- 在 Blender 中直接执行任意 Python 代码
- 从 Poly Haven 获取资产与 HDRI
- 从 Sketchfab、Poly Pizza 获取模型
- 通过 Hyper3D Rodin、Hunyuan3D 等生成 AI 3D 模型
- 场景导出相关功能(近期更新中持续完善)
其他特性
- 支持安全模式(Safe Mode),限制部分高风险操作
- 提供 host/port 配置,方便网络环境调整
- 支持节点与 API 内省等更深入的调试能力(近期 PR 中可见)
这些功能覆盖了从简单原型到中等复杂度场景的常见需求。复杂动画、高级绑定或重度几何节点工作流目前仍更适合传统方式,但基础到中级的建模与场景搭建已经可以大量借助自然语言完成。
安装与配置详解
环境要求
- Blender 3.0 或更高版本
- Python 3.10+
uv包管理器(强烈建议使用官方安装脚本,而不是pip install uv)
1. 安装 uv
# 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"
安装后请确保 uvx 命令在 PATH 中可用。如果客户端是从图形界面启动的(如 Claude Desktop、Cursor),有时会找不到 uvx,此时需要使用绝对路径,或在 Windows 上用 cmd /c uvx ... 的方式包装。
2. 配置 MCP 客户端
以 Claude Desktop 为例,在配置文件中加入:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"]
}
}
}
为了避免 Python 版本冲突(尤其是 conda/pyenv 环境),可以显式指定:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["--python", "3.11", "blender-mcp"],
"env": {
"UV_PYTHON_PREFERENCE": "only-managed"
}
}
}
}
其他客户端(Cursor、VS Code、Claude Code、Codex 等)的配置方式在项目 README 中有详细说明,基本模式类似。
3. 安装 Blender 插件
uvx blender-mcp install-addon
安装完成后,打开 Blender → Edit → Preferences → Add-ons,搜索并启用 Interface: MCP for Blender。
4. 启动服务
在 3D 视图中按 N 打开侧边栏,切换到 MCP for Blender 标签页,点击 Start MCP Server。状态变为运行后,即可在对应的 MCP 客户端中开始对话。
注意事项
- 同一时间建议只运行一个 MCP 客户端实例,避免冲突。
- 如果使用 Docker 运行 MCP Server,需要正确配置网络,让容器能访问本机 Blender(macOS/Windows 可用
host.docker.internal,Linux 通常需要--network=host)。
使用示例与工作流建议
连接成功后,可以直接用自然语言描述需求。以下是一些实际可尝试的指令方向:
基础场景搭建
- “创建一个简单的室内场景:地板、四面墙、一扇窗户,并放一张桌子和两把椅子”
- “在桌子上放一个茶杯和一本书,调整合理的比例”
材质与灯光
- “给桌子添加木质材质,椅子用深灰色织物,并加一盏柔和的顶部灯光”
- “把窗户位置的光线调亮一些,模拟白天效果”
查询与迭代
- “先告诉我当前场景里有哪些物体,以及它们的位置”
- “根据刚才的信息,把椅子往右移动 0.5 个单位,并旋转 15 度”
代码执行
- “给选中的物体添加一个 Subdivision Surface 修改器,级别设为 2”
- “用 Python 清空场景中所有非相机和灯光的物体”
资产与生成
- “从 Poly Haven 下载一个室内 HDRI 并应用到世界环境”
- “尝试用 AI 生成一个低多边形风格的科幻椅子模型”
实际使用中比较高效的工作流通常是:
- 先让 AI 查询当前场景状态
- 基于反馈下发精确指令
- 小步迭代,而不是一次性描述非常复杂的场景
- 对关键步骤保留手动调整空间
这种方式能显著减少反复试错的时间,尤其适合原型验证阶段。
当前限制与使用注意点
任何工具都有边界,Blender MCP 也不例外:
- 复杂绑定、高级动画曲线、重度几何节点网络目前仍更适合手动或脚本方式
- 执行任意 Python 代码的能力很强,但也意味着需要一定的安全意识(项目提供了 Safe Mode)
- 网络环境、防火墙、客户端 PATH 问题是常见安装卡点
- AI 对 3D 空间关系的理解仍可能出现偏差,需要人工确认结果
项目在持续完善这些方面,近期更新包括 host/port 配置、节点 introspect、场景导出等功能,说明开发仍在活跃推进。
社区与后续发展
仓库维护活跃,有 Discord 社区可供交流,也有赞助渠道。README 中提供了完整教程视频链接,遇到安装或使用问题可以先参考官方文档和社区讨论。
如果你已经在使用 Blender,并希望尝试把自然语言交互引入工作流,这个项目提供了一个相对成熟的入口。直接安装体验,比单纯看介绍更能感受到实际差异。
相关链接
- GitHub 仓库:github.com/ahujasid/bl…
- 项目网站:mcp-for-blender.com/
- 完整安装与客户端配置说明请以仓库 README 为准
希望这篇介绍能帮助你更全面地了解 Blender MCP 的能力与使用方式。如果实际使用中有有趣的发现或踩坑经验,欢迎在评论区分享。