Control Blender 3D through natural language for modeling and animation
The Blender MCP Server lets your AI assistant control Blender 3D through natural language commands. Create and manipulate 3D objects, apply materials, set up scenes, manage animations, and execute Blender Python scripts.
Created by ahujasid, this community server connects to a running Blender instance via an addon. It translates natural language instructions into Blender Python API calls, enabling AI-driven 3D modeling and scene creation.
Perfect for 3D artists and developers who want to accelerate their Blender workflow with AI-assisted modeling, scene setup, and animation prototyping.
Valid MCP server (1 strong, 3 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry.
3 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"blender": {
"args": [
"blender-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
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
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption