内容
# blender-mcp
MCP 的 Blender 版本适用于 Pablo。分为两部分:
## 1) 主要:BlenderMCP(交互式)✅ 已投入使用
社区成熟的 MCP(`ahujasid/blender-mcp`):Blender 内的插件 +
MCP 服务器通过 socket(localhost:9876)通信。允许执行任意 Python bpy 代码,
创建/编辑对象和材质,渲染,**捕获视口(Claude 看到结果)** 并下载 Poly Haven / Hyper3D 的资产。
- **MCP 服务器**:`uvx blender-mcp`(在 `~/.claude.json` 中注册,用户范围为 `blender`)。
- **插件**:已安装并在 `~/.var/app/org.blender.Blender/config/blender/5.1/scripts/addons/blendermcp_addon.py` 自动激活
(从此存储库的 `addon.py` 复制;用户首选项保存时激活插件)。
- **Blender**:5.1 版通过 Flatpak(`org.blender.Blender`),Python 3.13.9 包含 `requests`。
验证插件在 5.1 版本中加载/注册无错误。
### 使用(唯一手动步骤,按设计)
socket 需要 GUI 的事件循环,因此需要:
1. 打开 Blender(GUI)。
2. 在视口中按 `N` 键 → **BlenderMCP** 选项卡。
3. 点击 **Connect**(在端口 9876 启动服务器)。
这样,`mcp__blender__*` 工具在 Claude Code 中可操作。
## 2) 备用:独立 MCP(批处理)
`server.py` + `_runner.py`:MCP stdio 与 FastMCP,启动
`flatpak run org.blender.Blender --background --python` 并执行 bpy 代码,无窗口。
适用于自动渲染/脚本(cron/systemd),调用之间无状态(使用参数 `abrir`/`guardar` `.blend` 文件)。
未在 Claude 中注册;通过以下方式激活:
```json
"blender-headless": {
"command": "/home/pepe/Proyectos/blender-mcp/.venv/bin/python",
"args": ["/home/pepe/Proyectos/blender-mcp/server.py"]
}
```
限制:headless = Claude 盲操作(仅 `print()`),看不到视口。
因此,主要使用 ahujasid 的版本。