Blender MCP
Provides tools for controlling Blender 5.2 LTS, including scene inspection, object creation and transformation, material and texture assignment, modifier management, rendering, viewport screenshots, and Python code execution.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Blender MCPCreate a cube, add a red material, and render the scene."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Blender MCP — Streamable-HTTP bridge for Blender 5.2 LTS
A Model Context Protocol bridge that lets any MCP client (Antigravity, Cursor, Claude Desktop, VS Code 1.101+, MiniMax Code, Windsurf, Continue, Cline, OpenCode, Codex, MCP Inspector, …) drive Blender 5.2 LTS through natural language.
The add-on runs an MCP Streamable-HTTP server inside Blender on a background thread. The client just points at it — no subprocess is spawned, no socket pair to babysit.
Why this shape
Single install path inside Blender. The MCP server runs in-process using
bpy, so there's nouvx/pipxdance and no socket pair to keep in sync.Streamable HTTP on localhost. Works with every modern MCP client.
Hand-rolled MCP server in the add-on. Blender 5.2 LTS bundles Python 3.13 with no external packages by default. A ~300-line MCP server is more portable than dragging in
mcp[cli]and editingsys.path.Client-agnostic. No proprietary plugin format. Any MCP client that can hit an HTTP endpoint (or a stdio proxy that does) works.
Related MCP server: Blender MCP
Project layout
blender_addon_mcp/
├── README.md ← you are here
├── LICENSE ← MIT
├── pyproject.toml ← dev tooling for the add-on (ruff, mypy, pytest)
├── .gitignore
├── addon/
│ └── blender_mcp_addon/ ← zips into a Blender-installable .zip
│ ├── __init__.py ← bl_info, register/unregister, preferences
│ ├── server/
│ │ ├── __init__.py
│ │ ├── mcp_server.py ← MCP protocol (initialize, tools/list, tools/call, ping)
│ │ ├── transport.py ← stdlib http.server, runs on a daemon thread
│ │ └── protocol.py ← JSON-RPC 2.0 + MCP 2025-03-26 types
│ ├── tools/
│ │ ├── __init__.py ← tool registry
│ │ ├── scene.py ← scene_info, frame control
│ │ ├── objects.py ← list, get, create, delete, transform
│ │ ├── materials.py ← create, assign, modify
│ │ ├── modifiers.py ← add, set params, remove
│ │ ├── render.py ← render_image, screenshot_viewport
│ │ └── code.py ← execute_python (with confirmation)
│ └── utils/
│ ├── __init__.py
│ ├── bpy_helpers.py ← bpy → JSON serialization
│ └── safe_eval.py ← ast-validated code execution
├── scripts/
│ ├── install_addon.ps1 ← zip and install into Blender
│ ├── blender_mcp_proxy.js ← optional stdio/socket ↔ HTTP bridge for
│ │ Antigravity builds that don't accept `url`
│ └── start_blender_mcp_bridge.ps1 ← start/stop/status lifecycle for the bridge
├── examples/
│ ├── mcp-configs.md ← copy-paste configs for every major MCP client
│ ├── basic_scene.md
│ ├── material_setup.md
│ └── render_workflow.md
└── docs/
├── architecture.md
├── blender_5_2_notes.md
└── tools_reference.mdQuickstart
1. Install the add-on
# clone
git clone https://github.com/tattooinmtl/Blender_MCP.git
cd Blender_MCP
# install the add-on into every Blender version on this machine
pwsh ./scripts/install_addon.ps12. Enable the server in Blender
Open Blender.
Edit → Preferences → Add-ons → search "Blender MCP" → check the box.
Set the port (default
8765) and click Start Server (or use the Blender MCP panel in the 3D Viewport sidebar).The console should print:
[Blender MCP] Server listening on http://127.0.0.1:8765/mcp
3. Wire up your MCP client
Pick the client you use and paste the matching snippet from
examples/mcp-configs.md. The Antigravity
url form is the simplest:
{
"mcpServers": {
"blender": { "url": "http://127.0.0.1:8765/mcp" }
}
}Snippets for Cursor, Claude Desktop, VS Code, MiniMax Code, Windsurf, Continue, Cline, and the MCP Inspector are all in that file.
4. Verify
In any MCP client chat:
Use the blender server: ping.
You should see the agent call tools/call on ping and report an empty
successful result. From a terminal:
curl -s -X POST http://127.0.0.1:8765/mcp `
-H "Content-Type: application/json" `
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}'Tools exposed
Tool | Purpose | Read-only |
| Capability handshake — name, version, protocol, tools list. Call this first. | yes |
| Scene summary (objects, lights, cameras, frame) | yes |
| List scene objects, optional type filter | yes |
| Full object details (location, rotation, scale, modifiers, materials) | yes |
| Create primitive (cube, sphere, plane, cylinder, cone, torus, empty, camera, light) | no |
| Delete an object by name | no |
| Set location/rotation/scale | no |
| Create or assign a material with a Principled BSDF | no |
| Apply an image file to a material input (base_color, roughness, normal, etc.) | no |
| Import GLB/GLTF/FBX/OBJ/STL/PLY/DAE/USD/X3D/ABC | no |
| Add a modifier (subdivision, mirror, solidify, array, bevel) | no |
| Remove a modifier by name | no |
| Read / move the timeline | mixed |
| Render the current frame to a file | no |
| Capture the current viewport | no |
| Run arbitrary | no |
| Health check | yes |
See docs/tools_reference.md for the full schema
and examples.
Development
# syntax-check the add-on (Blender's Python is at <blender>/python/bin/python.exe)
python -m py_compile addon/blender_mcp_addon/__init__.py
python -m py_compile addon/blender_mcp_addon/server/mcp_server.py
# ...etc
# lint
ruff check addon/
mypy addon/
# test the MCP server in isolation (no bpy required)
pytest addon/tests/ -vLicense
MIT. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTransforms Blender into an MCP server with 50+ tools for AI-driven 3D workflows, enabling complete control over objects, materials, animations, physics simulations, and rendering through natural language commands.45MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to control Blender through natural language for 3D scene creation, animation, and rendering. It provides over 550 actions and direct Python execution via a bridge to a live local Blender session.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language control of Blender 3D through MCP clients, allowing creation, modification, and manipulation of 3D models, animations, and scenes.299MIT
- AlicenseCqualityAmaintenanceEnables AI-powered control of Blender through natural language, allowing users to create, manipulate, and automate 3D scenes, objects, materials, animations, and more via Claude or other MCP clients.7133MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
MCP server for AI dialogue using various LLM models via AceDataCloud
Generate, edit, and deploy immersive 3D/WebGL web projects from any MCP assistant.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tattooinmtl/MCP_Server_blender'
If you have feedback or need assistance with the MCP directory API, please join our Discord server