Blender 的 MCP
将 Blender 连接到任何 LLM
免责声明: 这是第三方集成,并非由 Blender 制作
提示辅助的 3D 建模、场景创建和操作 — 由 AI 驱动。
网站 · 完整教程 · Discord · 赞助 · 请我喝咖啡 · 反馈
支持者
CodeRabbit Kevin Guanche Darias
所有支持者: 支持此项目
快速开始
三个步骤:安装 uv,将您的 MCP 客户端指向服务器,安装 Blender 插件。
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"
警告: 在安装 uv 之前请勿继续。请使用官方安装程序——不要使用
pip install uv。
2. 将 MCP 服务器添加到您的客户端
Claude Desktop — 设置 → 开发者 → 编辑配置
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"]
}
}
}
Claude 代码
claude mcp 添加 blender uvx blender-mcp
法典
codex mcp 添加 blender -- uvx blender-mcp
光标 / VS 代码 / 开放代码 / 反重力
请参见下方的 MCP 客户端设置 以获取每个客户端的说明和一键安装按钮。
3.安装Blender插件
uvx blender-mcp install-addon
然后在 Blender 中:编辑 → 首选项 → 插件 → 启用 界面:Blender 的 MCP。
4. 连接
在 Blender 的 3D 视图中,按 N → 打开 Blender 的 MCP 选项卡 → 点击 启动 MCP 服务器。就是这样 — 请 Claude 构建一些东西。
注意: 仅运行 一个 MCP 服务器实例(光标或 Claude 桌面其中之一),不要同时运行。
特征
| 双向通信 | 通过基于套接字的服务器将 Claude AI 连接到 Blender |
| 对象操作 | 在 Blender 中创建、修改和删除 3D 对象 |
| 材质控制 | 应用和修改材质及颜色 |
| 场景检查 | 获取当前 Blender 场景的详细信息 |
| 代码执行 | 从 Claude 在 Blender 中运行任意 Python 代码 |
| 资产与模型生成 | Poly Haven 资产、Sketchfab 模型、Poly Pizza 低多边形模型,以及通过 Hyper3D Rodin 和 Hunyuan3D 生成的 AI 3D 模型 |
组件
系统由两个主要组件组成:
- Blender 插件(
addon.py)——一个在 Blender 中创建套接字服务器以接收和执行命令的 Blender 插件 - MCP 服务器(
src/blender_mcp/server.py)——一个实现模型上下文协议并连接到 Blender 插件的 Python 服务器
安装
前提条件
- Blender 3.0 或更高版本
- Python 3.10 或更高版本
- uv 包管理器
按平台安装 uv
macOS
brew install uv
Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
然后将 uv 添加到 Windows 用户路径中(可能需要重新启动 Claude Desktop):
$localBin = "$env:USERPROFILE\.local\bin"
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$userPath;$localBin", "User")
Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
它会安装在 ~/.local/bin — 打开一个新的终端以将其加入你的 PATH。
否则,安装说明可以在他们的网站上找到:安装 uv
在每个操作系统上,使用 uv 的 官方安装程序 —— 而不是 pip install uv,后者可能不会创建 uvx 命令,并可能将 uv 隐藏在你的客户端看不到的环境中。
警告: 安装紫外线前请勿继续。
让你的客户找到UVX
从 GUI(Claude Desktop、Cursor、Dock/开始菜单中的 VS Code)启动的 MCP 客户端不会继承你的终端的 PATH,所以单独使用 "command": "uvx" 可能会因为 spawn uvx ENOENT 而失败,即使在你的终端中 uvx 可以正常工作。如果发生这种情况:
- 找到 uvx 的完整路径 —
which uvx(macOS/Linux)或where uvx(Windows) — 并将其用作"command",例如/opt/homebrew/bin/uvx或C:\Users\<you>\.local\bin\uvx.exe。 - 在 Windows 上,你可以改为这样包装它:
"command": "cmd", "args": ["/c", "uvx", "blender-mcp"]。 - 在更改任何PATH或配置后,完全退出并重新启动客户端(Windows:从系统托盘退出,而不仅仅是窗口;macOS:按Cmd Q)。
钉住Python版本
避免 conda / pyenv / 版本冲突。
uv 会选择哪个 Python 来运行服务器。在带有 conda(自动激活基站)、pyenv 或 asdf 的机器上,或者使用一些依赖尚未支持的新 CPython 版本,uv 可以抓取一个解释器,导致安装失败。将 Python 3.11 固定,并偏好 uv 管理的解释器,以避免使用路径上的内容:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["--python", "3.11", "blender-mcp"],
"env": { "UV_PYTHON_PREFERENCE": "only-managed" }
}
}
}
--python 3.11 仍然满足此包的 requires-python >=3.10 要求,而 UV_PYTHON_PREFERENCE=only-managed 会让 uv 不优先选择 conda、pyenv、asdf 或系统 Python。(仓库的 .python-version 仅对贡献者是提示,并不会影响 uvx。)
如果之前失败的尝试在修复后仍然重复出现,请清除缓存:
uv cache clean blender-mcp && uvx --refresh blender-mcp
无需 uv 安装
在受限制的机器上,你可以完全跳过 uvx,使用 pipx,然后将你的客户端指向已安装的命令:
pipx install blender-mcp
pipx ensurepath # then restart your shell / client
使用生成的绝对路径作为 "command"(通过 which blender-mcp / where blender-mcp 找到)并省略 args。
使用 Docker 运行
您可以在容器中运行 MCP 服务器,而无需安装它。Blender 本身仍然在您的机器上运行——容器仅托管 MCP 服务器,该服务器连接到 Blender 插件。
从仓库根目录构建镜像:
docker build -t blender-mcp .
然后将你的 MCP 客户端指向它(需要使用 -i 标志——服务器通过 stdin/stdout 与客户端通信):
{
"mcpServers": {
"blender": {
"command": "docker",
"args": ["run", "-i", "--rm", "blender-mcp"]
}
}
}
该镜像默认使用 BLENDER_HOST=host.docker.internal,在 macOS 和 Windows 上使用 Docker Desktop 时,可以开箱即用地访问主机的 Blender。
在 Linux 上,host.docker.internal 不存在,插件只能监听 localhost,所以请改用主机网络:
{
"mcpServers": {
"blender": {
"command": "docker",
"args": ["run", "-i", "--rm", "--network=host", "-e", "BLENDER_HOST=localhost", "blender-mcp"]
}
}
}
要在容器中启用安全模式,请将 "-e", "BLENDER_MCP_SAFE_MODE=1" 添加到 args。
环境变量
以下环境变量可用于配置 Blender 连接:
| 变量 | 默认值 | 描述 |
|---|---|---|
BLENDER_HOST |
localhost |
Blender 套接字服务器的主机地址 |
BLENDER_PORT |
9876 |
Blender 套接字服务器的端口号 |
BLENDER_MCP_SAFE_MODE |
关闭 | 设置为 1 以在脚本在 Blender 中运行前进行验证(见下文) |
示例:
export BLENDER_HOST='host.docker.internal'
export BLENDER_PORT=9876
安全模式
默认情况下,AI 可以在 Blender 中运行任何 Python 代码。设置 BLENDER_MCP_SAFE_MODE=1 可在每个脚本运行前进行检查,并阻止风险代码——例如直接读写文件、运行其他程序、访问网络或安装在脚本结束后继续运行的代码。正常的 Blender 工作(建模、材质、渲染、保存、导入/导出)仍然可用。被阻止的脚本会连同原因一起发送回 AI,以便它可以尝试使用修正后的版本重新运行。
MCP 客户端安装
Claude 桌面版
观看安装说明视频(假设你已经安装了 uv)
进入 Claude → 设置 → 开发者 → 编辑配置 → claude_desktop_config.json 并包含以下内容:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}
Claude 代码
使用 Claude 代码 CLI 添加 Blender 服务器的 MCP:
claude mcp 添加 blender uvx blender-mcp
法典
Codex CLI、桌面应用程序和 IDE 扩展都共享相同的配置文件(~/.codex/config.toml),因此设置一次服务器即可覆盖三者。
使用 Codex CLI 注册服务器:
codex mcp add blender -- uvx blender-mcp
或者手动将其添加到 ~/.codex/config.toml(或 $CODEX_HOME/config.toml):
[mcp_servers.blender]
command = "uvx"
args = ["blender-mcp"]
或者在Codex 桌面应用中:设置 → MCP 服务器 → 添加服务器 → 命名为 blender,选择 STDIO,输入命令 uvx blender-mcp,然后 保存 并重启。如果应用找不到 uvx,请使用其完整路径 — 参见 让你的客户端找到 uvx。
检查它是否注册成功,使用 codex mcp list — blender 服务器应该显示为 已启用。工具将在下次启动 Codex 时可用。
To set environment variables (e.g. a non-default Blender host/port), pass --env KEY=VALUE flags to codex mcp add, or add them in the config file:
[mcp_servers.blender]
command = "uvx"
args = ["blender-mcp"]
env = { BLENDER_HOST = "localhost", BLENDER_PORT = "9876" }
光标
macOS — 进入 设置 → MCP 并粘贴以下内容:
- 要作为全局服务器使用,请点击 "添加新的全局 MCP 服务器" 按钮并粘贴
- 要作为项目特定服务器使用,请在项目根目录下创建
.cursor/mcp.json并粘贴
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}
Windows — 进入 设置 → MCP → 添加服务器,使用以下设置添加新服务器:
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": [
"/c",
"uvx",
"blender-mcp"
]
}
}
}
注意: 只运行 一个 MCP 服务器实例(在 Cursor 或 Claude Desktop 上),不要同时运行两者。
Visual Studio 代码
前提条件:在继续之前,请确保已安装 Visual Studio Code。
打开代码
{
"mcp": {
"blender-mcp": {
"type": "local",
"command": ["uvx", "blender-mcp"],
"enabled": true,
"environment": {
"BLENDER_HOST": "localhost",
"BLENDER_PORT": "9876"
}
}
}
}
反重力
{
"mcpServers": {
"blender-mcp": {
"command": "uvx",
"args": ["blender-mcp"],
"env": {
"BLENDER_HOST": "localhost",
"BLENDER_PORT": "9876"
}
}
}
}
安装 Blender 插件
1. 推荐 — 在终端中运行:
uvx blender-mcp install-addon
这会将插件复制到你的 Blender 插件文件夹中,命名为 blender_mcp.py。它会显示写入的位置,并保留任何被替换文件的 .bak 备份。
可选:
uvx blender-mcp addon-paths会列出检测到的 Blender 插件文件夹。可以使用BLENDERMCP_ADDONS_DIR=/path/to/scripts/addons来覆盖目标路径。
2. Open Blender
3. 进入 编辑 → 首选项 → 插件
4. 启用 界面:Blender MCP(搜索 “MCP for Blender”)。如果尚未显示,点击 安装… 并选择复制的 blender_mcp.py / addon.py,或重启 Blender。
5. 手动方式 — 如果上述命令无法找到你的 Blender 安装,或者你更喜欢手动操作:从此仓库下载 addon.py → 在 Blender 中,编辑 → 首选项 → 插件 → 安装… → 选择下载的 addon.py → 启用它。
然后在 Blender 侧边栏(在 3D 视图中按 N)打开 MCP for Blender 标签,并点击 启动 MCP 服务器。参见下方 启动连接。
升级(已有用户)
对于新用户,请直接前往 快速开始。对于已有用户,请见下文。
1. 通过运行以下命令更新插件文件:
uvx blender-mcp install-addon
uvx blender-mcp addon-paths # optional: list detected Blender addons folders
2. 在 Blender 中:首选项 → 插件 → 禁用并重新启用 Interface: MCP for Blender(或重启 Blender),然后再次点击 启动 MCP 服务器。
3. 如果服务器包本身需要刷新,请从 Claude 删除 MCP 服务器并重新添加。
注意: MCP 服务器自身从不修改你的 Blender 插件文件。当它启动时,会检查已安装的插件是否落后于捆绑副本,并记录如何更新;
install-addon才是真正进行写入的操作,并会保留它替换的文件的.bak文件。通过execute_code回退机制,轨迹捕捉仍然可以在旧插件上工作。
使用方法
开始连接
- 在 Blender 中,进入 3D 视图侧边栏(如果未显示,请按 N)
- 找到 Blender 的 MCP 选项卡
- 勾选您想使用的复选框(更多信息请参见下方的 功能)
- 点击 连接到 Claude
- 确保 MCP 服务器在终端中运行
与 Claude 一起使用
配置文件在 Claude 上设置完成,并且 Blender 插件正在运行后,您将看到带有 Blender MCP 工具的锤子图标。
功能
- 获取场景和对象信息
- 创建、删除和修改形状
- 为对象应用或创建材质
- 在 Blender 中执行任何 Python 代码
- 通过 Poly Haven 下载合适的模型、资源和 HDRIs
- 从 Sketchfab 搜索和下载模型
- 从 Poly Pizza 搜索和下载低多边形模型
- 通过 Hyper3D Rodin 和 Hunyuan3D 生成 AI 3D 模型
多利比萨
Poly Pizza 托管了大约 10,600 个免费的低多边形模型,包括恢复的 Google Poly 归档。它是获取风格化游戏资源的最佳来源:每个模型都是独立的 .glb 文件,并且几何结构比 Sketchfab 的更轻。
- 在 poly.pizza/settings/api 获取免费的 API 密钥
- 在 3D 视图侧边栏中,勾选 使用 Poly Pizza 的资源
- 将密钥粘贴到出现的 API 密钥 字段中(或永久存储在 编辑 → 首选项 → 插件 → Blender 的 MCP 下)
示例操作:
“在 Poly Pizza 上搜索低多边形椅子,需 CC0 许可,并以 1 米高导入一个”
Claude 调用 search_polypizza_models(query="chair", licence="CC0"),返回每个匹配项及其许可和三角面数量,然后调用 download_polypizza_model(model_id="...", normalize_size=True, target_size=1.0)。
你也可以按类别过滤("Animals", "Furniture & Decor", "Transport", "Nature", "Buildings", "People & Characters", "Food & Drink", "Weapons", "Clutter", "Objects", "Scenes & Levels", "Other"),或仅请求动画模型。
署名要求: Poly Pizza 目录约 69% 是 CC-BY 许可,这要求你在模型出现的地方标注创作者。导入时,已格式化的署名行会写入每个导入的根对象作为自定义属性 polypizza_attribution(同时还有 polypizza_id 和 polypizza_licence),因此会保存到你的 .blend 文件并在会话中保留。如果你想使用不需要署名的模型,请用 licence="CC0" 过滤。
示例命令
以下是一些你可以让 Claude 执行的示例:
| 提示 | 演示 |
|---|---|
| “在地牢中创建一个低多边形场景,一条龙守护一锅金币” | 观看 |
| “使用 HDRI、纹理和来自 Poly Haven 的岩石及植被模型创建海滩氛围” | 观看 |
| 提供参考图像,并将其创建为 Blender 场景 | 观看 |
| “获取当前场景的信息,并从中创建一个 threejs 草图” | 观看 |
| “通过 Hyper3D 生成一个花园侏儒的 3D 模型” | |
| “用 Poly Pizza 的低多边形家具填满这个房间” | |
| “将这辆车改成红色并带金属质感” | |
| “创建一个球体并将其放置在立方体上方” | |
| “使灯光像摄影棚一样” | |
| “将摄像机对准场景,并设置为等距视角” |
持久化 API 凭证
Blender 的 MCP 通过 Blender 插件偏好设置支持持久化凭证:
编辑 → 首选项 → 插件 → MCP for Blender
你可以在此存储这些值,以便在 Blender 重启后仍然有效:
- Sketchfab API 密钥
- Poly Pizza API 密钥
- Hyper3D API 密钥
- 混元3D SecretId / SecretKey
- 混元3D API URL
对于无界面设置或持续集成 (CI),凭证也可以通过环境变量注入:
| 变量 |
|---|
BLENDERMCP_SKETCHFAB_API_KEY |
BLENDERMCP_POLYPIZZA_API_KEY |
BLENDERMCP_HYPER3D_API_KEY |
BLENDERMCP_HUNYUAN3D_SECRET_ID |
BLENDERMCP_HUNYUAN3D_SECRET_KEY |
BLENDERMCP_HUNYUAN3D_API_URL |
故障排除
| 问题 | 解决办法 |
|---|---|
| 连接问题 | 确保 Blender 插件服务器正在运行,并且 MCP 服务器在 Claude 上已经配置好。不要在终端中运行 uvx 命令。有时第一次命令可能无法通过,但之后就会开始工作。 |
| 超时错误 | 尝试简化您的请求,或将其分解为更小的步骤。 |
| Poly Haven 集成 | Claude 有时行为不稳定。 |
| Poly Pizza 下载因 Cloudflare 验证失败 | static.poly.pizza 受机器人保护,阻止数据中心、VPN 和云 IP。您的 API 密钥是正常的——CDN 从未看到它。请尝试使用普通连接重试,或者手动下载 .glb 文件,然后使用 文件 → 导入 → glTF 2.0。 |
| 您尝试过关机重启吗? | 如果仍然出现连接错误,尝试重启 Claude 和 Blender 服务器。 |
技术细节
通信协议
系统使用基于 JSON 的简单协议通过 TCP 套接字通信:
- 命令 以 JSON 对象形式发送,包含
type和可选的params - 响应 为 JSON 对象,包含
status和result或message
限制 & 安全考虑
警告:
execute_blender_code工具允许在 Blender 中运行任意 Python 代码,这非常强大,但潜在危险。在生产环境中使用时请谨慎。使用前请务必保存您的工作。
- Poly Haven 需要下载模型、纹理和 HDRI 图像。如果您不想使用,请在 Blender 中取消勾选该选项。
- 复杂操作可能需要分解为更小步骤。
遥测控制
Blender 的 MCP 收集匿名使用数据以帮助改进工具。遥测默认是 开启 的,您可以通过两种方式关闭它:
1. 在 Blender 中 — 进入 编辑 → 首选项 → 插件 → MCP for Blender 并取消勾选遥测同意框。
- 已同意(勾选,默认):查看条款以了解收集的数据详情。
2. 环境变量 — 通过运行以下命令可以完全禁用所有遥测:
DISABLE_TELEMETRY=true uvx blender-mcp
或者将其添加到你的 MCP 配置中:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"],
"env": {
"DISABLE_TELEMETRY": "true"
}
}
}
}
遥测数据不会与你的姓名或账户关联。它可能被用于改进 Blender 的 MCP、用于研究以及训练 AI 模型。
关于收集的详细信息,以及你开启遥测时授予的许可,请参阅 TERMS_AND_CONDITIONS.md。
反馈
我们正在积极寻找关于 Blender 的 MCP 的反馈。如果您有想法,请在这里分享。
如果您有更详细的反馈,您可以在这里预约与我们通话——我们会在项目中为您致谢。
加入社区
提供反馈,获得灵感,并在 MCP 基础上进行创作:Discord
贡献
欢迎贡献!请随时提交 Pull Request。
免责声明
这是第三方集成,并非由 Blender 制作。由 Siddharth 制作。
星际历史
如果 Blender 的 MCP 对您有用,请考虑为该仓库点星