使用说明
BlenderMCP-Blender模型上下文协议集成
BlenderMCP通过模型上下文协议(MCP)将Blender连接到Claude AI,允许Claude直接与Blender交互和控制Blender。这种集成实现了快速辅助的3D建模、场景创建和操纵。
我们没有官方网站。你在网上看到的任何网站都是非官方的,与这个项目没有任何关系。使用它们的风险由你自己承担。
加入社区
提供反馈,获得灵感,并在MCP的基础上进行构建: 不和
支持者
所有支持者:
发行说明(1.4.0)
- 新增Hunyuan3D支持
以前添加的功能:
- 查看Blender视口的屏幕截图,以更好地理解场景
- 搜索并下载Sketchfab模型
- 通过其API支持保利港资产
- 支持使用Hyper3D Rodin生成3D模型
- 在远程主机上运行Blender MCP
- 执行工具的遥测(完全匿名)
安装新版本(现有用户)
- 对于新手,您可以直接进入安装。对于现有用户,请参阅以下要点
- 下载最新的addon.py文件并替换旧文件,然后将其添加到Blender中
- 从Claude中删除MCP服务器并重新添加,您应该可以使用了!
特性
- 双向通信:通过基于套接字的服务器将Claude AI连接到Blender
- 一流的工具:常见的Blender操作以类型化MCP工具的形式公开(不仅仅是Python执行)
- DSL兼容:通过以下方式执行已验证的已分配操作列表
execute_ops(比任意Python更安全) - 对象操作:在Blender中创建、修改和删除3D对象
- 材料控制:创建/指定材质、设置PBR参数和线纹理贴图
- 现场检查:获取当前Blender场景的详细信息
- 代码执行:从Claude在Blender中运行任意Python代码
组件
该系统由两个主要部分组成:
- 搅拌机插件(
addon.py):Blender插件,在Blender中创建套接字服务器以接收和执行命令 - MCP服务器(
src/blender_mcp/server.py):实现模型上下文协议并连接到Blender插件的Python服务器
安装
先决条件
- 搅拌机3.0或更新版本
- Python 3.10或更新版本
- uv包管理器:
如果您使用的是Mac,请将uv安装为
brew install uv
在Windows上
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
然后将uv添加到Windows中的用户路径中(之后可能需要重新启动Claude Desktop):
$localBin = "$env:USERPROFILE\.local\bin"
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$userPath;$localBin", "User")
否则,安装说明在他们的网站上: 安装uv
⚠️ 安装UV之前不要继续
环境变量
以下环境变量可用于配置Blender连接:
BLENDER_HOST:Blender套接字服务器的主机地址(默认:“localhost”)BLENDER_PORT:Blender套接字服务器的端口号(默认值:9876)BLENDER_AUTH_TOKEN:可选共享密钥。如果在Blender(插件首选项)中设置,MCP服务器必须发送相同的令牌。BLENDER_MCP_TOOL_PROFILE:控制暴露的MCP工具数量(默认值:"standard").
工具配置文件:
minimal:仅公开get_scene_info,get_viewport_screenshot,get_capabilities,execute_opsstandard(默认):minimal+普通包装纸(create_primitive,set_transform,select_objects,assign_material,render_still)- 只有当Blender插件报告在服务器启动时启用了集成工具(PolyHaven/Sketchfab/Hyper3D/Hunyuan)时,才会注册这些工具(需要重新启动以重新评估)。
full:显示所有工具(包括高级包装器和execute_blender_code逃生舱)
例子:
export BLENDER_HOST='host.docker.internal'
export BLENDER_PORT=9876
export BLENDER_AUTH_TOKEN='...'
export BLENDER_MCP_TOOL_PROFILE='standard'
Claude桌面集成
观看设置说明视频 (假设您已经安装了uv)
转到Claude>设置>开发人员>编辑配置>Claude_desktop_Config.json,以包含以下内容:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}
光标集成
对于Mac用户,请转到“设置”>“MCP”并粘贴以下内容
- 要用作全局服务器,请使用“添加新的全局MCP服务器”按钮并粘贴
- 要用作特定于项目的服务器,请创建
.cursor/mcp.json在项目的根和粘贴
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}
对于Windows用户,请转到“设置”>“MCP”>“添加服务器”,使用以下设置添加新服务器:
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": [
"/c",
"uvx",
"blender-mcp"
]
}
}
}
⚠️ 只运行一个MCP服务器实例(在Cursor或Claude Desktop上),而不是两者都运行
Visual Studio代码集成
先决条件:确保你有 Visual Studio Code 在继续之前安装。
安装Blender插件
- 下载
addon.py此仓库中的文件 - 打开搅拌机
- 转到“编辑”>“首选项”>“附加组件”
- 点击“安装…”并选择
addon.py文件 - 通过选中“接口:Blender MCP”旁边的框启用插件
用法
启动连接
- 在Blender中,转到3D视图侧栏(如果不可见,请按N)
- 找到“BlenderMCP”选项卡
- 如果您希望资产来自其API,请启用Poly Haven复选框(可选)
- 点击“连接到克劳德”
- 确保MCP服务器正在您的终端中运行
与克劳德一起使用
一旦在Claude上设置了配置文件,并且插件在Blender上运行,您将看到一个带有Blender MCP工具的锤子图标。
能力
- 获取场景和对象信息
- 创建、删除和修改形状
- 为对象应用或创建材质
- 在Blender中执行任何Python代码
- 通过下载正确的型号、资产和HDRI 聚天堂
- 通过AI生成3D模型 Hyper3D罗丹
- 通过DSL执行分配的操作(
execute_ops)实现更安全、更有条理的场景切换
新增:DSL+工具表面(v1)
- 能力发现:
get_capabilities()返回DSL版本、支持的操作、格式和启用的集成。 - DSL执行:
execute_ops({dsl_version, transaction, dry_run, ops:[...]})transaction:"atomic"(默认)尝试使用Blender undo回滚错误;"none"尽最大努力。dry_run:验证并返回规范化的请求,而不执行。
示例(创建立方体、制作材质、指定材质):
{
"dsl_version": "1",
"transaction": "atomic",
"dry_run": false,
"ops": [
{"type": "create_primitive", "primitive": "cube", "name": "Cube_A", "size": 2.0, "location": [0, 0, 1]},
{"type": "ensure_material", "name": "RedPaint", "model": "pbr"},
{"type": "set_material_params", "material": "RedPaint", "params": {"baseColor": [1, 0, 0, 1], "roughness": 0.4}},
{"type": "assign_material", "object": "Cube_A", "material": "RedPaint", "slot": 0}
]
}
示例(添加并应用斜面修改器):
{
"dsl_version": "1",
"transaction": "atomic",
"ops": [
{"type": "add_modifier", "name": "Cube_A", "modifier_type": "bevel", "params": {"width": 0.02, "segments": 3}},
{"type": "apply_modifier", "name": "Cube_A", "modifier_name": "BEVEL"}
]
}
工具列表(v1)
核心:
get_scene_info,get_object_info,get_viewport_screenshotlist_objects,get_selection,select_objectsget_world_info,get_collectionsget_capabilities
对象/变换:
create_primitive,delete_objects,duplicate_objects,rename_objectset_transform,apply_transform,snap_to_ground,set_originset_shading,recalculate_normals,merge_by_distance,triangulatejoin_objects,separate_mesh,convert_to_meshset_visibility,set_collection_visibility,isolate_objectsensure_collection,move_to_collection,set_parent,clear_parent
材料:
list_materials,create_material,set_material_params,assign_material,set_texture_maps
修改器:
list_modifiers,add_modifier,apply_modifier,remove_modifier
紫外线/烘烤:
uv_smart_project,uv_unwrap,uv_pack_islandsbake_maps
相机/灯光/世界:
create_camera,set_camera_params,set_active_camera,frame_camera_on_objectscamera_look_at,create_turntable_animationcreate_light,set_light_paramsset_world_background,set_world_hdri
进口/出口:
import_model,export_scene
致使:
set_render_settings,render_still,render_animation
项目卫生:
purge_orphans,pack_external_data,save_blend
示例命令
以下是一些你可以要求克劳德做的事情的例子:
- “在地牢中创建一个低多边形场景,龙守卫着一罐金子” 演示
- “使用HDRI、纹理和Poly Haven的岩石和植被等模型营造海滩氛围” 演示
- 给出一个参考图像,并从中创建一个Blender场景 演示
- “通过Hyper3D生成花园侏儒的3D模型”
- 获取当前场景的信息,并从中绘制threejs草图 演示
- “让这辆车变成红色和金属色”
- “创建一个球体并将其放置在立方体上方”
- “让灯光像工作室一样”
- 将相机对准场景,并使其等距
Hyper3D集成
Hyper3D的免费试用密钥允许您每天生成有限数量的模型。如果达到每日限制,您可以等待第二天的重置,或从hyper3d.ai和fal.ai获取自己的密钥。
故障排除
- 连接问题:确保Blender插件服务器正在运行,并且MCP服务器已在Claude上配置,不要在终端中运行uvx命令。有时,第一个命令不会执行,但之后它就开始工作了。
- 超时错误:尝试简化您的请求或将其分解为更小的步骤
- Poly-Haven整合克劳德有时行为古怪
- 你试过把它关掉再打开吗?:如果您仍然存在连接错误,请尝试重新启动Claude和Blender服务器
技术细节
通信协议
该系统在TCP套接字上使用简单的基于JSON的协议:
- 命令 以JSON对象的形式发送
type可选params - 回复 JSON对象具有
status和result或message
限制和安全考虑
- 这
execute_blender_code该工具允许在Blender中运行任意Python代码,这可能很强大,但有潜在的危险。在生产环境中小心使用。在使用之前,一定要保存好你的工作。 - Poly Haven需要下载模型、纹理和HDRI图像。如果您不想使用它,请在Blender中的复选框中将其关闭。
- 复杂的操作可能需要分解为更小的步骤
贡献
欢迎投稿!请随时提交拉取请求。
免责声明
这是一个第三方集成,不是由Blender制作的。由...制作 悉达多
