MCP server that lets AI agents build, check and export game assets in Blender itself, with rendered previews and glTF read back for Godot and three.js
BlenderLens
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server that lets an AI agent model, texture and animate in **Blender**, from a single object to a whole
animated scene. You can watch the agent work in your own Blender window and undo anything it does, or let it work in
a background Blender with no window. The result is an ordinary .blend file, or an export in the format you need.
A short animated scene that an AI agent made in Blender through BlenderLens, shown at double
speed.
What it can do
Once the server is connected, you describe what you want and the agent builds it in Blender. With BlenderLens it can:
- **Model**: start from primitives, tubes along a path, lathed profiles, 3D text or raw vertices, then extrude,
inset, bevel, bisect, solidify and subdivide, or add any Blender modifier.
- **Texture**: PBR materials with emission and transparency, vertex colours, UV unwrapping, and baked colour,
ambient occlusion, normal and lighting textures.
- **Animate**: key movement, rotation, scale and shape keys into named clips.
- **Assemble scenes**: place, parent, duplicate and group objects, and drop them until they rest on what is below.
- **See its work**: render previews from any angle, or a sheet of several views, in shaded, clay or wireframe style.
- **Check**: measure parts, find ones that pass through each other, and catch broken geometry before you do.
- **Deliver**: save the .blend, or export glTF, FBX, OBJ, STL, PLY or USD; import existing models; run your own
build scripts.
Built for AI agents
An agent can already drive Blender by writing Python, but it works blind: it cannot see the result, guesses at
geometry it cannot inspect, and finds out what went wrong only when you open the file. BlenderLens gives it the
feedback a person modelling in Blender gets.
| Agent writing raw Blender Python | Agent with BlenderLens |
|---|---|
| Cannot see what it built | Renders previews from any angle, or a sheet of several views, and looks at them |
| Writes bmesh code and guesses which faces to edit | Extrudes, bevels and insets faces picked by the way they face, and gets back the faces it made |
| Cannot tell whether parts touch or pass through each other | Measures distances and overlaps, and drops objects until they rest on what is below |
| Leaves broken geometry, unapplied scale or a misplaced origin for you to find | Finds them with check_asset, each with the faces concerned |
| Gets {'FINISHED'} from the exporter and nothing more | Reads every export back from disk and reports what the file holds |
| Makes changes you cannot easily take back | Makes every change one undo step |
Two ways to run
- **In your Blender window.** Install the BlenderLens add-on and press **Start**, and the agent works in the
Blender you have open. You see each change as it happens, can step in at any point, and can press Ctrl+Z to undo
any call.
- **In the background.** With no add-on, the server starts blender --background itself on the first call that
needs it, and keeps it until the server exits. Nothing to set up in Blender.
By default the server uses your window when the add-on is started, and a background Blender otherwise.
Requirements
| | Needed for |
|---|---|
| **Blender 4.2 LTS or later** (tested on 4.2 and 5.0) | everything; found through BLENDER_BIN, PATH, or the usual install folders |
| **Python 3.10+**, or **Node.js 18+** for npx | running this server, which has no dependencies |
| The BlenderLens add-on in Blender | only to work in a Blender window |
No GPU is needed: previews and bakes render with Cycles on the CPU.
Install
**npx** (recommended). The package bundles the server, and needs Python 3.10 or later on PATH.
**pip**
In Claude Code this goes in a project's .mcp.json. That is all background mode needs.
The Blender add-on
To work in a Blender window, install the add-on:
Then, in the 3D viewport, press **N**, open the **BlenderLens** tab and press **Start**. The add-on listens on this
machine only, and serves only a server that holds its token, which it writes to a file the server reads. The add-on
is also attached as a zip to each GitHub release.