blender-mcp-ultra
The most complete MCP server for Blender — control Blender with natural language from any AI agent: Claude Code, Claude Desktop, Cursor, opencode, Windsurf, Antigravity, LM Studio, Ollama and any Model Context Protocol (MCP) client.
239 tools · Windows / macOS / Linux · headless-ready · production-grade security
Scene above: 100% created and rendered by an AI agent through this MCP server — no manual modeling.
Gallery — what agents build with it
| PBR materials | Geometry Nodes | Physics |
|---|---|---|
material_pbr + 3-point lighting |
geonodes scatter + noise terrain |
rigid body + baked simulation |
Every image above was generated end-to-end through MCP tools — scene setup, materials, lighting, camera framing, simulation and final Cycles render.
What is it?
blender-mcp-ultra connects Blender (the free open-source 3D suite) to LLM agents through the Model Context Protocol. Ask your AI assistant to model, texture, light, animate, simulate and render 3D scenes — it executes through 223 typed tools instead of fragile screenshot-guessing.
You: "Create a wooden table with a coffee mug on it and render it in Cycles"
Claude: → object.create, mesh ops, material PBR wood, light.three_point,
camera.set_framing, render.render → escena.png
Highlights
- 🧰 223 MCP tools in 24 categories — modeling, materials, shader nodes, geometry nodes, lighting, cameras, animation, physics, compositor, UV, rigging, 3D printing, export (FBX/OBJ/glTF/STL), batch, VLM visual feedback, multi-agent collab, scene planner
- 🖥️ Any MCP client — stdio (Claude Code/Desktop, Cursor, opencode, VS Code, Windsurf), SSE/HTTP (Antigravity, remote), REST
- 🧠 VLM feedback loop — the agent sees its renders (EEVEE headless capture) and iterates
- 🔒 Enterprise security — AST code validation (200+ blocked patterns), sandboxed execution, rate limiting, token auth, localhost-only binding, 0 secrets in history (gitleaks)
- 🤖 Multi-provider — OpenAI, Anthropic, Google, DeepSeek, Ollama (local)
- 📦 Asset integrations — PolyHaven, Sketchfab, AmbientCG, Hyper3D
- 🚀 Headless CI — real E2E tests against Blender in GitHub Actions (Linux + Windows + macOS)
- 🧪 479 tests passed · ruff · bandit · pip-audit clean
Quick Start
1. Install the Blender addon
Download blender_mcp_ultra.zip → Blender → Edit > Preferences > Add-ons > Install… → enable blender-mcp-ultra → click Connect in the N-panel.
Or install from this repo (Blender 4.2+/5.x):
git clone https://github.com/carlosh7/blender-mcp.git
cd blender-mcp
pip install -e .
2. Connect your AI client
Claude Code
claude mcp add blender -- python /ruta/a/blender-mcp/mcp_server.py
Claude Desktop / Cursor / Windsurf / VS Code (mcp.json)
{
"mcpServers": {
"blender": {
"command": "python",
"args": ["/ruta/a/blender-mcp/mcp_server.py"]
}
}
}
More: docs/clients/claude-desktop.md · cursor.md · vscode.md
opencode
python mcp_server.py # el addon auto-escribe ~/.config/opencode/mcp.json
More: docs/clients/opencode.md
Antigravity / clientes HTTP / remoto
python mcp_server.py --sse # SSE en :9879 (MCP_SSE_HOST para exponer)
# REST local: http://localhost:9877 (token en preferencias del addon)
# Docker:
docker build -t blender-mcp-gateway . && docker run -p 9879:9879 blender-mcp-gateway
3. Ask your agent
"Modela una silla de madera con biselado y material PBR, ilumina en 3 puntos y renderiza"
Tools (223)
| Category | Examples |
|---|---|
| Scene | scene.get_info, scene.create, scene.render_settings, scene.query |
| Objects & Mesh | object.create/transform/join, mesh.get_topology, mesh.bevel_edges, mesh.extrude_faces |
| Materials & PBR | material_create, material_pbr (wood/metal/fabric/leather/stone/glass…), material_assign |
| Shader / Geo Nodes | shader.add_node/connect_nodes, geonodes.scatter/array/create_group |
| Lights & Camera | light.three_point, light_create, camera.track_to, camera.set_framing |
| Animation | animation.set_keyframe, animation_get_fcurves, NLA, drivers, shape keys |
| Physics | rigid body, cloth, soft body, particles, force fields, constraints, baking |
| Render | Cycles/EEVEE settings, render_render, render_viewport, filmic, jobs con progreso |
| I/O & Export | FBX, OBJ, glTF, STL + export_for_target (game/web/print/film), LODs, colisiones |
| UV & Texture | smart UV project, unwrap, bake, textures |
| Rigging | armatures, bones, constraints, vertex groups, auto weights |
| 3D Printing | manifold/watertight checks, scale to mm, dimensions |
| Batch & Perf | batch rename/materials/modifiers, turntable, LODs, memory report |
| VLM Feedback | vlm_capture, vlm_analyze, composition & lighting checks |
| Collab & Planner | locks por objeto, mensajes entre agentes, tareas, plan_create/execute |
| Versioning & Docs | vc_snapshot/restore, docs_scene, eventos poll_events |
Full reference generated from the live registry: docs_scene tool · skills/recetas en docs/skills/.
Security
| Layer | Mechanism |
|---|---|
| Transport | localhost-only sockets + X-API-Token auth (HTTP) |
| Code execution | AST validation (200+ blocked patterns) + sandboxed subprocess (CPU/RAM limits, timeout) |
| Input | path traversal / injection validation |
| Audit | structured JSON logs with rotation |
| Supply chain | gitleaks (full history) + pip-audit in CI |
Architecture
AI Agent (Claude/Cursor/…) ──MCP stdio/SSE──▶ mcp_server.py (gateway, 239 tools)
│ socket :9876 (localhost + token)
▼
Blender + addon blender-mcp-ultra
(handlers, validators, PBR, physics…)
src/ # hexagonal: core / adapters / infrastructure / presentation / tools
addon/ # Blender addon: socket server, handlers, PBR factory, anti-blockout
skills/ # 19+ skill definitions for Claude Code / Cursor
docs/ # client guides, skills recipes, tutorials
tests/ # 479 tests (unit + integration + e2e headless)
Testing
pytest tests/unit -q # sin Blender
pytest -q # completo (requiere Blender con el addon conectado)
CI ejecuta la suite completa contra Blender headless en cada push (Linux, Windows, macOS).
FAQ
Does it work with ChatGPT / Gemini? Any client that speaks MCP works. For providers without MCP support, the bundled REST API (:9877) accepts plain HTTP.
Does Blender need to be open? Yes for interactive work (it drives the real Blender). CI/headless render jobs run with blender -b — see docs/skills/headless_ci.md.
Is it safe? The agent can execute Blender Python — that's the product. Execution is sandboxed, validated by AST, rate-limited and bound to localhost with token auth. Run trusted agents only.
Blender versions? 4.2+ (LTS) and 5.x. Python 3.10+ for the gateway.
Contributing
PRs welcome — read CONTRIBUTING.md. Docs: GUIDE.md · ARCHITECTURE.md · CHANGELOG.md
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file blender_mcp_ultra-3.1.0.tar.gz.
File metadata
- Download URL: blender_mcp_ultra-3.1.0.tar.gz
- Upload date:
- Size: 359.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38f7745759aae5728edb8037ee4b5ee4deb8d6765417eb3c4258892d70103b7d
|
|
| MD5 |
db25338db9b57e7589aad18410fab175
|
|
| BLAKE2b-256 |
f05daa13149d0594c0b130758bb1aed9133cd3db9b447999679dd3148a881d2d
|
File details
Details for the file blender_mcp_ultra-3.1.0-py3-none-any.whl.
File metadata
- Download URL: blender_mcp_ultra-3.1.0-py3-none-any.whl
- Upload date:
- Size: 413.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4746bd48496a9e0fe35bb607ae55e415206431451b395a18ab43c570d921c9a3
|
|
| MD5 |
68d6ee4c36ace429ff7d4f22a10b53af
|
|
| BLAKE2b-256 |
9aa5cf1584fb80106100cd8eade0d77e8144499b3f4041f782393c4cd5142227
|