mcp-for-blender:基于 Blender 与 Claude AI 的 3D 建模交互项目

Community plugin to control Blender 3D with any LLM of your choice. Not affiliated with the official Blender Foundation.

分支1Tags0
文件最后提交记录最后更新时间
1 个月前
1 个月前
11 天前
11 天前
1 个月前
1 个月前
4 个月前
1 个月前
1 年前
11 天前
1 个月前
11 天前
1 个月前
1 个月前
1 个月前
11 天前
11 天前
<div align="center">

# MCP for Blender
**将 Blender 连接至任意 LLM**

*原名 `blender-mcp`,PyPI 包已更名为 [`mcp-for-blender`](https://pypi.org/project/mcp-for-blender/).*
*现有配置无需任何更改即可继续使用。[了解更多](https://github.com/ahujasid/mcp-for-blender/issues/366)*

**声明:** 这是一个第三方集成项目,并非由 Blender 官方开发。

通过提示词驱动的 AI 辅助 3D 建模、场景创建与操作。

[![PyPI Downloads](https://static.pepy.tech/personalized-badge/blender-mcp?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/blender-mcp)
[![Discord](https://img.shields.io/badge/Discord-join-5865F2?logo=discord&logoColor=white)](https://discord.gg/SNqPn4TcKQ)
[![Website](https://img.shields.io/badge/Website-mcp--for--blender.com-black)](https://mcp-for-blender.com/)
[![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-EA4AAA?logo=githubsponsors&logoColor=white)](https://github.com/sponsors/ahujasid)
[![PyPI Version](https://img.shields.io/pypi/v/mcp-for-blender?color=blue)](https://pypi.org/project/mcp-for-blender/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

<a href="https://trendshift.io/repositories/14834?utm_source=repository-badge&amp;utm_medium=badge&amp;utm_campaign=badge-repository-14834" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/14834" alt="ahujasid%2Fblender-mcp | Trendshift" width="250" height="55"/></a>

<br />

**支持者**

[CodeRabbit](https://www.coderabbit.ai/)
[Guillermo Rauch](https://github.com/rauchg)

**所有支持者:** [赞助此项目](https://github.com/sponsors/ahujasid)

</div>

---
## 快速开始
> **注意:** PyPI 包 `blender-mcp` 现已更名为 **`mcp-for-blender`**。现有配置
> 无需任何更改即可继续使用 — `uvx blender-mcp` 仍可正常运行服务器,且**无需
> 修改任何配置**。新安装请使用 `mcp-for-blender`。
> [变更说明及原因](https://github.com/ahujasid/mcp-for-blender/issues/366)

**一条命令**即可完成你的 AI 应用和 Blender 插件的配置:

**macOS / Linux**

curl -LsSf https://www.mcp-for-blender.com/install.sh | sh

Windows (PowerShell)

irm https://www.mcp-for-blender.com/install.ps1 | iex

或者在命令提示符中运行:powershell -c "irm https://www.mcp-for-blender.com/install.ps1 | iex"

不想运行脚本,或者被 Windows Defender 拦截了?请先用 winget 安装 uv,然后打开一个新的终端,再运行安装:

winget install --id=astral-sh.uv -e
uvx mcp-for-blender setup

已有 uv?请改为运行 uvx mcp-for-blender setup。

它会在需要时自动安装 uv,检测你机器上已安装的 MCP 客户端(Claude Desktop、Claude Code、Codex、Cursor、VS Code、Devin Desktop/Windsurf、OpenCode、Antigravity),并让你选择要配置哪些。随后它会安装 Blender 插件并启用它。你现有的配置会被完整保留:它只会添加一个 blender 条目,并对每个修改过的文件保存一份 .bak 备份。

然后完全退出并重新打开你的 AI 应用(Windows 上请从系统托盘退出),打开 Blender,让它帮你构建一个模型。插件会在 Blender 启动时自动启动服务。

手动配置方式(适用于自动配置失败的情况)

三个步骤:安装 uv,将 MCP 客户端指向服务器,安装 Blender 插件。

1. 安装 uv

# macOS
brew install uv

# Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
winget install --id=astral-sh.uv -e
# or, with uv's installer
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

警告: 在安装 uv 之前请勿继续操作。请使用官方安装程序 — 而非 pip install uv。

2. 将 MCP 服务器添加到你的客户端

Claude Desktop — 设置 → 开发者 → 编辑配置
{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": ["mcp-for-blender"]
        }
    }
}
Claude Code
claude mcp add blender uvx mcp-for-blender
Codex
codex mcp add blender -- uvx mcp-for-blender
Cursor / VS Code / OpenCode / Antigravity

请参考下方的 MCP Client Setup,了解各客户端的配置说明及一键安装按钮。

3. 安装 Blender 插件

uvx mcp-for-blender install-addon

然后在 Blender 中:编辑 → 偏好设置 → 附加组件 → 启用 界面:MCP for Blender。

4. 连接

附加组件会在 Blender 启动时自动开启服务器。要确认状态,在 3D 视口中按 N → 打开 MCP for Blender 选项卡(如果服务器未在运行,点击 启动 MCP 服务器)。完成——现在可以让 Claude 帮你创建模型了。

注意: 同一时间只运行一个 MCP 服务器实例(Cursor 或 Claude Desktop 二选一),不要同时运行两个。


目录


功能特性

双向通信 通过基于 Socket 的服务器将 Claude AI 与 Blender 连接起来
对象操作 在 Blender 中创建、修改和删除 3D 对象
材质控制 应用和修改材质与颜色
视觉验证 支持多角度、摄像机、线框、X 光和动画条视图,以及渲染输出,让 AI 自行检查作品效果
代码执行 AI 直接编写 Blender Python 代码
资源与模型生成 支持 Poly Haven 资源、Sketchfab 模型、Poly Pizza 低多边形模型,以及通过 Meshy、Tripo、Hyper3D Rodin 和 Hunyuan3D 生成的 AI 3D 模型

高级版

直接在 Blender 中生成 AI 3D 模型(Meshy、Hunyuan3D、Tripo、Hyper3D Rodin),无需自带 API 密钥。了解更多

组件

系统由两个主要组件组成:

  1. Blender 插件(addon.py)— 一个 Blender 插件,在 Blender 内部创建套接字服务器以接收并执行命令
  2. MCP 服务器(src/blender_mcp/server.py)— 一个实现了 Model Context Protocol 的 Python 服务器,用于连接 Blender 插件

安装

自动配置

最快的方式是使用一行安装脚本。它会自动安装 uv、配置你的 MCP 客户端,并安装和启用 Blender 插件:

# macOS / Linux
curl -LsSf https://www.mcp-for-blender.com/install.sh | sh
# Windows (PowerShell)
irm https://www.mcp-for-blender.com/install.ps1 | iex

已经安装了 uv?直接运行 uvx mcp-for-blender setup 即可。在 Windows 上,winget install --id=astral-sh.uv -e 可以无需执行脚本直接安装 uv。详见 快速入门 了解其具体变更。本节其余部分介绍手动安装步骤。

前置要求

  • Blender 3.0 或更高版本
  • Python 3.10 或更高版本
  • uv 包管理器
各平台安装 uv 的方法

macOS

brew install uv

Windows

winget install --id=astral-sh.uv -e

然后打开一个新终端,以确保 uv 已加入你的 PATH。或者使用 uv 的安装程序:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

然后在 Windows 中将 uv 添加到用户路径(操作后可能需要重启 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 隐藏在客户端无法识别的环境中。

警告: 在安装 uv 之前,请勿继续后续步骤。

让客户端找到 uvx

从图形界面启动的 MCP 客户端(如从 Dock/开始菜单启动的 Claude Desktop、Cursor、VS Code)不会继承你终端的 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", "mcp-for-blender"]。
  • 修改 PATH 或任何配置后,请彻底退出并重新启动客户端(Windows:从系统托盘退出,而不仅仅是关闭窗口;macOS:Cmd+Q)。

固定 Python 版本

避免 conda / pyenv / 版本冲突。

uv 会选择用于运行服务器的 Python 版本。在安装了 conda(自动激活 base 环境)、pyenv 或 asdf 的机器上 — 或者当系统中存在较新版本的 CPython 而部分依赖尚未提供对应的 wheel 包时 — uv 可能会选择一个导致安装失败的解释器。建议固定使用 Python 3.11,并优先使用 uv 管理的解释器,以避免使用 PATH 中可能存在的其他版本:

{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": ["--python", "3.11", "mcp-for-blender"],
            "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 mcp-for-blender blender-mcp && uvx --refresh mcp-for-blender

不使用 uv 安装

在管控严格的环境中,你可以完全跳过 uvx,改用 pipx 来完成安装,然后将客户端指向已安装的命令:

pipx install mcp-for-blender
pipx ensurepath          # then restart your shell / client

将得到的绝对路径作为 "command" 的值(可通过 which mcp-for-blender / where mcp-for-blender 查找),并省略 args。

使用 Docker 运行

你可以在容器中运行 MCP 服务器,而无需安装。Blender 本身仍在你的机器上运行——容器仅承载 MCP 服务器,它负责向 Blender 插件发起连接。

在仓库根目录下构建镜像:

docker build -t mcp-for-blender .

然后将你的 MCP 客户端指向它(-i 参数是必需的 —— 服务器通过 stdin/stdout 与客户端通信):

{
    "mcpServers": {
        "blender": {
            "command": "docker",
            "args": ["run", "-i", "--rm", "mcp-for-blender"]
        }
    }
}

镜像默认使用 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", "mcp-for-blender"]
        }
    }
}

要在容器中启用安全模式,请在 args 中添加 "-e", "BLENDER_MCP_SAFE_MODE=1"。

环境变量

以下环境变量可用于配置 Blender 连接:

变量 默认值 说明
BLENDER_HOST localhost Blender socket 服务器的主机地址
BLENDER_PORT 9876 Blender socket 服务器的端口号
BLENDER_MCP_SAFE_MODE off 设置为 1 可在脚本于 Blender 中执行前进行验证(详见下文)
BLENDER_MCP_APPS auto 设置为 1 可强制为支持 MCP Apps 但未主动声明该能力的客户端启用内联视口应用(Codex 插件会设置此项)
BLENDER_MCP_OPENAI_FORMS auto 设置为 1 可强制启用缩略图资源选择器(Codex 插件会设置此项)

示例:

export BLENDER_HOST='host.docker.internal'
export BLENDER_PORT=9876

你还可以通过 CLI flags 传入连接信息,其优先级高于 environment variables。这在同时运行多个 Blender 实例时非常实用——每个 MCP client 条目只需通过普通参数指向不同端口即可,无需依赖环境变量。

uvx mcp-for-blender --port 9877

在 MCP 客户端配置中,这意味着存在第二个仅在 args 上不同的配置项:

{
  "mcpServers": {
    "blender": { "command": "uvx", "args": ["mcp-for-blender"] },
    "blender-b": { "command": "uvx", "args": ["mcp-for-blender", "--port", "9877"] }
  }
}

每个实例都需要在 Blender 插件面板中配置对应的端口。

注意: 插件的 socket 服务器没有身份验证或加密机制,因此任何能够访问该端口的用户都可以在 Blender 中执行 Python 代码。除非你处于可信网络环境中,否则请保持使用 localhost,并优先通过 SSH 隧道连接,而非将 --host/BLENDER_HOST 直接指向远程机器。

安全模式

默认情况下,AI 可以在 Blender 中运行任意 Python 代码。设置 BLENDER_MCP_SAFE_MODE=1 可在脚本运行前进行安全检查并拦截危险代码——例如直接读写文件、运行其他程序、访问网络,或安装脚本结束后仍在后台运行的代码。常规的 Blender 操作(建模、材质、渲染、保存、导入/导出)不受影响。被拦截的脚本会连同拦截原因一起返回给 AI,以便其修改后重试。


MCP 客户端配置

Claude for Desktop

观看配置教程视频(假设你已安装 uv)

前往 Claude → 设置 → 开发者 → 编辑配置 → claude_desktop_config.json,添加以下内容:

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

使用 Claude Code CLI 添加 MCP for Blender 服务器:

claude mcp add blender uvx mcp-for-blender

Codex

Codex CLI、桌面应用和 IDE 扩展共用同一个配置文件(~/.codex/config.toml),因此只需设置一次即可同时覆盖这三个端。

Codex 插件(推荐)

该插件在聊天界面中嵌入了实时视口(点击物体即可将其附加到下一条消息中)、Poly Haven、Sketchfab 和 Poly Pizza 的缩略图选择器,以及对场景对象、材质和集合的 @ 引用功能。该插件尚未上架 Codex 插件目录,请从本仓库添加:

git clone https://github.com/ahujasid/blender-mcp.git
codex plugin marketplace add ./blender-mcp/integrations/codex

然后重启 Codex,从插件目录安装 MCP for Blender,并在对话中让它使用 MCP for Blender。启动后,视口将在对话旁的侧边面板中打开:

MCP for Blender 插件在 Codex 应用中的界面,显示对话旁的实时视口

纯 MCP 服务器

将服务器注册到 Codex CLI:

codex mcp add blender -- uvx mcp-for-blender

或者手动将其添加到 ~/.codex/config.toml(或 $CODEX_HOME/config.toml):

[mcp_servers.blender]
command = "uvx"
args = ["mcp-for-blender"]

或者在 Codex 桌面应用 中:设置 → MCP 服务器 → 添加服务器 → 命名为 blender,选择 STDIO,输入 uvx mcp-for-blender 作为命令,然后 保存 并重启。如果应用找不到 uvx,请改用其完整路径——参见 让客户端找到 uvx。

运行 codex mcp list 检查是否已注册——blender 服务器应显示为 已启用。下次启动 Codex 时,这些工具即可使用。

如需设置环境变量(例如非默认的 Blender 主机/端口),请在 codex mcp add 中传入 --env KEY=VALUE 参数,或在配置文件中添加:

[mcp_servers.blender]
command = "uvx"
args = ["mcp-for-blender"]
env = { BLENDER_HOST = "localhost", BLENDER_PORT = "9876" }

Cursor

Install MCP Server

macOS — 前往 设置 → MCP,粘贴以下内容:

  • 若需作为全局服务器使用,点击*"添加新的全局 MCP 服务器"*按钮并粘贴
  • 若需作为项目专属服务器使用,在项目根目录下创建 .cursor/mcp.json 并粘贴
{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": [
                "mcp-for-blender"
            ]
        }
    }
}

Windows — 前往 Settings → MCP → Add Server,使用以下配置添加一个新服务器:

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

Cursor 设置视频

注意: 请仅运行一个 MCP server 实例(Cursor 或 Claude Desktop 二选一),不要同时运行两者。

Visual Studio Code

前置要求:在继续操作之前,请确保已安装 Visual Studio Code。

Install in VS Code

OpenCode

{
  "mcp": {
    "blender-mcp": {
      "type": "local",
      "command": ["uvx", "mcp-for-blender"],
      "enabled": true,
      "environment": {
        "BLENDER_HOST": "localhost",
        "BLENDER_PORT": "9876"
      }
    }
  }
}

Antigravity

{
  "mcpServers": {
    "blender-mcp": {
      "command": "uvx",
      "args": ["mcp-for-blender"],
      "env": {
        "BLENDER_HOST": "localhost",
        "BLENDER_PORT": "9876"
      }
    }
  }
}

安装 Blender 插件

uvx mcp-for-blender setup(参见快速入门)可自动完成所有操作,包括启用插件。以下步骤为手动操作说明。

1. 推荐方式 — 在终端中运行:

uvx mcp-for-blender install-addon

这会将插件以 blender_mcp.py 的名称复制到你的 Blender 插件目录中。它会输出写入路径,并为被覆盖的文件保留一份 .bak 备份。

可选:运行 uvx mcp-for-blender addon-paths 可列出检测到的 Blender 插件目录。可通过设置 BLENDERMCP_ADDONS_DIR=/path/to/scripts/addons 指定目标目录。

2. 打开 Blender

3. 前往 Edit → Preferences → Add-ons

4. 启用 Interface: MCP for Blender(搜索 "MCP for Blender")。如果未出现,请点击 Install…,选择已复制的 blender_mcp.py / addon.py,或重启 Blender。

5. 手动安装 — 如果上述命令无法找到你的 Blender 安装路径,或者你更倾向于手动操作:从本仓库下载 addon.py → 在 Blender 中,前往 Edit → Preferences → Add-ons → Install… → 选择下载的 addon.py → 启用它。

然后在 Blender 的侧边栏中打开 MCP for Blender 选项卡(在 3D 视口中按 N 键),点击 Start MCP Server。参见下方 Starting the Connection。

Upgrading(已有用户)

新用户请直接前往 Quickstart。已有用户请参见以下内容。

1. 运行:

uvx mcp-for-blender@latest update

此命令会更新 MCP 服务器(刷新 uv 的缓存副本,或升级 uv tool install),同时更新已安装的每个 Blender 插件副本,并为每个被替换的文件保留一份 .bak 备份。如果本地插件版本比发行版更新,则不会降级;如果你曾本地编辑过某个副本,也会原样保留。添加 --dry-run 可先预览将要执行哪些变更。

首次使用时请加 @latest:早于 2.1.7 的发行版没有 update 命令,而 uvx 可能仍缓存着这些旧版本。

2. 重启你的 MCP 客户端(Claude Desktop、Cursor 等),使其启动新版服务器。

3. 在 Blender 中:重启 Blender,或前往 Preferences → Add-ons,先禁用再重新启用 Interface: MCP for Blender,然后再次点击 Start MCP Server。

如果某个客户端仍配置的是旧的 blender-mcp 包名,update 会提示你;运行 uvx mcp-for-blender setup 即可完成切换。

注意: MCP 服务器不会自行修改你的 Blender 插件文件。启动时,它会检查已安装的插件是否落后于捆绑副本,并在日志中说明如何更新;真正执行写入操作的是 update 和 install-addon。轨迹捕获功能通过 execute_code 回退机制,在旧版已加载的插件上依然可用。


使用方法

建立连接

MCP for Blender in the sidebar

  1. 在 Blender 中,打开 3D 视口侧边栏(若未显示,按 N 键)
  2. 找到 MCP for Blender 选项卡
  3. 勾选你希望启用的功能(更多说明见下方 功能 部分)
  4. 点击 Connect to Claude
  5. 确保 MCP 服务器已在终端中运行

与 Claude 配合使用

配置好 Claude 的配置文件,并在 Blender 中运行插件后,你会看到一个锤子图标,旁边显示 MCP for Blender 的工具列表。

MCP for Blender in the sidebar

功能

AI 自行编写 Blender Python 代码来完成建模、布局、材质、动画、绑定和重拓扑。MCP 则通过九个工具补齐 Python 自身无法实现的能力:

工具 用途
execute_blender_code 在运行中的 Blender 里执行 Python 代码
look 从 viewport、camera、angles(自动构图的多视图面板,支持任意方向)或 frames(动画序列)查看结果,以 solid、material、rendered、wireframe 或 xray 模式显示;或展示渲染图或图片文件
get_scene_info 紧凑的场景摘要,每个对象一行,显示你选定的字段(位置、材质、拓扑、权重等);可用 root 或 query 深入查看
generate_3d 一次调用即可通过 Tripo、Hunyuan3D、Hyper3D Rodin 或 Meshy 生成并导入模型。自动优先使用 Premium 生成器
search_assets / import_asset Poly Haven 的 HDRI、贴图与模型,Sketchfab 的模型,Poly Pizza 的低模资源
get_addon_status Blender 版本、插件版本,以及当前启用的库和生成器
disable_telemetry、record_trajectory_feedback 数据采集控制

腾讯云上的混元3D(官方 API 模式)

插件需要调用哪个腾讯云服务,取决于你的账户注册地区:

账户类型 插件调用的服务 地域 侧边栏开关
中国大陆(cloud.tencent.com) AI3D 3.0(ai3d,版本 2025-05-13) ap-guangzhou 保持 International (Pro) account 关闭(默认状态)
国际站(tencentcloud.com),混元3D(专业版) hunyuan,版本 2023-09-01,PBR 已启用 ap-singapore 勾选 International (Pro) account

国际站的凭据发送到中国大陆端点时会返回 AuthFailure.SignatureFailure 或 ResourceUnavailable 错误,因此当你的 SecretId/SecretKey 来自 tencentcloud.com 时,请勾选该开关。该开关位于侧边栏的 Tencent Hunyuan 3D → Official API 下方。

Meshy

Meshy 可根据文字提示或参考图生成带贴图的 3D 模型,按真实世界高度缩放,原点在底部,因此模型导入后以合理尺寸稳稳立于地面。 它可通过 Premium 免密钥使用,也可以使用你自己的 Meshy API 密钥。 通过 Premium 通道时,Meshy 使用其最新模型,每个模型计为一次标准生成。 使用自己的 API 密钥需要付费的 Meshy 计划: 获取 Meshy API 密钥。 在侧边栏 AI Model Generation 下勾选 Meshy,选择一个 Model,然后粘贴密钥即可。 使用自己的密钥时,可以要求生成"呈 A 型姿势"或"呈 T 型姿势"的角色,Meshy 会直接以该姿势生成模型,可直接用于绑定。

Poly Haven

Poly Haven 提供约 2,400 个 HDRI、贴图和模型, 全部为 CC0 协议且免费,运营资金来自捐赠而非售卖资源。无需 API 密钥,无需注册账户,也无需担心速率限制。

在 3D 视口侧边栏中勾选 Poly Haven 即可完成全部配置。

示例:

"用一张阴天午后的 HDRI 打光,并给墙面贴一张锈迹斑斑的金属贴图"

Claude 会调用 search_assets(source="polyhaven", query="overcast afternoon", asset_type="hdris"), 它能理解语义意图而非简单匹配关键词——搜"沙发"能找到各种款式,且支持任意语言。previews=3 会在消耗带宽前先附上前几条结果的缩略图,import_asset(source="polyhaven", id="...", asset_type="textures", apply_to=["Wall"]) 则一次调用完成贴图下载与应用。

搜索还可以按分类路径或属性进行过滤,例如 HDRI 的天气和时间段,贴图的表面用途和状态;传入未知属性时会返回错误并列出有效选项。

模型从 .blend 文件导入,因为这是艺术家创作的原始文件——glTF、 FBX 和 USD 版本均由它生成,会丢失材质细节。贴图会根据驱动它的各通道贴图自动构建 Principled 材质,并跳过无人读取的重新打包格式和替代约定。HDRI 会被打包进文件中, 因此光照在保存到别处并重新打开后依然保留,且会创建一个新的 world 而非覆盖你已有的。

许可与署名: Poly Haven 的所有资源均为 CC0。无论商用还是非商用, 你都不需要署名任何人。其 API 使用条款 要求 基于其在线 API 构建的软件应标明资源来源,因此搜索和导入的响应中会标注来源并附上资源页面链接。导入时,polyhaven_id、 polyhaven_url、polyhaven_authors、polyhaven_resolution 和 polyhaven_licence 会 作为自定义属性写入导入的对象、材质、图片和 world 上,这样之后打开 .blend 文件的人 仍然能找到该资源及其创作者。

Poly Pizza

Poly Pizza 托管约 10,600 个免费低模模型,包含 从 Google Poly 抢救下来的存档资源。它是风格化游戏素材的最佳来源:每个模型都是 一个独立的 .glb 文件,面数远少于 Sketchfab 上的模型。

  1. 在 poly.pizza/settings/api 获取免费 API 密钥
  2. 在 3D 视口侧边栏中勾选 Use assets from Poly Pizza
  3. 将密钥粘贴到出现的 API Key 输入框中(也可在 Edit → Preferences → Add-ons → MCP for Blender 中永久保存)

示例:

"在 Poly Pizza 上搜索一个 CC0 许可的低模椅子,导入一个 1 米高的"

Claude 会调用 search_assets(source="polypizza", query="chair", licence="CC0"),返回每条 匹配结果及其许可类型和三角面数,然后 import_asset(source="polypizza", id="...", 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 场景 观看
"获取当前场景的信息,并据此生成一段 three.js 草图" 观看
"通过 Hyper3D 生成一个花园侏儒的 3D 模型"
"使用 Meshy 生成一把木质摇椅"
"用 Poly Pizza 的低多边形家具填满这个房间"
"把这辆车改成红色金属质感"
"创建一个球体,放在立方体上方"
"把灯光调成影棚风格"
"将相机对准场景,并切换为等轴测视角"

持久化 API 凭据

MCP for Blender 支持通过 Blender 插件偏好设置来持久化存储凭据:

编辑 → 偏好设置 → 插件 → MCP for Blender

你可以在这里保存以下配置,使其在 Blender 重启后依然生效:

  • Sketchfab API Key
  • Poly Pizza API Key
  • Hyper3D API Key
  • Hunyuan3D SecretId / SecretKey
  • Hunyuan3D API URL
  • Meshy API Key

对于无头模式或 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
BLENDERMCP_MESHY_API_KEY

故障排除

问题 解决方案
连接问题 确保 Blender 插件服务端正在运行,且 MCP 服务器已在 Claude 端完成配置。不要在终端中运行 uvx 命令。有时第一条指令可能无法送达,但之后就能正常工作了。
超时错误 尝试简化你的请求,或将任务拆分为更小的步骤。
Blender 在 Poly Haven 下载期间卡死 资源下载运行在 Blender 主线程上,因此 UI 会在传输完成前停止响应。文件体积大约随分辨率每提升一档翻四倍,除非资源紧贴相机,否则建议请求 1k 或 2k 分辨率。
Poly Pizza 下载被 Cloudflare 人机验证拦截 static.poly.pizza 启用了机器人防护,会拦截数据中心、VPN 和云服务器 IP。你的 API Key 没有问题——CDN 根本接触不到它。请改用普通网络连接重试,或手动下载 .glb 文件,然后通过 文件 → 导入 → glTF 2.0 导入。
试过重启吗? 如果仍然出现连接错误,尝试同时重启 Claude 和 Blender 服务端。

技术细节

通信协议

系统通过 TCP 套接字使用基于 JSON 的简单协议:

  • 指令以 JSON 对象形式发送,包含 type 和可选的 params
  • 响应为 JSON 对象,包含 status 以及 result 或 message

限制与安全注意事项

警告: execute_blender_code 工具允许在 Blender 中运行任意 Python 代码,功能强大但也存在潜在风险。在生产环境中请谨慎使用。使用前务必备份你的工作成果。

  • Poly Haven 需要下载模型、纹理和 HDRI 图像。如果不想使用,请在 Blender 中取消勾选对应选项。
  • 复杂操作可能需要拆分为更小的步骤。

遥测控制

遥测功能采用用户主动选择方式。默认不会收集你的内容,除非你明确开启。

默认收集的内容(无需开启): 一份最小的匿名使用记录,用于统计活跃用户和查看各工具的使用情况——包括随机生成的安装 ID、会话 ID、工具名称、是否执行成功、耗时、MCP for Blender 和 Blender 的版本号、操作系统以及时间戳。

未开启时绝不会收集的内容: 你的提示词、生成的代码、视口截图、场景数据和轨迹步骤。

如何开启 — 前往 编辑 → 偏好设置 → 附加组件 → MCP for Blender,勾选遥测同意复选框。部分 MCP 客户端还会在对话开始时提供一次性的开启提示。开启后,提示词、生成的代码、截图和轨迹数据也将被收集;详见服务条款。你可以随时在同一位置关闭。

如何完全关闭遥测(包括最小的匿名使用记录),请设置环境变量:

DISABLE_TELEMETRY=true uvx mcp-for-blender

或将其添加到你的 MCP 配置中:

{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": ["mcp-for-blender"],
            "env": {
                "DISABLE_TELEMETRY": "true"
            }
        }
    }
}

遥测数据不会与您的姓名或账户关联。该数据可能用于改进 MCP for Blender、开展研究以及训练 AI 模型。

关于所收集的数据详情以及您选择加入后授予的许可,详见 TERMS_AND_CONDITIONS.md。


反馈

我们正积极征集关于 MCP for Blender 的反馈。如果您有任何想法,欢迎在这里分享。

如果您有更详细的反馈,可以在这里与我们预约通话——我们将在项目中为您署名致谢。

加入社区

分享反馈、获取灵感,基于 MCP 进行二次开发:Discord

贡献指南

欢迎参与贡献!请随时提交 Pull Request。

免责声明

本插件为第三方集成,并非由 Blender 官方开发。作者为 Siddharth。


Star 历史

Star 历史图表

如果 MCP for Blender 对您有帮助,请考虑为仓库点个 Star

项目介绍

Community plugin to control Blender 3D with any LLM of your choice. Not affiliated with the official Blender Foundation.

定制我的领域
20933.3 K3.02 K访问 GitHub