Skip to main content

blender-mcp-ultra

CI Release License: MIT Python 3.10+ Blender 4.2+ Tests

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.

223 tools · Windows / macOS / Linux · headless-ready · production-grade security

Demo scene created entirely by an AI agent with blender-mcp-ultra: wooden table, Pixar-style lamp, coffee mug and metal towers

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
8 spheres with procedural PBR materials: copper, gold, glass, ceramic, fabric, rubber, stone, plastic Terrain with rocks scattered via Geometry Nodes Rigid body simulation: metal ball smashing a brick wall
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

More: docs/clients/claude-code.md

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

More: docs/clients/antigravity.md · docs/remote.md

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, 223 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

blender_mcp_ultra-3.0.1.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blender_mcp_ultra-3.0.1-py3-none-any.whl (373.5 kB view details)

Uploaded Python 3

File details

Details for the file blender_mcp_ultra-3.0.1.tar.gz.

File metadata

  • Download URL: blender_mcp_ultra-3.0.1.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for blender_mcp_ultra-3.0.1.tar.gz
Algorithm Hash digest
SHA256 7df070aee0c6c5c95cd1c9add409de2cd39ddb4bea763395dfdd567495aad09a
MD5 060fb0adb3de5d362c41323ba6f8a0c2
BLAKE2b-256 bb34bb5dba37509fe7537b583549a992b5c944cde5d96ffff9f2ed6c868bca98

See more details on using hashes here.

File details

Details for the file blender_mcp_ultra-3.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for blender_mcp_ultra-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5b1253c47c42859414a4b020d4f38d9709428fbf90fd9057cc399d70e1fadf7b
MD5 e06dc492f1bffc8cd58e6ae8c412170b
BLAKE2b-256 6cf93f64c46ff46220ef789c5853700e656cba9b42f153826b8651a001b5d657

See more details on using hashes here.

Release history Release notifications | RSS feed

3.1.0

2 files

3.0.2

2 files

This release

3.0.1 This release

2 files

3.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page