Blender MCP
Connect Blender to any LLM
Prompt-assisted 3D modeling, scene creation, and manipulation — driven by AI.
Website · Full Tutorial · Discord · Releases · Sponsor
<a href="https://trendshift.io/repositories/14834?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-14834" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/14834" alt="ahujasid%2Fblender-mcp | Trendshift" width="250" height="55"/></a>
<br />Supporters
CodeRabbit Kevin Guanche Darias
All supporters: Support this project
</div>Quickstart
Three steps: install uv, point your MCP client at the server, install the Blender addon.
1. Install uv
# macOS
brew install uv
# Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Warning: Do not proceed before installing uv. Use the official installer — not
pip install uv.
2. Add the MCP server to your client
<details open> <summary><b>Claude Desktop</b> — Settings → Developer → Edit Config</summary>{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"]
}
}
}claude mcp add blender uvx blender-mcpSee MCP Client Setup below for per-client instructions and one-click install buttons.
</details>3. Install the Blender addon
uvx blender-mcp install-addonThen in Blender: Edit → Preferences → Add-ons → enable Interface: Blender MCP.
4. Connect
In Blender's 3D viewport, press N → open the BlenderMCP tab → click Start MCP Server. That's it — ask Claude to build something.
Note: Only run one instance of the MCP server (either Cursor or Claude Desktop), not both.
Table of Contents
- Quickstart
- Features
- Components
- Installation
- MCP Client Setup
- Installing the Blender Addon
- Upgrading (existing users)
- Usage
- Persistent API Credentials
- Troubleshooting
- Technical Details
- Limitations & Security Considerations
- Telemetry Control
- Feedback
- Contributing
- Disclaimer
- Star History
Features
| Two-way communication | Connect Claude AI to Blender through a socket-based server |
| Object manipulation | Create, modify, and delete 3D objects in Blender |
| Material control | Apply and modify materials and colors |
| Scene inspection | Get detailed information about the current Blender scene |
| Code execution | Run arbitrary Python code in Blender from Claude |
| Asset & model generation | Poly Haven assets, Sketchfab models, and AI-generated 3D models via Hyper3D Rodin and Hunyuan3D |
Components
The system consists of two main components:
- Blender Addon (
addon.py) — a Blender addon that creates a socket server within Blender to receive and execute commands - MCP Server (
src/blender_mcp/server.py) — a Python server that implements the Model Context Protocol and connects to the Blender addon
Installation
Prerequisites
- Blender 3.0 or newer
- Python 3.10 or newer
- uv package manager
macOS
brew install uvWindows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Then add uv to the user path in Windows (you may need to restart Claude Desktop 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 | shIt lands in ~/.local/bin — open a new shell so it's on your PATH.
Otherwise, installation instructions are on their website: Install uv
On every OS, use uv's official installer above — not pip install uv, which may not create the uvx command and can hide uv inside an environment your client can't see.
Warning: Do not proceed before installing uv.
Make your client find uvx
MCP clients started from a GUI (Claude Desktop, Cursor, VS Code from the Dock/Start menu) do not inherit your terminal's PATH, so a bare "command": "uvx" can fail with spawn uvx ENOENT even though uvx works in your terminal. If that happens:
- Find uvx's full path —
which uvx(macOS/Linux) orwhere uvx(Windows) — and use it as"command", e.g./opt/homebrew/bin/uvxorC:\Users\<you>\.local\bin\uvx.exe. - On Windows you can instead wrap it:
"command": "cmd", "args": ["/c", "uvx", "blender-mcp"]. - After any PATH or config change, fully quit and relaunch the client (Windows: quit from the system tray, not just the window; macOS: <kbd>Cmd</kbd>+<kbd>Q</kbd>).
Pin the Python version
Avoid conda / pyenv / version conflicts.
uv chooses which Python runs the server. On machines with conda (auto-activated base), pyenv, or asdf — or with a newer CPython release that some dependencies do not have wheels for yet — uv can grab an interpreter that makes installation fail. Pin Python 3.11 and prefer uv-managed interpreters to avoid using whatever is on your PATH:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["--python", "3.11", "blender-mcp"],
"env": { "UV_PYTHON_PREFERENCE": "only-managed" }
}
}
}--python 3.11 still satisfies this package's requires-python >=3.10, and UV_PYTHON_PREFERENCE=only-managed keeps uv from selecting conda, pyenv, asdf, or system Python first. (The repo's .python-version is only a hint for contributors and does not affect uvx.)
If a previous failed attempt keeps replaying after a fix, clear the cache:
uv cache clean blender-mcp && uvx --refresh blender-mcpInstall without uv
On locked-down machines you can skip uvx entirely with pipx, then point your client at the installed command:
pipx install blender-mcp
pipx ensurepath # then restart your shell / clientUse the resulting absolute path as "command" (find it with which blender-mcp / where blender-mcp) and omit args.
Environment Variables
The following environment variables can be used to configure the Blender connection:
| Variable | Default | Description |
|---|---|---|
BLENDER_HOST | localhost | Host address for Blender socket server |
BLENDER_PORT | 9876 | Port number for Blender socket server |
Example:
export BLENDER_HOST='host.docker.internal'
export BLENDER_PORT=9876MCP Client Setup
Claude for Desktop
Watch the setup instruction video (assuming you have already installed uv)
Go to Claude → Settings → Developer → Edit Config → claude_desktop_config.json and include the following:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}Use the Claude Code CLI to add the blender MCP server:
claude mcp add blender uvx blender-mcpCursor
macOS — go to Settings → MCP and paste the following:
- To use as a global server, use the "add new global MCP server" button and paste
- To use as a project-specific server, create
.cursor/mcp.jsonin the root of the project and paste
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}Windows — go to Settings → MCP → Add Server, add a new server with the following settings:
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": [
"/c",
"uvx",
"blender-mcp"
]
}
}
}Note: Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both.
Visual Studio Code
Prerequisites: Make sure you have Visual Studio Code installed before proceeding.
OpenCode
{
"mcp": {
"blender-mcp": {
"type": "local",
"command": ["uvx", "blender-mcp"],
"enabled": true,
"environment": {
"BLENDER_HOST": "localhost",
"BLENDER_PORT": "9876"
}
}
}
}Antigravity
{
"mcpServers": {
"blender-mcp": {
"command": "uvx",
"args": ["blender-mcp"],
"env": {
"BLENDER_HOST": "localhost",
"BLENDER_PORT": "9876"
}
}
}
}Installing the Blender Addon
1. Recommended — from a terminal, run:
uvx blender-mcp install-addonThis copies the addon into your Blender addons folder as blender_mcp.py. It prints where it wrote to, and keeps a .bak of any file it replaces.
Optional:
uvx blender-mcp addon-pathslists detected Blender addons folders. Override the destination withBLENDERMCP_ADDONS_DIR=/path/to/scripts/addons.
2. Open Blender
3. Go to Edit → Preferences → Add-ons
4. Enable Interface: Blender MCP (search "Blender MCP"). If i
…