Blender MCP: drive Blender with natural language — a textbook MCP-for-desktop-apps example
TL;DR
MCP for Blender (formerly blender-mcp) pairs a Blender addon listening on localhost:9876 with an MCP server; Claude Code, Claude Desktop, Cursor and others can edit scenes, import assets, generate 3D models and run Python in Blender. Quick install: uvx mcp-for-blender setup. Save first, enable safe mode and never expose the socket.
“Create a low-poly room with a wooden desk, a warm desk lamp and a camera at 45 degrees” — type that into Claude and watch Blender build the scene. That’s MCP for Blender (formerly blender-mcp), a community plugin by ahujasid with more than 28,000 GitHub stars. Beyond being fun for 3D work, it’s a very clear example of how MCP turns desktop software with a scripting API into tools for an agent.
How it works
[Claude Code / Claude Desktop / Cursor]
| MCP (tool calls)
v
[MCP server: mcp-for-blender] (launched via uvx)
| JSON over a TCP socket, default localhost:9876
v
[Addon inside Blender] -> executes via Blender's Python API
- The addon starts a socket server inside Blender that receives and runs commands.
- The MCP server receives tool calls from the AI client and turns them into JSON commands over the socket.
- The agent works on the scene’s structured data (objects, materials, cameras) rather than clicking on screenshots — much faster and more reliable.
Installation
Quick setup
uvx mcp-for-blender setup
This installs uv if needed, finds the MCP clients on your machine, adds a blender entry to their configs, and installs and enables the Blender addon. The package was renamed from blender-mcp to mcp-for-blender; existing uvx blender-mcp setups still work.
Manual setup
# Install uv with the official installer (not pip install uv)
# Register the MCP server
claude mcp add blender uvx mcp-for-blender # Claude Code
codex mcp add blender -- uvx mcp-for-blender # Codex
# Install the addon
uvx mcp-for-blender install-addon
# In Blender: Edit → Preferences → Add-ons → enable "Interface: MCP for Blender"
Claude Desktop, Cursor and VS Code use a JSON entry with "command": "uvx" and "args": ["mcp-for-blender"].
Start it
In the 3D viewport press N → the MCP for Blender tab → Start MCP Server. Your AI client will then see the Blender tools.
Main tools
| Tool | What it does |
|---|---|
get_scene_info | A compact summary of the current scene |
look | Viewport, camera, multi-angle, animation and render views — so the agent can “see” the result |
execute_blender_code | Runs arbitrary Python inside Blender |
search_assets / import_asset | Find and import assets from Poly Haven (no key needed), Sketchfab, Poly Pizza |
generate_3d | Generate a 3D model with Tripo, Hunyuan3D, Hyper3D Rodin or Meshy and import it |
get_addon_status | Version and enabled features |
Sample prompt
Create a low-poly dungeon scene with a dragon guarding a pot of gold.
Use a stone texture from Poly Haven at 1k resolution.
Add warm torch lighting, then show me the camera view.
Tip: break complex requests into smaller steps to avoid timeouts, and ask the agent to use look after each step to check its own work.
Safety and limits
execute_blender_coderuns arbitrary Python — always save first and don’t experiment on important scenes.- Set
BLENDER_MCP_SAFE_MODE=1to check scripts before they run and block risky operations (file access, launching programs, network access). - The socket has no authentication or encryption — keep it on localhost; for remote access use an SSH tunnel.
- Run only one MCP server per Blender (e.g. Cursor or Claude Desktop, not both).
- Telemetry: a minimal anonymous usage record is collected by default; prompts, code and screenshots only if you opt in. Disable everything with
DISABLE_TELEMETRY=true. - Poly Haven downloads can freeze Blender’s UI — request 1k or 2k resolution.
Quick troubleshooting
spawn uvx ENOENT: use the full path touvxin the config (find it withwhich uvx) and fully restart the client.- Don’t run the
uvxcommand yourself in a terminal — the AI client launches the server. - Persistent connection errors: restart both the AI client and the server in Blender.
- Several Blender instances: change the port with
--portorBLENDER_PORT.
The bigger lesson: MCP for desktop apps
The “addon inside the app + external MCP server + socket” pattern works for lots of software with a scripting API: Godot, Unity, Figma, Office, CAD tools… When an agent operates through the API rather than the UI, it’s faster, less error-prone and easier to permission.
How to apply it
- Developers / 3D artists: Use it to block out scenes, set up lighting and import assets quickly — keep the fine-tuning for yourself.
- Tech Leads: If your company has in-house software with a scripting API, this is a reference architecture for your own MCP server. Remember: localhost, safe mode, limited tools.
- PMs: 3D visuals for pitches or product demos can now be prototyped in an afternoon with natural language.