Blender Automation via MCP
Connect a running Blender instance to Hermes via the Model Context Protocol, enabling natural-language 3D modeling, scene manipulation, material editing, and asset generation.
When to Use
Use this whenever the user wants to:
- Create, modify, or delete 3D objects by describing them in plain language
- Inspect and analyze Blender scenes (poly counts, materials, modifier stacks)
- Apply batch operations across many objects (rename, recolor, reposition)
- Generate Blender add-ons, operators, and panels without writing Python
- Set up rendering pipelines, lighting, and cameras conversationally
- Download and apply Poly Haven HDRIs / textures programmatically
- Generate AI 3D models via Hyper3D Rodin integration
- Advise on the broader AI+Blender landscape — texture generation tools, 3D model generation (Hyper3D, Meshy, Tripo, Hunyuan3D), AI animation (AnimateDiff, Rokoko mocap), and concept art pipelines (ControlNet). See
references/ai-blender-ecosystem.md for a condensed reference.
- Assess hardware viability — proactively note Intel Mac limits (no GPU for local diffusion, cloud workarounds needed for texture gen and AI animation, Eevee preferred over Cycles for rendering speed)
Architecture Overview
Hermes Agent ──stdio MCP──→ uvx blender-mcp ──TCP socket 9876──→ Blender Addon
│
Blender (bpy API)
- MCP Server (
uvx blender-mcp): Bridges Hermes ↔ Blender. Hermes's native MCP client spawns this as a subprocess.
- Blender Addon: Runs inside Blender as a socket server on port 9876. Receives commands from the MCP server and executes them via
bpy.
- Tool Naming: All tools appear as
mcp_blender_* in Hermes (e.g., mcp_blender_get_scene_info, mcp_blender_create_object).
Two Implementations
1. Community: ahujasid/blender-mcp (Recommended for now)
- Repo: github.com/ahujasid/blender-mcp — MIT, 22.6k stars (Jun 2026)
- Requirements: Blender 3.0+, Python 3.10+,
uv
- Features: Scene inspection, object CRUD, materials, arbitrary bpy execution, viewport screenshots, Poly Haven assets, Hyper3D AI models, Sketchfab search
- Install:
uvx blender-mcp (MCP server), addon from repo (Blender addon)
- Ecosystem: 107+ repos on GitHub matching "blender MCP server". MCP is the de facto standard protocol — ecosystem has converged. Multi-LLM support (Claude, ChatGPT, Gemini, Ollama) is table stakes.
2. Official: blender.org MCP Server
- Source: blender.org/lab/mcp-server
- Requirements: Blender 5.1+ (not yet released)
- Built by Blender dev team as part of their lab program
- Pair with any MCP client (Llama.cpp, Claude, etc.)
3. Notable Alternatives
| Project |
Stars |
Differentiator |
| ai-forge-mcp |
67 |
565 tools across 16 MCP servers. Full AAA pipeline: Blender + Substance + Maya + Houdini |
| blender-mcp-pro |
20 |
100+ tools: shader nodes, geometry nodes, animation keyframes |
| blend-ai |
96 |
"More intuitive" alternative MCP server |
| blender-ai-mcp |
37 |
Goal-first routing, deterministic verification, vision-assisted modeling |
| blender-mcp-n8n |
41 |
45+ tools integrated with n8n workflow automation |
| Vibe3DScene |
87 |
"Create 3D scenes with words anywhere" — LangGraph + Blender MCP |
4. Emerging Pattern: Agent Skills for Blender
- cc-blender-skill — 10 chain-loadable skills (modeling, materials, lighting, rendering, animation, export, wireframe-to-3d). Validated on 6 scene classes for Blender 5.x
- blendops — AI-native workflow pack: Blender MCP + Claude + Three.js/React Three Fiber
5. Moonlake AI — Computer-Use Agent (Not an Addon)
- Approach: Operates Blender via screen interaction (like Anthropic's computer use), NOT a Blender addon/plugin
- Architecture: Two-model system — multimodal reasoning model (causality, physics, persistence) + RIE neural rendering model (style transfer)
- Philosophy: "Structure, not scale" — language + symbolic representations are 5 orders of magnitude more data-efficient than pure pixel/video diffusion
- Capability: Iterative, long-horizon refinement. Builds articulated assets, physics-validated scenes, complex environments. Can learn from expert demos.
- Status: Beta since Feb 2026, $15/mo. Partners with $8T+ combined market cap.
- GitHub: github.com/MoonlakeAI — content-agents (VLM-powered USD workflows), Nova3D (Prompt-to-Code targeting Blender Python API)
- UE5 relevance: Explicitly mentions Unreal Engine compatibility in asset management pipeline
Setup
Prerequisites
# Ensure uv is installed
which uv || brew install uv # macOS
# or: https://docs.astral.sh/uv/getting-started/installation/
Step 1: Install Blender
- Download from blender.org or
brew install --cask blender
- Requires 3.0+ for ahujasid/blender-mcp
Step 2: Install the Blender Addon
- Download
addon.py from the ahujasid/blender-mcp repo root
- Open Blender → Edit > Preferences > Add-ons
- Click Install… and select
addon.py
- Enable "Interface: Blender MCP"
- In the 3D View sidebar (press
N), switch to the BlenderMCP tab
- (Optional) Enable Poly Haven checkbox for HDRI/texture assets
- Click "Connect to Claude" — this starts the socket server on port 9876
Step 3: Configure Hermes
Add to your Hermes config (~/.hermes/profiles/senna/config.yaml for profile-isolated setups):
mcp_servers:
blender:
command: "uvx"
args: ["blender-mcp"]
Then restart Hermes. Tools are auto-discovered with the mcp_blender_* prefix.
⚠️ Only run one MCP client at a time. If another app (Cursor, Claude Desktop) also has blender-mcp configured, stop it first — only one uvx process can connect to the Blender addon.
Step 4: Verify
source ~/.hermes/hermes-agent/venv/bin/activate
hermes mcp list
# → blender should appear with ✓ enabled
hermes mcp test blender
# → Should show ✓ Connected and ✓ Tools discovered: N
Using Blender Tools from Hermes
Once connected, you can ask Hermes to do things like:
- "Create a low-poly dungeon scene with a dragon guarding treasure"
- "Inspect the current scene and list the top 5 highest-poly objects"
- "Make this car red and metallic, then set up studio lighting"
- "Rename all objects to use consistent naming:
OBJ-material-number"
- "Take a viewport screenshot and analyze the topology"
- "Generate a 3D model of a garden gnome via Hyper3D"
- "Create a sphere above the cube, rotate the cube 45°, and point the camera at the scene"
- "Apply subdivision surface to all selected objects with 2 levels"
Environment Variables
| Variable |
Default |
Purpose |
BLENDER_HOST |
localhost |
Host for Blender socket server |
BLENDER_PORT |
9876 |
Port for Blender socket server |
Set these in the env block of the MCP config if customizing.
Critical Architecture Lessons (from 3D-Agent)
Research on multi-agent Blender systems revealed several hard-won lessons:
1. Vision Feedback Loop is Mandatory
After each operation, take a viewport screenshot and have the agent verify it before the next step. Without this, geometry degenerates into "soup" after 3-4 operations. The agent should also learn to change viewport perspective when needed.
2. Separate Reasoning from Code Generation
One model decides what to do (reasoning/planning), another generates how in bpy (code execution). This avoids the single-model drift problem.
3. DSPy for Prompt Optimization
Train system prompts against Blender API docs and expected outputs using DSPy — far more consistent than hand-tuning.
4. Math-Heavy Operations Are Weak
Precise geometric calculations (lattice structures, curve math, symmetry) may need a dedicated pass. Not yet reliable from raw LLM prompting.
5. bpy API Docs Are Insufficient Alone
RAG over docs + examples gets only ~50% coverage. Supplement with example-heavy prompts and iterative refinement.
6. TCP Socket > HTTP for Blender Communication
The addon uses a socket directly rather than HTTP. This matters for the 30+ back-and-forth operations per task — responsiveness is critical.
Capabilities (ahujasid/blender-mcp v1.5.5)
| Category |
Operations |
| Scene Inspection |
Get object lists, poly counts, material assignments, modifier stacks, shader node graphs |
| Object Manipulation |
Create/delete/modify shapes, transform, group, parent |
| Materials |
Apply/modify materials, colors, textures |
| Code Execution |
Run arbitrary bpy Python code |
| Viewport |
Take screenshots of the current view |
| Assets (Poly Haven) |
Search/download HDRIs, textures, models via their API |
| Assets (Sketchfab) |
Search and download Sketchfab models |
| AI Models (Hyper3D Rodin) |
Generate AI 3D models from text prompts |
| AI Models (Hunyuan3D) |
AI model generation (v1.5.5+) |
Troubleshooting
| Symptom |
Likely Cause |
Fix |
| Connection refused |
Blender addon not running or not connected |
Open Blender, click "Connect to Claude" in BlenderMCP tab |
| Tools not appearing |
Wrong config path (profile isolation) |
hermes mcp list — if empty, edit the profile's config.yaml |
| Timeout errors |
Request too complex |
Break into smaller steps or simplify the prompt |
| First command fails |
Cold-start delay |
Retry — subsequent commands work faster |
| "Command not found" |
uv not installed or not on PATH |
brew install uv or check PATH |
| Multiple instances conflict |
Another app also running blender-mcp |
Stop Cursor/Claude Desktop instance, only run one |
References
references/blender-mcp-research.md — Detailed session notes: provider comparison, architecture diagrams, community resources.
references/ai-blender-ecosystem.md — Broader AI+Blender landscape reference: texture gen tools, 3D model generators, AI animation, concept art pipelines, Intel Mac hardware reality table.
1---2name: blender-automation3description: Connect Blender to Hermes via MCP — 3D modeling, scene manipulation, batch operations, and asset generation through natural language.4license: MIT5---6
7# Blender Automation via MCP
8
9Connect a running Blender instance to Hermes via the Model Context Protocol, enabling natural-language 3D modeling, scene manipulation, material editing, and asset generation.
10
11## When to Use
12
13Use this whenever the user wants to:
14- Create, modify, or delete 3D objects by describing them in plain language
15- Inspect and analyze Blender scenes (poly counts, materials, modifier stacks)
16- Apply batch operations across many objects (rename, recolor, reposition)
17- Generate Blender add-ons, operators, and panels without writing Python
18- Set up rendering pipelines, lighting, and cameras conversationally
19- Download and apply Poly Haven HDRIs / textures programmatically
20- Generate AI 3D models via Hyper3D Rodin integration
21- **Advise on the broader AI+Blender landscape** — texture generation tools, 3D model generation (Hyper3D, Meshy, Tripo, Hunyuan3D), AI animation (AnimateDiff, Rokoko mocap), and concept art pipelines (ControlNet). See `references/ai-blender-ecosystem.md` for a condensed reference.
22- **Assess hardware viability** — proactively note Intel Mac limits (no GPU for local diffusion, cloud workarounds needed for texture gen and AI animation, Eevee preferred over Cycles for rendering speed)
23
24## Architecture Overview
25
26```
27Hermes Agent ──stdio MCP──→ uvx blender-mcp ──TCP socket 9876──→ Blender Addon
28 │
29 Blender (bpy API)
30```
31
32- **MCP Server** (`uvx blender-mcp`): Bridges Hermes ↔ Blender. Hermes's native MCP client spawns this as a subprocess.
33- **Blender Addon**: Runs inside Blender as a socket server on port 9876. Receives commands from the MCP server and executes them via `bpy`.
34- **Tool Naming**: All tools appear as `mcp_blender_*` in Hermes (e.g., `mcp_blender_get_scene_info`, `mcp_blender_create_object`).
35
36## Two Implementations
37
38### 1. Community: ahujasid/blender-mcp (Recommended for now)
39- **Repo**: [github.com/ahujasid/blender-mcp](https://github.com/ahujasid/blender-mcp) — MIT, 22.6k stars (Jun 2026)
40- **Requirements**: Blender 3.0+, Python 3.10+, `uv`
41- **Features**: Scene inspection, object CRUD, materials, arbitrary bpy execution, viewport screenshots, Poly Haven assets, Hyper3D AI models, Sketchfab search
42- **Install**: `uvx blender-mcp` (MCP server), addon from repo (Blender addon)
43- **Ecosystem**: 107+ repos on GitHub matching "blender MCP server". MCP is the de facto standard protocol — ecosystem has converged. Multi-LLM support (Claude, ChatGPT, Gemini, Ollama) is table stakes.
44
45### 2. Official: blender.org MCP Server
46- **Source**: [blender.org/lab/mcp-server](https://www.blender.org/lab/mcp-server/)
47- **Requirements**: Blender **5.1+** (not yet released)
48- Built by Blender dev team as part of their lab program
49- Pair with any MCP client (Llama.cpp, Claude, etc.)
50
51### 3. Notable Alternatives
52
53| Project | Stars | Differentiator |
54|---------|-------|---------------|
55| **ai-forge-mcp** | 67 | 565 tools across 16 MCP servers. Full AAA pipeline: Blender + Substance + Maya + Houdini |
56| **blender-mcp-pro** | 20 | 100+ tools: shader nodes, geometry nodes, animation keyframes |
57| **blend-ai** | 96 | "More intuitive" alternative MCP server |
58| **blender-ai-mcp** | 37 | Goal-first routing, deterministic verification, vision-assisted modeling |
59| **blender-mcp-n8n** | 41 | 45+ tools integrated with n8n workflow automation |
60| **Vibe3DScene** | 87 | "Create 3D scenes with words anywhere" — LangGraph + Blender MCP |
61
62### 4. Emerging Pattern: Agent Skills for Blender
63- **cc-blender-skill** — 10 chain-loadable skills (modeling, materials, lighting, rendering, animation, export, wireframe-to-3d). Validated on 6 scene classes for Blender 5.x
64- **blendops** — AI-native workflow pack: Blender MCP + Claude + Three.js/React Three Fiber
65
66### 5. Moonlake AI — Computer-Use Agent (Not an Addon)
67- **Approach**: Operates Blender via screen interaction (like Anthropic's computer use), NOT a Blender addon/plugin
68- **Architecture**: Two-model system — multimodal reasoning model (causality, physics, persistence) + RIE neural rendering model (style transfer)
69- **Philosophy**: "Structure, not scale" — language + symbolic representations are 5 orders of magnitude more data-efficient than pure pixel/video diffusion
70- **Capability**: Iterative, long-horizon refinement. Builds articulated assets, physics-validated scenes, complex environments. Can learn from expert demos.
71- **Status**: Beta since Feb 2026, $15/mo. Partners with $8T+ combined market cap.
72- **GitHub**: github.com/MoonlakeAI — content-agents (VLM-powered USD workflows), Nova3D (Prompt-to-Code targeting Blender Python API)
73- **UE5 relevance**: Explicitly mentions Unreal Engine compatibility in asset management pipeline
74
75## Setup
76
77### Prerequisites
78
79```bash
80# Ensure uv is installed
81which uv || brew install uv # macOS
82# or: https://docs.astral.sh/uv/getting-started/installation/
83```
84
85### Step 1: Install Blender
86- Download from [blender.org](https://www.blender.org/download/) or `brew install --cask blender`
87- Requires 3.0+ for ahujasid/blender-mcp
88
89### Step 2: Install the Blender Addon
901. Download `addon.py` from the [ahujasid/blender-mcp repo root](https://github.com/ahujasid/blender-mcp/blob/main/addon.py)
912. Open Blender → **Edit > Preferences > Add-ons**
923. Click **Install…** and select `addon.py`
934. Enable **"Interface: Blender MCP"**
945. In the 3D View sidebar (press `N`), switch to the **BlenderMCP** tab
956. (Optional) Enable Poly Haven checkbox for HDRI/texture assets
967. Click **"Connect to Claude"** — this starts the socket server on port 9876
97
98### Step 3: Configure Hermes
99
100Add to your Hermes config (`~/.hermes/profiles/senna/config.yaml` for profile-isolated setups):
101
102```yaml
103mcp_servers:
104 blender:
105 command: "uvx"
106 args: ["blender-mcp"]
107```
108
109Then restart Hermes. Tools are auto-discovered with the `mcp_blender_*` prefix.
110
111> ⚠️ **Only run one MCP client at a time.** If another app (Cursor, Claude Desktop) also has blender-mcp configured, stop it first — only one uvx process can connect to the Blender addon.
112
113### Step 4: Verify
114
115```bash
116source ~/.hermes/hermes-agent/venv/bin/activate
117hermes mcp list
118# → blender should appear with ✓ enabled
119hermes mcp test blender
120# → Should show ✓ Connected and ✓ Tools discovered: N
121```
122
123## Using Blender Tools from Hermes
124
125Once connected, you can ask Hermes to do things like:
126
127- *"Create a low-poly dungeon scene with a dragon guarding treasure"*
128- *"Inspect the current scene and list the top 5 highest-poly objects"*
129- *"Make this car red and metallic, then set up studio lighting"*
130- *"Rename all objects to use consistent naming: `OBJ-material-number`"*
131- *"Take a viewport screenshot and analyze the topology"*
132- *"Generate a 3D model of a garden gnome via Hyper3D"*
133- *"Create a sphere above the cube, rotate the cube 45°, and point the camera at the scene"*
134- *"Apply subdivision surface to all selected objects with 2 levels"*
135
136### Environment Variables
137
138| Variable | Default | Purpose |
139|----------|---------|---------|
140| `BLENDER_HOST` | `localhost` | Host for Blender socket server |
141| `BLENDER_PORT` | `9876` | Port for Blender socket server |
142
143Set these in the `env` block of the MCP config if customizing.
144
145## Critical Architecture Lessons (from 3D-Agent)
146
147Research on multi-agent Blender systems revealed several hard-won lessons:
148
149### 1. Vision Feedback Loop is Mandatory
150After each operation, take a viewport screenshot and have the agent verify it before the next step. Without this, geometry degenerates into "soup" after 3-4 operations. The agent should also learn to change viewport perspective when needed.
151
152### 2. Separate Reasoning from Code Generation
153One model decides *what* to do (reasoning/planning), another generates *how* in bpy (code execution). This avoids the single-model drift problem.
154
155### 3. DSPy for Prompt Optimization
156Train system prompts against Blender API docs and expected outputs using DSPy — far more consistent than hand-tuning.
157
158### 4. Math-Heavy Operations Are Weak
159Precise geometric calculations (lattice structures, curve math, symmetry) may need a dedicated pass. Not yet reliable from raw LLM prompting.
160
161### 5. bpy API Docs Are Insufficient Alone
162RAG over docs + examples gets only ~50% coverage. Supplement with example-heavy prompts and iterative refinement.
163
164### 6. TCP Socket > HTTP for Blender Communication
165The addon uses a socket directly rather than HTTP. This matters for the 30+ back-and-forth operations per task — responsiveness is critical.
166
167## Capabilities (ahujasid/blender-mcp v1.5.5)
168
169| Category | Operations |
170|----------|-----------|
171| Scene Inspection | Get object lists, poly counts, material assignments, modifier stacks, shader node graphs |
172| Object Manipulation | Create/delete/modify shapes, transform, group, parent |
173| Materials | Apply/modify materials, colors, textures |
174| Code Execution | Run arbitrary `bpy` Python code |
175| Viewport | Take screenshots of the current view |
176| Assets (Poly Haven) | Search/download HDRIs, textures, models via their API |
177| Assets (Sketchfab) | Search and download Sketchfab models |
178| AI Models (Hyper3D Rodin) | Generate AI 3D models from text prompts |
179| AI Models (Hunyuan3D) | AI model generation (v1.5.5+) |
180
181## Troubleshooting
182
183| Symptom | Likely Cause | Fix |
184|---------|--------------|-----|
185| Connection refused | Blender addon not running or not connected | Open Blender, click "Connect to Claude" in BlenderMCP tab |
186| Tools not appearing | Wrong config path (profile isolation) | `hermes mcp list` — if empty, edit the profile's config.yaml |
187| Timeout errors | Request too complex | Break into smaller steps or simplify the prompt |
188| First command fails | Cold-start delay | Retry — subsequent commands work faster |
189| "Command not found" | uv not installed or not on PATH | `brew install uv` or check PATH |
190| Multiple instances conflict | Another app also running blender-mcp | Stop Cursor/Claude Desktop instance, only run one |
191
192## References
193
194- `references/blender-mcp-research.md` — Detailed session notes: provider comparison, architecture diagrams, community resources.
195- `references/ai-blender-ecosystem.md` — Broader AI+Blender landscape reference: texture gen tools, 3D model generators, AI animation, concept art pipelines, Intel Mac hardware reality table.