# three.ws Blender

Даёт агенту локальный Blender без GUI: посмотреть 3D-файл, сконвертировать формат, отрендерить превью и выполнить bpy-скрипт.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 249
- Автор: nirholas
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/nirholas/three.ws/tree/HEAD/packages/blender-mcp
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/threews-blender

## Что делает

Сервер поднимает настоящий Blender в фоновом режиме (`blender -b`) на каждый вызов и общается с ассистентом по stdio. Ни окна, ни аддона внутри Blender ставить не нужно, поэтому схема работает на сервере, в CI и в контейнере без дисплея. Каждый инструмент управляет тем Blender, что уже стоит на машине.

Внутри семь инструментов. `blender_scene_info` описывает сцену: объекты, треугольники, материалы, текстуры, кости и анимации. `blender_convert` меняет один формат на другой по расширениям файлов, `blender_optimize` урезает треугольники и текстуры с отчётом до и после, `blender_render` отдаёт PNG прямо в ответ и сам добавляет камеру со светом, если их нет. `blender_run_python` запускает `bpy`-скрипт, `blender_forge_import` генерирует модель по тексту или картинке, `blender_info` показывает, что умеет ваша сборка. Сжатые glTF с meshopt и Draco распаковываются на лету — без внешнего бинарника.

Нужны Node.js 20+ и Blender 3.0 или новее. Если исполняемый файл не в `PATH`, задайте `BLENDER_PATH`, иначе сервер не найдёт Blender. Список форматов зависит от сборки: у части дистрибутивов нет USD, Collada или Alembic, и `blender_info` покажет реальный набор. Рендер держите в запасе под таймаут.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `BLENDER_PATH`, `BLENDER_MCP_TIMEOUT_MS`, `BLENDER_MCP_WORKDIR`, `BLENDER_MCP_ALLOW_PYTHON`, `BLENDER_MCP_INLINE_IMAGE_BYTES`, `BLENDER_MCP_INLINE_IMAGE_PX`, `BLENDER_MCP_MAX_CONCURRENCY`, `THREE_WS_BASE`, `THREE_WS_FORGE_TIMEOUT_MS`, `THREE_WS_FORGE_PROVIDER_KEY` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.
- Работает с: Blender

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env BLENDER_PATH=<BLENDER_PATH> --env BLENDER_MCP_TIMEOUT_MS=<BLENDER_MCP_TIMEOUT_MS> --env BLENDER_MCP_WORKDIR=<BLENDER_MCP_WORKDIR> --env BLENDER_MCP_ALLOW_PYTHON=<BLENDER_MCP_ALLOW_PYTHON> --env BLENDER_MCP_INLINE_IMAGE_BYTES=<BLENDER_MCP_INLINE_IMAGE_BYTES> --transport stdio blender-mcp -- npx -y @three-ws/blender-mcp
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add blender-mcp --env BLENDER_PATH=<BLENDER_PATH> --env BLENDER_MCP_TIMEOUT_MS=<BLENDER_MCP_TIMEOUT_MS> --env BLENDER_MCP_WORKDIR=<BLENDER_MCP_WORKDIR> --env BLENDER_MCP_ALLOW_PYTHON=<BLENDER_MCP_ALLOW_PYTHON> --env BLENDER_MCP_INLINE_IMAGE_BYTES=<BLENDER_MCP_INLINE_IMAGE_BYTES> -- npx -y @three-ws/blender-mcp
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "blender-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@three-ws/blender-mcp"
            ],
            "env": {
                "BLENDER_PATH": "<BLENDER_PATH>",
                "BLENDER_MCP_TIMEOUT_MS": "<BLENDER_MCP_TIMEOUT_MS>",
                "BLENDER_MCP_WORKDIR": "<BLENDER_MCP_WORKDIR>",
                "BLENDER_MCP_ALLOW_PYTHON": "<BLENDER_MCP_ALLOW_PYTHON>",
                "BLENDER_MCP_INLINE_IMAGE_BYTES": "<BLENDER_MCP_INLINE_IMAGE_BYTES>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "blender-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@three-ws/blender-mcp"
            ],
            "env": {
                "BLENDER_PATH": "<BLENDER_PATH>",
                "BLENDER_MCP_TIMEOUT_MS": "<BLENDER_MCP_TIMEOUT_MS>",
                "BLENDER_MCP_WORKDIR": "<BLENDER_MCP_WORKDIR>",
                "BLENDER_MCP_ALLOW_PYTHON": "<BLENDER_MCP_ALLOW_PYTHON>",
                "BLENDER_MCP_INLINE_IMAGE_BYTES": "<BLENDER_MCP_INLINE_IMAGE_BYTES>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e BLENDER_PATH=<BLENDER_PATH> -e BLENDER_MCP_TIMEOUT_MS=<BLENDER_MCP_TIMEOUT_MS> -e BLENDER_MCP_WORKDIR=<BLENDER_MCP_WORKDIR> -e BLENDER_MCP_ALLOW_PYTHON=<BLENDER_MCP_ALLOW_PYTHON> -e BLENDER_MCP_INLINE_IMAGE_BYTES=<BLENDER_MCP_INLINE_IMAGE_BYTES> blender-mcp npx -y @three-ws/blender-mcp
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

## Когда брать
- посмотреть содержимое FBX или GLB перед работой
- перегнать клиентский FBX в веб-GLB с нужным масштабом
- урезать треугольники и текстуры под мобильный бюджет
- получить картинку модели прямо в ответе агента
- прогнать `bpy`-скрипт на сцене и сразу выгрузить результат

## Похожие
- [Pascal 3D Editor](https://affpapa.org/nevibecode/mcp/pascal-3d-editor.md) — MCP-сервер · ★ 25085
- [Unity-MCP](https://affpapa.org/nevibecode/mcp/unity-mcp.md) — MCP-сервер · ★ 4523
- [mcp](https://affpapa.org/nevibecode/mcp/sceneview-mcp.md) — MCP-сервер · ★ 1348

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
