Open community preview

Use Blender as a Python module. Give agents a narrow MCP interface.

A focused path from ordinary Python code to Blender scenes: one runtime you can import, four tools an agent can reason about, and a protocol surface that stays still.

Standalone bpy packaging remains work in progress. Track build work in PR #9.

scene.pyPython
# Blender, from Python
import bpy

cube = bpy.data.objects["Cube"]
cube.rotation_euler.z = 0.785

bpy.context.scene.render.filepath = "frame.png"
bpy.ops.render.render(write_still=True)
Local runtimeNo application wrapper

01 / What developers can do

Two surfaces. One Blender runtime.

Keep direct control in Python. Expose only the operations an agent needs.

Import Blender

Build tools, render pipelines, tests, and batch jobs around import bpy in a normal Python workflow.

Python API

Constrain agents

Give an agent exactly four MCP tools instead of a sprawling control plane. Smaller surfaces are easier to inspect and evaluate.

Inspect the interface

02 / System boundary

Runtime → MCP → Frozen Protocol

Separate execution from agent access, then make the evaluation boundary repeatable.

  1. 01

    Runtime

    Blender capabilities available through Python, suitable for local tooling and automation.

  2. 02

    MCP

    A narrow adapter: exactly four tools, explicit inputs, inspectable outputs.

  3. 03

    Frozen Protocol

    Tasks, rounds, rendering, and scoring held constant for the reported run.

03 / Initial evidence

Measured in renders, not claims.

One transparent community-preview run on the public BlenderBench dataset.

27
public BlenderBench tasks
270
GPU-rendered and GPU-CLIP-scored checkpoints
4
exactly four MCP tools
10 rounds per taskno VLM judgeno score feedback during generation

Category results

Mean best distance by difficulty

Category mean best N-CLIP ×100. N-CLIP is derived from CLIP image-embedding cosine similarity; lower is better. Values retain the precision of the recorded aggregate.

Category mean best N-CLIP times 100
CategoryN-CLIP ×100
Camera / Level 10.3738476170433892
Level 21.603147718641493
Level 32.2820386621687145
Best-round generated bedroom scene beside the BlenderBench target render for task 24 of 27, round 7 of 10.
Best-round checkpoint and target from the initial run.Target data: BlenderBench by DietCoke4671 and contributors, dataset revision 203e4d325e9438ca55b29bdfc4f6a90842d74e68, licensed CC BY 4.0.

Open community preview

Test the boundary. Question the benchmark. Shape what ships.