Blender MCP
Provides tools for AI-assisted automation of Blender, including scene manipulation, node editing, animation, mesh editing, material management, modifiers, UV editing, constraints, physics simulation, rendering, and import/export of various formats.
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 MCPadd a sphere"
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
English
MCP server integration for AI-assisted Blender automation.
Layered Tool Architecture
Blender MCP uses a four-layer tool architecture with 29 specialized tools organized by intent:
Layer | Tool Count | Purpose |
Perception | 11 tools | Read Blender state deeply with controllable granularity |
Declarative Write | 4 tools | Node editor (6 contexts) + Animation + VSE Sequencer + Mesh editing |
Imperative Write | 9 tools | Object/Material/Modifier/UV/Constraint/Physics/Scene |
Fallback | 5 tools | execute_operator + execute_script + import_export + render + batch |
Perception Layer (11 tools):
Tool | Description |
| List/scene objects with filters |
| Deep object data (12 include options) |
| Read any node tree (6 contexts) |
| Keyframes/NLA/drivers/shape keys |
| Material asset list |
| Scene-level global info |
| Collection hierarchy tree |
| Armature/bone hierarchy/constraints/poses |
| Texture/image asset list |
| Viewport screenshot |
| Current selection/mode/active object |
Declarative Write Layer (4 tools):
Tool | Description |
| Edit any node tree (add/remove/connect/disconnect/set_value) ⭐ Core |
| Edit animation (keyframe/NLA/driver/shape_key/frame_range) |
| Edit VSE video sequence (strip/transition/effect) |
| Edit mesh data (vertices/edges/faces) |
Imperative Write Layer (9 tools):
Tool | Description |
| Create scene objects (MESH/LIGHT/CAMERA/CURVE/EMPTY/ARMATURE/TEXT) |
| Transform/parent/visibility/rename/delete |
| Material create/PBR edit/assign/duplicate/delete |
| Modifier add/configure/apply/delete/reorder |
| Collection create/delete/object link/hierarchy/visibility |
| UV unwrap/seam/pack/layer management |
| Object/bone constraint add/configure/delete |
| Physics simulation add/configure/bake |
| Render engine/world environment/timeline config |
Fallback Layer (5 tools):
Tool | Description |
| Execute any bpy.ops.* operator |
| Execute arbitrary Python code (⚠️ use with caution) |
| Import/export asset files (FBX/OBJ/GLTF/USD/Alembic/STL/etc.) |
| Render scene to image/video |
| Execute multiple tool calls in a single request (performance optimization) |
Note: All tools use
blender_prefix to avoid conflicts in multi-server environments. Tool names follow MCP specification with underscores. Payload wrapper is removed - all parameters are exposed directly as top-level inputSchema properties.
Tool Naming: All tools use the blender_ prefix to avoid conflicts in multi-server environments.
Features
Undo Support: All write operations push to Blender's undo stack — Ctrl+Z works correctly.
Localized Blender Support: Works in any Blender language. Uses English display names like
"Principled BSDF"and they resolve to localized names automatically.Error Reporting: Detailed error messages from the addon are surfaced in MCP tool responses.
Progress Notifications: MCP progress notifications for long-running operations (render, import/export). Clients can include
progressTokenin_metafield to receive real-time progress updates.
Progress Notifications
Blender MCP supports MCP progress notifications for long-running operations. To receive progress updates:
// Client request with progressToken
{
"method": "tools/call",
"params": {
"name": "blender_render_scene",
"arguments": {"output_path": "/tmp/render.png"},
"_meta": {"progressToken": "render-123"}
}
}
// Server sends progress notifications
{
"jsonrpc": "2.0",
"method": "notifications/progress",
"params": {
"progressToken": "render-123",
"progress": 50,
"total": 100,
"message": "Rendering frame 50/100"
}
}Safety features:
Rate limited to 100ms minimum interval between notifications
Progress messages truncated to 1000 characters
Maximum 100 concurrent progress tokens
Thread-safe notification output
Known Limitations (Blender 5.1)
Limitation | Cause |
VSE strip creation fails | Blender 5.1 timer context API restriction |
Compositor node editing fails | Blender 5.1 timer context API restriction |
Object pointer properties can't be set | MCP |
Multi-material slot creation | MCP |
Quick Start
New to Blender MCP? See the 5-Minute Quick Start Guide for step-by-step setup instructions.
// Create a cube
{
"name": "MyCube",
"object_type": "MESH",
"primitive": "cube",
"size": 2.0
}
// Move it
{
"name": "MyCube",
"location": [1, 2, 3]
}
// Add a subdivision modifier
{
"action": "add",
"object_name": "MyCube",
"modifier_name": "Subdivision",
"modifier_type": "SUBSURF",
"settings": {"levels": 2}
}
// Read object data
{
"name": "MyCube",
"include": ["summary", "modifiers"]
}
// Capture viewport
{
"shading": "SOLID",
"format": "PNG"
}Installation
Blender Addon
Copy or symlink
src/blender_mcp_addon/to your Blender addons folder:Windows:
%APPDATA%\Blender\<version>\scripts\addons\blender_mcp_addonmacOS:
~/Library/Application Support/Blender/<version>/scripts/addons/blender_mcp_addonLinux:
~/.config/blender/<version>/scripts/addons/blender_mcp_addon
In Blender: Edit > Preferences > Add-ons > Search "Blender MCP" > Enable
Configure and click "Start Server"
MCP Server
# Recommended: one-line install & run
uvx ageless-blender-mcp
# Or install globally
pip install ageless-blender-mcp
blender-mcp
# Or from source
uv sync
python -m blender_mcp.mcp_protocolSupported MCP Clients
Client | Documentation |
Amp | |
Antigravity | |
Claude Code | |
Cline | |
Codex | |
Copilot CLI | |
Copilot / VS Code | |
Cursor | |
Factory CLI | |
Gemini CLI | |
Gemini Code Assist | |
JetBrains AI Assistant | |
Kiro | |
OpenCode | |
Qoder | |
Visual Studio | |
Warp | |
Windsurf |
Version Compatibility
Blender Version | Status |
4.2 LTS | ✅ Supported |
4.5 LTS | ✅ Supported |
5.0+ | ✅ Supported |
5.1 | ✅ Supported (some API limitations, see above) |
< 4.2 | ❌ Not Supported |
See docs/versioning/support-matrix.md for details.
Related MCP server: BlenderMCP
中文
用于 AI 辅助 Blender 自动化的 MCP 服务器集成。
分层工具架构
Blender MCP 采用四层工具架构,29 个专用工具按意图组织:
层级 | 工具数量 | 用途 |
感知层 | 11 个工具 | 以可控粒度深度读取 Blender 状态 |
声明式写入层 | 4 个工具 | 节点编辑器(6种上下文)+ 动画 + VSE 序列编辑器 + 网格编辑 |
命令式写入层 | 9 个工具 | 对象/材质/修改器/UV/约束/物理/场景 |
后备层 | 5 个工具 | execute_operator + execute_script + import_export + render + batch |
感知层(11 个工具):
工具 | 描述 |
| 列出/筛选场景对象 |
| 单对象深度数据(12 种 include 选项) |
| 读取任意节点树(6 种上下文) |
| 关键帧/NLA/驱动器/形态键 |
| 材质资产列表 |
| 场景级全局信息 |
| 集合层级树 |
| 骨架/骨骼层级/约束/姿态 |
| 纹理/图片资产列表 |
| 视口截图 |
| 当前选择/模式/活动对象 |
声明式写入层(4 个工具):
工具 | 描述 |
| 编辑任意节点树(添加/移除/连接/断开/设置值)⭐ 核心 |
| 编辑动画(关键帧/NLA/驱动器/形态键/帧范围) |
| 编辑 VSE 视频序列(片段/转场/特效) |
| 编辑网格数据(顶点/边/面) |
命令式写入层(9 个工具):
工具 | 描述 |
| 创建场景对象(MESH/LIGHT/CAMERA/CURVE/EMPTY/ARMATURE/TEXT) |
| 变换/父子/可见性/重命名/删除 |
| 材质创建/PBR 编辑/赋予/复制/删除 |
| 修改器添加/配置/应用/删除/排序 |
| 集合创建/删除/对象链接/层级/可见性 |
| UV 展开/缝合线/打包/图层管理 |
| 对象/骨骼约束添加/配置/删除 |
| 物理模拟添加/配置/烘焙 |
| 渲染引擎/世界环境/时间线配置 |
后备层(5 个工具):
工具 | 描述 |
| 执行任意 bpy.ops.* 操作符 |
| 执行任意 Python 代码(⚠️ 谨慎使用) |
| 导入/导出资产文件(FBX/OBJ/GLTF/USD/Alembic/STL 等) |
| 渲染场景到图像/视频 |
| 在单次请求中执行多个工具调用(性能优化) |
注意: 所有工具使用
blender_前缀以避免多服务器环境下的命名冲突。工具名称符合 MCP 规范使用下划线。Payload 包装层已移除 - 所有参数直接暴露为顶层 inputSchema 属性。
工具命名: 所有工具使用 blender_ 前缀以避免多服务器环境下的命名冲突。
特性
撤销支持:所有写入操作自动推入 Blender 撤销栈 — Ctrl+Z 正确回退。
本地化支持:支持任何语言的 Blender。使用英文显示名如
"Principled BSDF"会自动解析为本地化名称。错误报告:插件详细错误信息在 MCP 工具响应中可见。
进度通知:支持长时间运行操作(渲染、导入导出)的 MCP 进度通知。客户端可在
_meta字段中包含progressToken以接收实时进度更新。
进度通知
Blender MCP 支持长时间运行操作的 MCP 进度通知。接收进度更新:
// 客户端请求携带 progressToken
{
"method": "tools/call",
"params": {
"name": "blender_render_scene",
"arguments": {"output_path": "/tmp/render.png"},
"_meta": {"progressToken": "render-123"}
}
}
// 服务端发送进度通知
{
"jsonrpc": "2.0",
"method": "notifications/progress",
"params": {
"progressToken": "render-123",
"progress": 50,
"total": 100,
"message": "正在渲染第 50/100 帧"
}
}安全特性:
频率限制:通知间隔最小 100ms
进度消息截断至 1000 字符
最多 100 个并发进度 token
线程安全的通知输出
已知限制(Blender 5.1)
限制 | 原因 |
VSE 片段创建失败 | Blender 5.1 定时器上下文 API 限制 |
合成器节点编辑失败 | Blender 5.1 定时器上下文 API 限制 |
对象指针属性无法设置 | MCP |
多材质槽创建 | MCP |
快速开始
初次使用? 请参阅 5 分钟快速开始指南 获取详细安装步骤。
// 创建一个立方体
{
"name": "MyCube",
"object_type": "MESH",
"primitive": "cube",
"size": 2.0
}
// 移动它
{
"name": "MyCube",
"location": [1, 2, 3]
}
// 添加细分修改器
{
"action": "add",
"object_name": "MyCube",
"modifier_name": "Subdivision",
"modifier_type": "SUBSURF",
"settings": {"levels": 2}
}
// 读取对象数据
{
"name": "MyCube",
"include": ["summary", "modifiers"]
}
// 捕获视口
{
"shading": "SOLID",
"format": "PNG"
}安装
Blender 插件
将
src/blender_mcp_addon/复制或符号链接到 Blender 插件目录:Windows:
%APPDATA%\Blender\<版本>\scripts\addons\blender_mcp_addonmacOS:
~/Library/Application Support/Blender/<版本>/scripts/addons/blender_mcp_addonLinux:
~/.config/blender/<版本>/scripts/addons/blender_mcp_addon
在 Blender 中:编辑 > 偏好设置 > 插件 > 搜索 "Blender MCP" > 启用
配置后点击 "启动服务器"
MCP 服务器
# 推荐:一行命令安装并运行
uvx ageless-blender-mcp
# 或全局安装
pip install ageless-blender-mcp
blender-mcp
# 或从源码
uv sync
python -m blender_mcp.mcp_protocol支持的 MCP 客户端
客户端 | 文档 |
Amp | |
Antigravity | |
Claude Code | |
Cline | |
Codex | |
Copilot CLI | |
Copilot / VS Code | |
Cursor | |
Factory CLI | |
Gemini CLI | |
Gemini Code Assist | |
JetBrains AI 助手 | |
Kiro | |
OpenCode | |
Qoder | |
Visual Studio | |
Warp | |
Windsurf |
版本兼容性
Blender 版本 | 状态 |
4.2 LTS | ✅ 支持 |
4.5 LTS | ✅ 支持 |
5.0+ | ✅ 支持 |
5.1 | ✅ 支持(部分 API 限制,见上方说明) |
< 4.2 | ❌ 不支持 |
详见 docs/versioning/support-matrix.md。
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Star History
License
MIT License - see LICENSE for details.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/ageless-h/blender-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server