How to Drive Blender with Natural Language: Build an AI-Assisted 3D Modeling Setup in 15 Minutes
Learn how to connect LLMs like Claude or Cursor directly to Blender using the MCP protocol. This step-by-step guide walks you through setting up the environment, configuring your AI client, and generating complete 3D scenes using simple natural language prompts.
How to Drive Blender with Natural Language: Build an AI-Assisted 3D Modeling Setup in 15 Minutes
Have you ever had a 3D scene in mind—a low-poly cabin, evening lighting, a tree by the door—but froze the moment you opened Blender? The workflow is notoriously complex: creating base meshes, extruding, adjusting UVs, setting up lights... every step requires learning new tools. As developers, we're comfortable writing code, but mastering 3D software takes too much time.
Today, I’ll show you a "Natural Language → 3D Scene" workflow to solve this. We’ll build the environment from scratch, connect AI to Blender, and finally generate a complete low-poly scene with a single prompt. By the end of this guide, you won’t need to be a Blender expert to start 3D modeling with AI.
Prerequisites
Before we begin, ensure the following are ready:
- Blender 3.0+: The core 3D software. Download and install it for free from the official site.
- Python 3.10+: Ensure Python is available in your system environment.
uvPackage Manager: Used to manage MCP Server dependencies (we will install this shortly).- An MCP-compatible AI Client: Claude Desktop, Cursor, VS Code, etc. This guide uses Claude Desktop as the primary example.
💡 If you haven't installed Blender yet, grab the installer from blender.org. The installation process is straightforward with no major pitfalls.
Step 1: Install uv (Core Dependency Manager)
Why uv? This project relies on uvx under the hood to launch the MCP Server. Developed by the astral.sh team (the creators of Ruff), uv is an incredibly fast Python package manager. It's significantly faster than pip and automatically isolates environments, preventing system Python pollution.
macOS:
bash
## Install uv (macOS example)
brew install uv
Linux:
bash
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
powershell
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
After installation, restart your terminal to apply PATH changes. Verify the installation by running uv --version.
⚠️ Critical Warning: Do not use
pip install uv. Installing it this way often fails to create theuvxexecutable, which will cause MCP clients to throw aspawn uvx ENOENTerror later.
Step 2: Configure Your MCP Client
MCP (Model Context Protocol) is a standard proposed by Anthropic that allows AI clients to interact with local tools. This project acts as an MCP Server—it receives AI instructions, translates them into Blender Python scripts, and executes them in your running Blender instance.
Using Claude Desktop as an example:
- Open Claude Desktop
- Navigate to Settings → Developer → Edit Config
- Add the following configuration to the opened JSON file:
json
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["mcp-for-blender"]
}
}
}
For Cursor, the setup is similar: Go to Settings → MCP → Create a new Global MCP Server, and paste the same JSON configuration.
Windows Users Note: If your MCP client fails to resolve the uvx path directly, wrap it with cmd:
json
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": ["/c", "uvx", "mcp-for-blender"]
}
}
}
After saving the config, you must completely quit Claude Desktop (on Windows, right-click and exit from the system tray, then relaunch). Partial closures will not load the new configuration. This is the most common pitfall for beginners.
Step 3: Install the Blender Add-on
Blender requires a companion add-on to listen for MCP Server commands and execute them.
Run the following in your terminal:
bash
## Install Blender add-on via terminal
uvx mcp-for-blender install-addon
This automatically copies the add-on to Blender's directory. Next, open Blender, go to Edit → Preferences → Add-ons, search for "MCP for Blender", find Interface: MCP for Blender, and check the box to enable it.
Step 4: Establish the Connection
Everything is set up. Now, let's bridge them together:
- In Blender, press N to open the sidebar.
- Locate the MCP for Blender tab.
- Check the boxes for features you want to enable (I highly recommend enabling Poly Haven, as we'll use free HDRI and materials in the practical example).
- Click the Start MCP Server button.
- Meanwhile, send a quick message in Claude Desktop to verify the server is connected.
Once connected, you'll see a hammer 🔨 icon in Claude Desktop's toolbar—that's the entry point for MCP for Blender tools.
Hands-On: Generate a Low-Poly Dungeon Scene with One Prompt
With the environment ready, let's do something real. I want to create a classic RPG-style scene: a dungeon entrance with stone walls, torch lighting, and a half-open wooden door.
In the Claude chat box, I type:
Create a low-poly dungeon scene with stone walls, a half-open wooden door, and torch lighting. Keep it stylized and game-ready.
Now, witness the magic—Claude will automatically handle the following:
- Intent Analysis: Identifies keywords like "dungeon", "low-poly", "stone walls", "wooden door", and "torch lighting".
- Code Generation: Calls the
execute_blender_codetool to automatically create geometry and assign materials. - Auto-Verification: Uses the
looktool to render multiple angles and check the output. - Iterative Refinement: If lighting or proportions are off, it automatically corrects the code.
The entire process requires zero interaction with Blender's native modeling UI. AI generates and executes Blender Python in the background, allowing you to watch the scene build in real-time.
python
## Type this in Claude/Cursor:
Create a low-poly dungeon scene with stone walls, a half-open wooden door, and torch lighting.
## Example equivalent Blender Python code auto-executed by AI (actually generated by MCP Server):
import bpy
## Create ground
bpy.ops.mesh.primitive_plane_add(size=20)
## Create stone walls
for i in range(4):
bpy.ops.mesh.primitive_cube_add(scale=(2, 0.5, 3))
bpy.context.object.location = (10 - i*5, 5, 1.5)
## Create torch (simplified)
bpy.ops.mesh.primitive_torus_add(location=(0, 0, 4), major_radius=0.1, minor_radius=0.05)
## Add Point Light to simulate torch
bpy.ops.object.light_add(type='POINT', location=(0, 0, 5))
light = bpy.context.object
light.data.energy = 100
light.data.color = (1, 0.6, 0.3)
More Prompt Ideas to Try
| Goal | What to Say |
|---|---|
| Generate from a reference image | Upload an image + "Create a Blender scene based on this reference" |
| Recolor an existing model | "Make this car red and metallic" |
| Import free Poly Haven assets | "Light the scene with an overcast afternoon HDRI and put a rusty metal texture on the wall" |
| Adjust camera angle | "Point the camera at the scene, and make it isometric" |
Troubleshooting & Pro Tips
MCP Server Won't Connect
- Verify the Blender Add-on Server is Running: Sidebar N panel → MCP for Blender → Start MCP Server.
- Ensure Only One Instance Runs: Do not run MCP simultaneously in Claude Desktop and Cursor to avoid port conflicts.
- Full Client Restart: Don't just close the window. Completely quit and relaunch.
Timeout Errors
Overly complex prompts (e.g., "Build an entire city") may cause timeouts. Break it down: start with terrain, then add buildings, then set up lighting.
Blender Freezes During Poly Haven Downloads
Poly Haven assets download on Blender's main thread, temporarily freezing the UI. Specify lower resolutions (1k or 2k) in your prompt to significantly speed this up.
Safe Mode for Production
By default, the AI can execute arbitrary Python. For production environments, set the environment variable BLENDER_MCP_SAFE_MODE=1 to intercept potentially dangerous operations (file I/O, external program execution, etc.).
Summary & What's Next
Let's recap the four steps we covered today:
- Installed the
uvpackage manager. - Configured the MCP Server in Claude Desktop / Cursor.
- Installed and enabled the add-on in Blender.
- Generated a 3D scene using natural language descriptions.
The core concept is straightforward: the MCP Server acts as a translator between the LLM and Blender. It converts natural language like "Create a sphere" into Blender Python commands like bpy.ops.mesh.primitive_sphere_add(), sending them to Blender via a local socket for execution.
Recommended Next Steps:
- Explore Poly Haven for free HDRIs and textures to instantly elevate scene quality.
- Check out Poly Pizza's low-poly asset library—essential for game developers.
- Experiment with AI 3D generators like Tripo, Hunyuan3D, or Hyper3D Rodin to create base models directly from text descriptions.
With over 30,000 stars on GitHub and a highly active community, this project offers the best ROI for developers looking to dive into 3D. If you run into issues, their Discord community is the best place to ask for help.