BlenderMCP integrates Blender with Claude AI through the Model Context Protocol, enabling Claude to directly control and manipulate 3D scenes in Blender via prompt-based commands. The server provides tools for object creation and modification, material control, scene inspection, Python code execution, viewport screenshot viewing, and asset downloading from sources like Sketchfab and Poly Haven. This integration solves the problem of manual 3D modeling by allowing users to describe their modeling intentions in natural language and have Claude execute the corresponding Blender operations automatically.
BlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Give feedback, get inspired, and build on top of the MCP: Discord
All supporters:
For the current version and changelog, see the releases page.
The system consists of two main components:
addon.py): A Blender addon that creates a socket server within Blender to receive and execute commandssrc/blender_mcp/server.py): A Python server that implements the Model Context Protocol and connects to the Blender addonIf you're on Mac, please install uv as
brew install uv
On Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
and 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")
Otherwise installation instructions are on their website: Install uv
Linux: install uv with curl -LsSf https://astral.sh/uv/install.sh | sh (it lands in ~/.local/bin; open a new shell so it's on your PATH). 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.
⚠️ Do not proceed before installing UV
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:
which uvx (macOS/Linux) or where uvx (Windows) — and use it as "command", e.g. /opt/homebrew/bin/uvx or C:\Users\<you>\.local\bin\uvx.exe."command": "cmd", "args": ["/c", "uvx", "blender-mcp"].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-mcp.
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 / client
Use the resulting absolute path as "command" (find it with which blender-mcp / where blender-mcp) and omit args.
The following environment variables can be used to configure the Blender connection:
BLENDER_HOST: Host address for Blender socket server (default: "localhost")BLENDER_PORT: Port number for Blender socket server (default: 9876)Example:
export BLENDER_HOST='host.docker.internal'
export BLENDER_PORT=9876
Watch the setup instruction video (Assuming you have already installed uv)
Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to 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-mcp
For Mac users, go to Settings > MCP and paste the following
.cursor/mcp.json in the root of the project and paste{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}
For Windows users, go to Settings > MCP > Add Server, add a new server with the following settings:
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": [
"/c",
"uvx",
"blender-mcp"
]
}
}
}
⚠️ Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both
Prerequisites: Make sure you have Visual Studio Code installed before proceeding.
{
"mcp": {
"blender-mcp": {
"type": "local",
"command": ["uvx", "blender-mcp"],
"enabled": true,
"environment": {
"BLENDER_HOST": "localhost",
"BLENDER_PORT": "9876"
}
}
}
}
addon.py file from this repoaddon.py file
Once the config file has been set on Claude, and the addon is running on Blender, you will see a hammer icon with tools for the Blender MCP.
![]()
Here are some examples of what you can ask Claude to do:
Hyper3D's free trial key allows you to generate a limited number of models per day. If the daily limit is reached, you can wait for the next day's reset or obtain your own key from hyper3d.ai and fal.ai.
BlenderMCP supports persistent credentials via Blender Add-on Preferences:
Edit -> Preferences -> Add-ons -> Blender MCP
You can store these values there so they survive Blender restarts:
For headless setups or CI, credentials can also be injected by environment variables:
BLENDERMCP_SKETCHFAB_API_KEYBLENDERMCP_HYPER3D_API_KEYBLENDERMCP_HUNYUAN3D_SECRET_IDBLENDERMCP_HUNYUAN3D_SECRET_KEYBLENDERMCP_HUNYUAN3D_API_URLThe system uses a simple JSON-based protocol over TCP sockets:
type and optional paramsstatus and result or messageexecute_blender_code tool allows running arbitrary Python code in Blender, which can be powerful but potentially dangerous. Use with caution in production environments. ALWAYS save your work before using it.BlenderMCP collects anonymous usage data to help improve the tool. You can control telemetry in two ways:
In Blender: Go to Edit > Preferences > Add-ons > Blender MCP and uncheck the telemetry consent checkbox
Environment Variable: Completely disable all telemetry by running:
DISABLE_TELEMETRY=true uvx blender-mcp
Or add it to your MCP config:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": ["blender-mcp"],
"env": {
"DISABLE_TELEMETRY": "true"
}
}
}
}
All telemetry data is fully anonymized and used solely to improve BlenderMCP.
Contributions are welcome! Please feel free to submit a Pull Request.
This is a third-party integration and not made by Blender. Made by Siddharth
miapre/html-to-figma-design-system
ie3jp/illustrator-mcp-server
coding-solo/godot-mcp
ivanmurzak/unity-mcp
yctimlin/mcp_excalidraw
figma/mcp-server-guide