内容
<p align="center">
<img src="https://raw.githubusercontent.com/ellmos-ai/ellmos-blender-use-mcp/main/assets/logo.jpg" alt="ellmos Blender Use MCP logo" width="280">
</p>
# ellmos Blender Use MCP
用于游戏和 3D 资产流程的资产质量检查工具:验证导出的 FBX 文件是否能干净地在无界面 Blender 中重新导入 — 网格数量、材质数量和所需的命名前缀会自动检查,并以确定的 JSON 结果取代手动检查。`blender_verify_fbx_reimport` 是核心工具;`blender_locate` 和 `blender_run_script` 是其构建的基础的通用原语。
**无需插件。无需 TCP 端口。无需后台守护进程。** 该服务器不会在 Blender 中安装任何内容,不会为正在运行的 Blender 实例打开套接字连接,也不会保持 Blender 运行。每次调用都会启动 `blender --background --python <script.py>`,等待有限的超时守护退出,并返回结果 — 按设计无界面且无状态。它不会下载资产,也不会收集遥测数据。
**与其他 Blender MCP 服务器的区别。** 大多数 Blender MCP 项目(例如 `ahujasid/blender-mcp`,官方 Blender Labs MCP 服务器)驱动一个实时的正在运行的 Blender GUI,通过 TCP/插件桥接进行交互式场景编辑 — 这是一个不同的使用场景,具有不同的信任模型(开放的套接字、已安装的插件、持久的过程)。该服务器的目标是 **CI 风格的单次资产验证**:在管道步骤中运行它,获取通过/失败的 JSON,然后继续。如果需要实时 GUI 控制,请单独使用经过审查的 Blender MCP 插件(参见下面的安全部分)。
## 工具
| 工具 | 用途 |
|---|---|
| `blender_verify_fbx_reimport` | 生成一个临时的 Blender 验证脚本,导入一个 FBX 文件,并写入一个包含网格/材质数量和缺少所需前缀的 JSON 结果。 |
| `blender_run_script` | 运行 `blender --background --python <script.py>`,带有可选参数和有限的 stdout 尾部。 |
| `blender_locate` | 从显式路径、`BLENDER_EXE`、已验证的本地默认值或 PATH 解析 Blender 可执行文件。 |
## 安全
- 该服务器在 Blender 内运行本地 Python。请仅使用您信任的脚本和资产路径。
- 默认超时是有限的。
- 不包括远程资产市场、API 密钥或遥测。
- 对于实时 GUI 控制,请单独使用经过审查的 Blender MCP 插件。
## 安装
### 选项 1:通过 npx 运行(无需安装)
```json
{
"mcpServers": {
"blender-use": {
"command": "npx",
"args": ["-y", "ellmos-blender-use-mcp"]
}
}
}
```
### 选项 2:从源代码安装
```bash
git clone https://github.com/ellmos-ai/ellmos-blender-use-mcp.git
cd ellmos-blender-use-mcp
npm install
npm run build
node src/index.js
```
对于本地checkout,请将 `command`/`args` 指向克隆的 `src/index.js`:
```json
{
"mcpServers": {
"blender-use": {
"command": "node",
"args": ["<path-to-repo>/src/index.js"]
}
}
}
```
## 配置
- `BLENDER_EXE` — Blender 可执行文件的可选路径。没有它,工具会尝试显式的 `blenderPath` 参数,然后是 `BLENDER_EXE`,然后是已验证的本地 Windows 默认值,最后是 `PATH`。
- 每个工具还接受每个调用的显式 `blenderPath` 参数,该参数优先于 `BLENDER_EXE`。