This page covers everything beyond the basic quickstart: installer options, manual setup, fixing PATH issues, installing without uv, managing the Blender addon, and upgrading.
One-Command Install
The installer configures your MCP clients and the Blender addon in one go:
curl -LsSf https://www.mcp-for-blender.com/install.sh | shirm https://www.mcp-for-blender.com/install.ps1 | iexPrefer not to run a script, or Windows Defender blocked it? Install uv with winget, open a new terminal, then run setup:
winget install --id=astral-sh.uv -e
uvx mcp-for-blender setupIt installs uv if it's missing, then runs uvx mcp-for-blender setup, which:
- Detects Claude Desktop, Claude Code, Codex, Cursor, VS Code, Devin Desktop/Windsurf, OpenCode, and Antigravity, and asks which to configure
- Adds a
blenderserver entry that callsuvxby its full path, so GUI apps that don't inherit your terminal PATH still find it - Merges into your existing config, keeping other servers and saving a
.bakof each file it changes - Installs the Blender addon and enables it
Pass options to control what it does:
| Option | Effect |
|---|---|
--dry-run |
Show what would change without changing it |
--yes |
Configure everything found without asking |
--skip-addon |
Configure clients only; leave Blender alone |
uvx mcp-for-blender setup --dry-run
# or through the installer:
curl -LsSf https://www.mcp-for-blender.com/install.sh | sh -s -- --dry-runRunning setup again is safe: clients that are already configured are left alone, and entries using the old blender-mcp package are offered an update.
Manual Setup
To set things up by hand, install uv, add the server to your client (MCP Clients), then install the addon.
Prerequisites
Before you install MCP for Blender, make sure your system meets these requirements:
- Blender 3.0 or newer
- Python 3.10 or newer
- uv package manager (recommended)
Install uv using the official installer for your platform:
curl -LsSf https://astral.sh/uv/install.sh | shwinget install --id=astral-sh.uv -eMake Your Client Find uvx
GUI clients like Claude Desktop, Cursor, and VS Code do not inherit your terminal PATH. This means they often cannot find uvx even though it works in your shell.
Find the full path to uvx
Run the appropriate command for your platform:
which uvxwhere uvxCopy the full path that is printed.
Use the full path in your client config
In your MCP client configuration, set
"command"to the full path you copied instead of justuvx.Fully quit and relaunch the client
After any PATH or config change, completely quit the client. On macOS, use Cmd+Q. On Windows, quit from the system tray. Then reopen it.
Simply closing the window is not enough. You must fully quit the application so it reloads environment variables on next launch.
Windows Alternative
If the full path approach does not work on Windows, wrap the call through cmd:
{
"command": "cmd",
"args": ["/c", "uvx", "mcp-for-blender"]
}Pin the Python Version
If you use conda, pyenv, or asdf, the client may pick a different Python than expected. Pin Python 3.11 explicitly in your MCP config:
{
"command": "uvx",
"args": ["--python", "3.11", "mcp-for-blender"],
"env": {
"UV_PYTHON_PREFERENCE": "only-managed"
}
}If the server still fails to start, clear the uv cache and force a refresh:
uv cache clean mcp-for-blender blender-mcp && uvx --refresh mcp-for-blenderInstall Without uv
If you prefer not to use uv, install with pipx instead.
Install the server
pipx install mcp-for-blenderEnsure pipx is on your PATH
pipx ensurepathFind the binary path
which mcp-for-blenderUse this full path as
"command"in your MCP client config with no"args".
Run with Docker
You can run the MCP server in a container instead of installing it. Blender itself still runs on your machine; the container only hosts the MCP server, which connects out to the Blender addon.
Build the image from the root of the GitHub repository:
docker build -t mcp-for-blender .Then point your MCP client at it. The -i flag is required because the server talks to the client over stdin/stdout:
{
"mcpServers": {
"blender": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp-for-blender"]
}
}
}The image defaults to BLENDER_HOST=host.docker.internal, which reaches the host's Blender out of the box with Docker Desktop on macOS and Windows. On Linux, host.docker.internal doesn't exist and the addon only listens on localhost, so use host networking instead:
{
"mcpServers": {
"blender": {
"command": "docker",
"args": ["run", "-i", "--rm", "--network=host", "-e", "BLENDER_HOST=localhost", "mcp-for-blender"]
}
}
}To enable safe mode in the container, add "-e", "BLENDER_MCP_SAFE_MODE=1" to args.
Installing the Blender Addon
The addon runs inside Blender and listens for commands from the MCP server. The one-command installer does all of this for you; the steps below are for doing it by hand.
Install automatically (recommended)
uvx mcp-for-blender install-addonEnable the addon in Blender
Open Blender, then go to Edit → Preferences → Add-ons → Interface: MCP for Blender and enable it.
Once enabled, the addon starts its server whenever Blender opens. To check, press N in the 3D viewport and open the MCP for Blender tab.
Manual Installation
If the automatic installer does not work, install the addon manually:
- Download
addon.pyfrom the GitHub repository. - In Blender, go to Edit → Preferences → Add-ons → Install.
- Select the downloaded
addon.pyfile. - Enable the addon from the list.
Addon Path Options
To see which addon directories MCP for Blender detected on your system:
uvx mcp-for-blender addon-pathsTo override the install location, set this environment variable before running the install command:
BLENDERMCP_ADDONS_DIR=/path/to/scripts/addons uvx mcp-for-blender install-addonUpgrading
To update an existing install, run:
uvx mcp-for-blender@latest updateThis updates both halves in one go:
- Server: refreshes uv's cached copy of
mcp-for-blender(or upgrades it if you useduv tool install), so your MCP clients launch the new release next time. - Addon: updates every installed copy of the Blender addon, keeping a
.bakof each file it replaces. It never downgrades an addon that's newer than the release, and leaves alone a copy you've edited locally.
Add --dry-run to see what it would change without changing anything.
Use @latest the first time. Releases older than 2.1.7 don't have the update command, and uvx may still have one of those cached.
Then:
- Restart your MCP client (Claude Desktop, Cursor, ...) so it starts the new server.
- Restart Blender, or go to Preferences → Add-ons, disable and re-enable Interface: MCP for Blender, then click Start MCP Server again.
If a client is still set up with the old blender-mcp package name, update tells you; run uvx mcp-for-blender setup to switch it over.
Updating from inside Blender: The addon also checks GitHub for a newer version when Blender starts. When one is available, click Update Addon in the MCP for Blender sidebar tab, then restart Blender. You can also click Check for Updates there. This updates only the addon, not the server.
Environment Variables
You can customize the connection between the MCP server and the Blender addon using these environment variables:
| Variable | Default | Purpose |
|---|---|---|
BLENDER_HOST |
localhost |
Host address the MCP server connects to |
BLENDER_PORT |
9876 |
Port the MCP server connects to |
BLENDER_MCP_SAFE_MODE |
off | Set to 1 to check scripts before they run in Blender |
Set them in your MCP client config or in your shell before starting the server:
{
"command": "uvx",
"args": ["mcp-for-blender"],
"env": {
"BLENDER_HOST": "127.0.0.1",
"BLENDER_PORT": "9876"
}
}You can also pass --host and --port as CLI flags (for example "args": ["mcp-for-blender", "--port", "9877"]), which take precedence over the environment variables. See the Configuration reference for running several Blender instances side by side.
These settings only configure the MCP server. The port the addon listens on is set in the MCP for Blender sidebar panel in Blender, and the two must match.
The addon's socket server has no authentication or encryption, so anyone who can reach the port can run Python inside Blender. Keep it on localhost unless you are on a trusted network, and prefer an SSH tunnel over pointing BLENDER_HOST at a remote machine directly.