Control Blender 3D with Claude AI β in real time, through natural language
π Website Β· πΉ Tutorial Β· π¬ Discord Β· π Wiki Β· π Changelog
BlenderMCP connects Blender 3D to Claude AI (and any other LLM) through the Model Context Protocol. It enables prompt-driven 3D modeling, scene creation, and real-time object manipulation β directly from your AI assistant.
- Features
- Whats New
- Quick Start
- Installation
- Usage
- Integrations
- API Credentials
- Troubleshooting
- Technical Details
- Security and Telemetry
- Contributors
- Community
- Contributing
| Capability | Description | |
|---|---|---|
| π | Two-way communication | Real-time socket bridge between Claude and Blender |
| π§ | Object manipulation | Create, move, scale, and delete 3D objects via prompts |
| π¨ | Material control | Apply, modify, and generate materials and colors |
| π | Scene inspection | Full scene state β objects, lights, cameras |
| π· | Viewport screenshot | Let the AI see the Blender viewport |
| π | Code execution | Run arbitrary Python inside Blender |
| π | Poly Haven | Download HDRIs, textures, and models via API |
| π€ | AI model generation | 3D assets via Hyper3D Rodin and Hunyuan3D |
| ποΈ | Sketchfab | Search and import 3D models |
| π | Remote host | Run the MCP server on a remote machine |
Full changelog: Releases
- Hunyuan3D 3D model generation
- Viewport screenshot for scene understanding
- Sketchfab model search and import
- Poly Haven asset integration
- Hyper3D Rodin AI model generation
- Remote host support
Updating from an older version:
- Download the latest
addon.pyand replace it in Blender - Remove and re-add the MCP server in your client config
# macOS
brew install uvAdd to Claude > Settings > Developer > Edit Config > claude_desktop_config.json:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"]
}
}
}Install the Blender addon, click Connect, and start prompting.
| Requirement | Minimum version |
|---|---|
| Blender | 3.0 |
| Python | 3.10 |
| uv | Latest |
Install uv:
macOS
brew install uvWindows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Add to PATH (restart your client after):
$localBin = "$env:USERPROFILE\.local\bin"
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$userPath;$localBin", "User")Linux
curl -LsSf https://astral.sh/uv/install.sh | shDo not use
pip install uvβ it may not create theuvxcommand.
GUI clients don't inherit your terminal PATH. Get the full path:
which uvx(macOS/Linux) orwhere uvx(Windows)- Use it as
"command"in your config - Windows:
"command": "cmd", "args": ["/c", "uvx", "blender-mcp"] - Fully quit and relaunch your client after any config change
Claude > Settings > Developer > Edit Config > claude_desktop_config.json:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"]
}
}
}Pin Python 3.11 (conda / pyenv machines)
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["--python", "3.11", "blender-mcp"],
"env": { "UV_PYTHON_PREFERENCE": "only-managed" }
}
}
}Install without uv
pipx install blender-mcp
pipx ensurepathmacOS / Linux
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"]
}
}
}Windows
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": ["/c", "uvx", "blender-mcp"]
}
}
}Run only one MCP server at a time β Cursor or Claude Desktop, not both.
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"]
}
}
}{
"mcp": {
"blender-mcp": {
"type": "local",
"command": ["uvx", "blender-mcp"],
"enabled": true,
"environment": {
"BLENDER_HOST": "localhost",
"BLENDER_PORT": "9876"
}
}
}
}claude mcp add blender uvx blender-mcp- Download
addon.py - In Blender: Edit > Preferences > Add-ons > Install...
- Select
addon.py - Enable "Interface: Blender MCP"
- Open the 3D View sidebar (press
Nif not visible) - Go to the BlenderMCP tab
- (Optional) Enable Poly Haven for asset downloads
- Click Connect to Claude
When connected, Claude shows a hammer icon confirming Blender tools are active:
| Prompt | Demo |
|---|---|
| "Create a low poly dungeon with a dragon guarding gold" | Watch |
| "Beach scene with Poly Haven HDRIs, rocks, and vegetation" | Watch |
| "Recreate this reference image as a Blender scene" | Watch |
| "Export the scene and build a Three.js sketch from it" | Watch |
| "Generate a garden gnome with Hyper3D" | β |
| "Make this car red and metallic" | β |
| "Studio lighting, isometric camera" | β |
Download HDRIs, textures, and 3D models. Enable in the BlenderMCP sidebar.
AI 3D models. Free trial has a daily limit β get your own key at hyper3d.ai or fal.ai.
Tencent 3D generation. Configure credentials in Blender addon preferences.
Search and import 3D models into your scenes.
Store in Edit > Preferences > Add-ons > Blender MCP to persist across restarts:
| Credential | Environment variable |
|---|---|
| Sketchfab API Key | BLENDERMCP_SKETCHFAB_API_KEY |
| Hyper3D API Key | BLENDERMCP_HYPER3D_API_KEY |
| Hunyuan3D SecretId | BLENDERMCP_HUNYUAN3D_SECRET_ID |
| Hunyuan3D SecretKey | BLENDERMCP_HUNYUAN3D_SECRET_KEY |
| Hunyuan3D API URL | BLENDERMCP_HUNYUAN3D_API_URL |
export BLENDER_HOST=localhost
export BLENDER_PORT=9876Connection issues
- Confirm the addon server is running in the BlenderMCP sidebar
- Do not run
uvxmanually β the client starts the server - First command often fails; try again
spawn uvx ENOENT
which uvx # macOS / Linux
where uvx # WindowsUse that full path as "command" in your config.
Timeout / complex operations
Break the request into smaller sequential prompts.
Python version conflicts
"args": ["--python", "3.11", "blender-mcp"],
"env": { "UV_PYTHON_PREFERENCE": "only-managed" }Clear cache: uv cache clean blender-mcp && uvx --refresh blender-mcp
Still broken?
Restart your MCP client and the Blender server.
LLM Client <-- MCP --> MCP Server (src/blender_mcp/server.py) <-- TCP:9876 --> Blender Addon (addon.py)
JSON over TCP sockets:
{ "type": "create_object", "params": { "type": "SPHERE", "name": "Ball" } }
{ "status": "success", "result": { "name": "Ball", "location": [0, 0, 0] } }
execute_blender_coderuns arbitrary Python in Blender. Save your work before using it.
Control telemetry
Disable entirely:
DISABLE_TELEMETRY=true uvx blender-mcpOr in config: "env": { "DISABLE_TELEMETRY": "true" }
In Blender: Edit > Preferences > Add-ons > Blender MCP > telemetry checkbox
Made with contrib.rocks
| π¬ Discord | Join the community |
| π Feedback | Share your thoughts |
| π Call | Schedule a call |
| π Issues | GitHub Issues |
| π Sponsor | Support BlenderMCP |
Supporters: CodeRabbit
- Fork the repository
- Create a branch:
git checkout -b feature/your-feature - Commit and open a PR
See CONTRIBUTING.md and TERMS_AND_CONDITIONS.md.
MIT β see LICENSE.
MCPBlender Β· blendermcp.org Β· Not affiliated with the Blender Foundation
β Star the repo if it helps your workflow!
