Prompt-driven modelling in a running copy of Blender.
- Started in our test
- ★ 32.4K GitHub stars
- 63.7K downloads a week
- Last commit 24 Oct 2026
At a glance
Blender MCP connects an assistant to Blender through a small add-on that listens on a local socket. From there the assistant can add and transform objects, set materials, inspect the scene and run Blender Python, while you watch the viewport.
It can also pull assets from Poly Haven and generate models through services like Hyper3D when you enable them.
- Made by
- Siddharth Ahuja and contributors (an independent project, not made by the Blender Foundation)
- Licence
- MIT
- Latest version
- 2.0.0 (16 Sept 2026)
- PyPI package
- blender-mcp
- GitHub stars
- 32.4K
- Downloads
- 63.7K a week
- Last commit
- 24 Oct 2026
- Tools
- 9
- Runs on
- Your computer
Our check: We ran this exact config on 26 Oct 2026: it started and answered with 9 tools. The npm package called "blender-mcp" has no link to this project. The real server is blender-mcp on PyPI, published from the same author, so it runs with uvx.
What's in the pod: its tools
We found 9 tools when we started it on 26 Oct 2026. 3 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.
Runs commands1 tool · Can start programs or run code.
| Tool | What it is for |
|---|---|
execute_blender_code | Runs Python inside your open Blender session to model, light, rig or animate, and returns whatever the script prints. |
Changes things5 tools · Can create, edit, send or delete.
| Tool | What it is for |
|---|---|
disable_telemetry | Switches off the optional sharing of prompts, code and screenshots when you ask it to. |
generate_3d | Creates one new textured model from a text prompt or a picture, using Meshy, Tripo, Hyper3D Rodin or Hunyuan3D, and drops it into the scene. |
import_asset | Downloads an asset found by search_assets and places it in the scene, optionally scaled or applied to an object. |
look | Takes a picture of the scene from the viewport, a camera or several angles so the agent can check its own work. |
record_trajectory_feedback | Logs whether you kept or rejected a result, for people who opted in to sharing data. |
Only reads3 tools · Looks things up and changes nothing.
| Tool | What it is for |
|---|---|
get_addon_status | Checks the Blender version, whether the addon matches the server and which asset sources are switched on. |
get_scene_info | Describes the scene in text: objects, positions, sizes and whether meshes and rigs look healthy. |
search_assets | Searches Poly Haven, Sketchfab or Poly Pizza for models, textures and HDRIs that match what you describe. |
Grouped and described by us. The README on GitHub lists the inputs each tool takes.
Set it up
- Download addon.py from the project on GitHub.
- In Blender: Edit → Preferences → Add-ons → Install, pick addon.py and enable it.
- In the 3D view sidebar, open the BlenderMCP tab and click Connect.
- Add the config below to your client and restart it.
Pick your app for the exact snippet and where it goes.
Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}Where it goes: Your terminal, in the project folder
claude mcp add-json blender '{"command":"uvx","args":["blender-mcp"]}'Where it goes: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}Where it goes: .vscode/mcp.json in your project
{
"servers": {
"blender": {
"type": "stdio",
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}Where it goes: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}Where it goes: Not supported
ChatGPT only connects to remote servers by URL. This one runs on your computer, so use Claude, Cursor or VS Code.
New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.
Settings
Names are exactly as the project spells them. Required ones are marked.
| Setting | What it does |
|---|---|
BLENDER_HOSTEnvironment variable | Where the Blender addon is listening. Defaults to localhost; Docker on Mac or Windows uses host.docker.internal.localhost |
BLENDER_PORTEnvironment variable | Port of the addon's socket. Defaults to 9876. Change it to drive more than one Blender at once.9876 |
BLENDER_MCP_SAFE_MODEEnvironment variable | Set to 1 and every script is checked first, blocking file access, network calls and launching other programs.1 |
DISABLE_TELEMETRYEnvironment variable | Set to true to stop even the small anonymous usage count the server sends by default.true |
BLENDERMCP_SKETCHFAB_API_KEYEnvironment variable | Sketchfab key for searching and importing its models. Can also be saved in the addon's preferences. |
BLENDERMCP_POLYPIZZA_API_KEYEnvironment variable | Free Poly Pizza key for low-poly models. |
BLENDERMCP_MESHY_API_KEYEnvironment variable | Your own Meshy key for text or image to 3D. Needs a paid Meshy plan. |
BLENDERMCP_HYPER3D_API_KEYEnvironment variable | Key for Hyper3D Rodin model generation. |
BLENDERMCP_HUNYUAN3D_SECRET_IDEnvironment variable | Tencent Cloud id for Hunyuan3D, paired with BLENDERMCP_HUNYUAN3D_SECRET_KEY. |
What it can touch
It can read
- The scene open in Blender: objects, materials, rigs and viewport images
- Online asset libraries you switch on in the addon's sidebar
It can change
- Anything in the open .blend file, through Python it writes and runs
- Downloads assets into the scene
- Without safe mode, a script could also read or write files on your computer
Safer setup: Set BLENDER_MCP_SAFE_MODE=1 so scripts are vetted before they run, and save your .blend before each session.
Before you start
- Blender 3.0 or newer
- uv (for uvx)
- The addon.py add-on from the project installed in Blender
If it does not work
- The client says it cannot connect to Blender
- Open Blender first, press N in the 3D view and check the MCP for Blender tab says the server is running. Let the client start the server; do not run uvx yourself in a terminal.
- spawn uvx ENOENT
- Desktop apps do not see your terminal's PATH. Put the full path from which uvx (or where uvx on Windows) in the command field, then fully quit and reopen the app.
- Requests time out
- Ask for smaller steps. One object or one change per message works far better than a whole scene at once.
- Blender hangs while an asset downloads
- Downloads run on Blender's main thread. Ask for 1k or 2k textures unless the object sits right in front of the camera.
- Two clients fight over the connection
- Only run the server from one app at a time, for example Claude Desktop or Cursor, not both.
Peas in a pod: similar servers
How Blender MCP lines up against other design, 3d and games servers on the shelf.
| Server | Tools | Runs on | Licence | Stars |
|---|---|---|---|---|
| Blender MCP | 9 | Your computer | MIT | 32.4K |
| Framelink Figma MCP | 2 | Your computer | MIT | 16.1K |
| Talk to Figma | 40 | Your computer | – | 7.1K |
| Godot MCP | 14 | Your computer | MIT | 6.4K |
| KiCad MCP | 244 | Your computer | – | 3K |
Questions
Is this an official Blender product?
No. It is an open source addon and server by an independent developer, MIT licensed and free to use.
Which Blender version do I need?
Blender 3.0 or newer, plus Python 3.10 or newer and the uv package manager.
Do I need to pay for 3D generation?
Poly Haven assets are free with no key. AI model generation needs your own key with Meshy, Hyper3D or Tencent, or the project's paid Premium plan.
Was it called blender-mcp before?
Yes. The Python package was renamed mcp-for-blender. Old configs that run uvx blender-mcp keep working.
Something wrong on this page? Tell us.