Blender MCP
Blender MCP — Streamable-HTTP-Brücke für Blender 5.2 LTS
Eine Model Context Protocol-Brücke, die es jedem MCP-Client (Antigravity, Cursor, Claude Desktop, VS Code 1.101+, MiniMax Code, Windsurf, Continue, Cline, OpenCode, Codex, MCP Inspector, …) ermöglicht, Blender 5.2 LTS über natürliche Sprache zu steuern.
Das Add-on führt einen MCP-Streamable-HTTP-Server innerhalb von Blender in einem Hintergrund-Thread aus. Der Client zeigt einfach darauf – es wird kein Unterprozess gestartet und kein Socket-Paar muss betreut werden.
Warum diese Form
Ein einziger Installationspfad innerhalb von Blender. Der MCP-Server läuft prozessintern mit
bpy, sodass es keinenuvx/pipx-Tanz und kein Socket-Paar gibt, das synchron gehalten werden muss.Streamable HTTP auf localhost. Funktioniert mit jedem modernen MCP-Client.
Handgefertigter MCP-Server im Add-on. Blender 5.2 LTS bündelt standardmäßig Python 3.13 ohne externe Pakete. Ein ~300-zeiliger MCP-Server ist portabler, als
mcp[cli]heranzuziehen undsys.pathzu bearbeiten.Client-agnostisch. Kein proprietäres Plugin-Format. Jeder MCP-Client, der einen HTTP-Endpunkt erreichen kann (oder ein stdio-Proxy, das das tut), funktioniert.
Related MCP server: blender-mcp
Projektstruktur
blender_addon_mcp/
├── README.md ← you are here
├── LICENSE ← MIT
├── pyproject.toml ← dev tooling for the add-on (ruff, mypy, pytest)
├── .gitignore
├── addon/
│ └── blender_mcp_addon/ ← zips into a Blender-installable .zip
│ ├── __init__.py ← bl_info, register/unregister, preferences
│ ├── server/
│ │ ├── __init__.py
│ │ ├── mcp_server.py ← MCP protocol (initialize, tools/list, tools/call, ping)
│ │ ├── transport.py ← stdlib http.server, runs on a daemon thread
│ │ └── protocol.py ← JSON-RPC 2.0 + MCP 2025-03-26 types
│ ├── tools/
│ │ ├── __init__.py ← tool registry
│ │ ├── scene.py ← scene_info, frame control
│ │ ├── objects.py ← list, get, create, delete, transform
│ │ ├── materials.py ← create, assign, modify
│ │ ├── modifiers.py ← add, set params, remove
│ │ ├── render.py ← render_image, screenshot_viewport
│ │ └── code.py ← execute_python (with confirmation)
│ └── utils/
│ ├── __init__.py
│ ├── bpy_helpers.py ← bpy → JSON serialization
│ └── safe_eval.py ← ast-validated code execution
├── scripts/
│ ├── install_addon.ps1 ← zip and install into Blender
│ ├── blender_mcp_proxy.js ← optional stdio/socket ↔ HTTP bridge for
│ │ Antigravity builds that don't accept `url`
│ └── start_blender_mcp_bridge.ps1 ← start/stop/status lifecycle for the bridge
├── examples/
│ ├── mcp-configs.md ← copy-paste configs for every major MCP client
│ ├── basic_scene.md
│ ├── material_setup.md
│ └── render_workflow.md
└── docs/
├── architecture.md
├── blender_5_2_notes.md
└── tools_reference.mdSchnellstart
1. Add-on installieren
# clone
git clone https://github.com/tattooinmtl/Blender_MCP.git
cd Blender_MCP
# install the add-on into every Blender version on this machine
pwsh ./scripts/install_addon.ps12. Server in Blender aktivieren
Blender öffnen.
Edit → Preferences → Add-ons → nach „Blender MCP“ suchen → das Kontrollkästchen aktivieren.
Port festlegen (Standard
8765) und auf Start Server klicken (oder das Blender MCP-Panel in der Seitenleiste der 3D-Ansicht verwenden).Die Konsole sollte Folgendes ausgeben:
[Blender MCP] Server listening on http://127.0.0.1:8765/mcp
3. MCP-Client verbinden
Wählen Sie den von Ihnen verwendeten Client und fügen Sie den passenden Ausschnitt aus examples/mcp-configs.md ein. Die Antigravity-url-Form ist die einfachste:
{
"mcpServers": {
"blender": { "url": "http://127.0.0.1:8765/mcp" }
}
}Ausschnitte für Cursor, Claude Desktop, VS Code, MiniMax Code, Windsurf, Continue, Cline und den MCP Inspector finden Sie alle in dieser Datei.
4. Überprüfen
In einem beliebigen MCP-Client-Chat:
Verwenden Sie den Blender-Server: ping.
Sie sollten sehen, dass der Agent tools/call auf ping aufruft und ein leeres erfolgreiches Ergebnis meldet. Von einem Terminal aus:
curl -s -X POST http://127.0.0.1:8765/mcp `
-H "Content-Type: application/json" `
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}'BlenderMCP-Dominator-Bundle
Dieses Repository enthält auch das vollständige DomiNations/OpenCivilizations-Projekt, das im Add-on als blender_mcp_addon/dominator/ verschachtelt ist.
Zusätzliche Tools:
Tool | Zweck |
| Add-on, Bundle, MCP-Endpunkt, Node/npm, MongoDB, Redis überprüfen |
| Eine Dominator-Renderszene konfigurieren |
| Eine prozedurale Einheit erstellen (z. B. |
| Ein prozedurales Gebäude erstellen ( |
| Die Szene als PNG rendern |
| Einheiten-Builder auflisten |
| Gebäude-Builder auflisten |
| Eine Nationen-Materialpalette anwenden |
Verfügbare Tools
Tool | Zweck | Nur lesen |
| Fähigkeits-Handshake – Name, Version, Protokoll, Tool-Liste. Zuerst aufrufen. | ja |
| Szenenzusammenfassung (Objekte, Lichter, Kameras, Frame) | ja |
| Szenenobjekte auflisten, optionaler Typfilter | ja |
| Vollständige Objektdetails (Position, Rotation, Skalierung, Modifikatoren, Materialien) | ja |
| Primitiv erstellen (Würfel, Kugel, Ebene, Zylinder, Kegel, Torus, Empty, Kamera, Licht) | nein |
| Ein Objekt nach Namen löschen | nein |
| Position/Rotation/Skalierung festlegen | nein |
| Ein Material mit einem Principled-BSDF erstellen oder zuweisen | nein |
| Eine Bilddatei auf einen Materialeingang anwenden (base_color, roughness, normal usw.) | nein |
| GLB/GLTF/FBX/OBJ/STL/PLY/DAE/USD/X3D/ABC importieren | nein |
| Einen Modifikator hinzufügen (Subdivision, Mirror, Solidify, Array, Bevel) | nein |
| Einen Modifikator nach Namen entfernen | nein |
| Timeline lesen / verschieben | gemischt |
| Den aktuellen Frame in eine Datei rendern | nein |
| Den aktuellen Viewport erfassen | nein |
| Beliebigen | nein |
| Gesundheitscheck | ja |
Siehe docs/tools_reference.md für das vollständige Schema und Beispiele.
Entwicklung
# syntax-check the add-on (Blender's Python is at <blender>/python/bin/python.exe)
python -m py_compile addon/blender_mcp_addon/__init__.py
python -m py_compile addon/blender_mcp_addon/server/mcp_server.py
# ...etc
# lint
ruff check addon/
mypy addon/
# test the MCP server in isolation (no bpy required)
pytest addon/tests/ -vLizenz
MIT. Siehe LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Blender-as-a-service for agents: search 3D assets, run Blender Python, or brief the studio agent.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Connect your AI assistant to Blender for 3D modeling, Geometry Nodes, materials, lighting, animation, rendering and export. Inspect real scenes and viewport images, refine the result and restore checkpoints. OAuth connects your chat to Blender Bridge Desktop on an online Windows 10/11 x64 computer running Blender 4.2+. The chat can run on another device. Requires an active Blender Bridge account; 7-day trial available. AI model access is separate.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables natural language control of Blender 3D through MCP clients, allowing creation, modification, and manipulation of 3D models, animations, and scenes.300MIT
- AlicenseCqualityAmaintenanceEnables AI-powered control of Blender through natural language, allowing users to create, manipulate, and automate 3D scenes, objects, materials, animations, and more via Claude or other MCP clients.7162MIT
- AlicenseNot gradedqualityCmaintenanceThis server enables natural language control of Blender 5.2 LTS through any MCP client, allowing scene inspection, object and material manipulation, rendering, and safe Python execution.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables any MCP client to drive Blender 5.2 LTS through natural language, with tools for scene inspection, object creation and transformation, material and modifier handling, rendering, viewport capture, and guarded Python execution.2MIT