MCP server · Blender 4.2 – 5.2 · verified on 5.2.1
192 tools that let Claude, Cursor or any MCP client model, texture, light, animate, simulate and render inside a running Blender — pull free assets from Poly Haven — and see the render before it says it is done.
One-time purchase · macOS, Windows & Linux · Node 18+
By the numbers
The release was exercised in Blender 5.2.1 across modelling, materials, lighting, animation, physics, rendering and import/export. Results were checked from returned data and renders.
The part that matters
During development every call reported success — objects created, materials assigned, lights placed. Then the first render came back and Suzanne was flat on her face. That is the whole argument for returning images, told in one scene.
Pedestal, monkey, halo, three materials, three-point rig, camera, DOF. Every response green.
bx_render returned the image. The model saw the mesh lying flat and knew the numbers had not told the truth.
A 90° X rotation buried her face in the pedestal. The render showed that too.
Diagnosed as a Z-axis problem, rotated 45°, re-rendered, confirmed. The loop converged because it could see.
Catalogue
Every tool's schema costs context before the model reads your first word. 192 of them would
cost about 35,000 tokens, so they load lazily: the core 5 are visible at connect and the model
calls bx_enable_tools for the categories the task needs. The client's tool list
refreshes on its own.
The model loads what it needs mid-conversation. Prefer to pre-load, or use a client that ignores list changes? Two environment variables cover it.
BLENDER_MCP_CATEGORIES=mesh,materials # pre-load BLENDER_MCP_EAGER=1 # load all 192
Blender 5.x
Each one took down a whole category of tools on first run. The server now includes compatibility paths for the affected 4.2 and 5.2 APIs.
Removed in 5.x. Slotted actions moved F-curves to layers[].strips[].channelbags[].fcurves. Every animation tool failed at once. A helper now walks whichever structure the build has.
Compositing rebuilt. The compositor is now a node group on scene.compositing_node_group, the Composite output node is gone, and Glare moved every setting onto input sockets. The old node name is accepted as an alias so 4.x-era instructions still work.
Needs a 3D viewport. Blender's own operator calls one that fails outside a UI context. The simulation is sampled manually instead — record every frame, strip the rigid bodies, then write the keys.
Safety layer
No other Blender MCP ships this: a dedicated safety category that checkpoints the whole scene, lists every change the AI made field by field, and rolls everything back in one call. Experiment freely — nothing is irreversible.
Checkpoint everything. A named, restorable copy of the full scene before risky work — written to disk, so it survives crashes and restarts.
See every change. Compare against a captured baseline: objects added, removed or modified, with before/after values for transforms, materials, visibility and animation.
Roll back in one call. Restore any named snapshot — the whole scene returns to that exact state, whatever the AI (or you) did afterwards.
Scope, stated plainly
You should know the gaps before you pay, not after. Most of what is missing is still reachable through bx_exec_python; it simply has no validated tool yet.
Setup
Run the installer for your platform, then enable the add-on from Blender's Preferences (Install from Disk). It also prints your MCP client config.
./install-macos.sh # macOS ./install-linux.sh # Linux install-windows.bat # Windows
One line. There is no npm install — the server ships as a single bundled file that needs only Node 18.
claude mcp add blender-ultra -- node "/path/to/BlenderMCPUltra/server/dist/server.js"
The kernel starts listening when Blender starts. Ask your assistant to run bx_status; it reports the Blender version it is talking to.
Preview only: checkout is in sandbox. Requires Blender, Node.js 18+ and a configured MCP client. AI usage costs are separate. Setup guide · Verified demo
Pricing
PayPal worldwide · Pix, OXXO, tarjetas locales vía dLocal Go
Because 192 schemas would eat about 35,000 tokens of context before you said anything. Ask for a category — "load physics" — and it appears; the server lists them all in its instructions.
The compatibility target is 4.2 through 5.2. This release was verified in Blender 5.2.1; use the included status tool after installing on another version.
The add-on uses Blender's Python API and is distributed under GPL. The bundled MCP server is distributed under its own proprietary licence.
No. It renders with whatever engine the scene uses and reports which engines the build offers. EEVEE is the default; Cycles is used for baking when present.
bx_exec_python runs anything on Blender's main thread with bpy in scope, with structured results and real tracebacks.
One licence per developer. Studios buy one seat each — get in touch for volume terms.