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
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