使用说明
Blender MCP服务器
一个模型上下文协议(MCP)服务器,提供强大的Blender 3D自动化和渲染功能。此服务器允许您通过MCP工具以编程方式控制Blender,从而实现自动渲染、场景创建、Python脚本执行等。
特性
🎬 渲染工具
- 渲染场景:将Blender场景渲染为图像或动画
- 批处理接收器:高效渲染多个Blender文件
- 支持多种输出格式(PNG、JPEG、EXR、TIFF、BMP)
- 可定制的分辨率和采样设置
🎨 场景管理
- create_scene:使用预定义设置生成新的Blender场景
- get_scene_info:分析现有Blender文件
- 多种场景类型:基础、工作室照明、户外、产品展示
- 自动对象放置和照明设置
🐍 Python集成
- execute_python_script:在Blender中运行Python脚本
- 完全访问Blender的Python API(bpy)
- 能够以编程方式修改和保存场景
🔧 插件管理
- 安装插件:安装并启用Blender插件
- 同时支持.py和.zip插件文件
安装
-
再进行
npm install -
构建服务器
npm run build -
配置搅拌机路径 (可选) 设置自定义Blender安装的环境变量:
export BLENDER_PATH="/path/to/blender" export BLENDER_OUTPUT_PATH="/path/to/renders"
用法
启动服务器
npm start
服务器在stdio上运行,可以与MCP兼容的客户端集成。
配置
服务器接受以下环境变量:
BLENDER_PATH:Blender可执行文件的路径(默认:“Blender”)BLENDER_OUTPUT_PATH:渲染的默认输出目录(默认:“./rerenders”)
MCP客户端配置
将此服务器添加到MCP客户端配置中:
{
"mcpServers": {
"blender": {
"command": "node",
"args": ["path/to/blender-mcp-server/build/index.js"]
}
}
}
可用工具
渲染场景
将Blender场景渲染为图像或动画。
参数:
blendFile(必需):.blend文件的路径outputPath(可选):渲染文件的输出路径format(可选):输出格式(PNG、JPEG、EXR、TIFF、BMP)frame(可选):要渲染的特定帧resolution(可选):渲染分辨率{x,y}samples(可选):渲染样本数
例子:
{
"blendFile": "./scenes/my_scene.blend",
"outputPath": "./renders/output",
"format": "PNG",
"resolution": {"x": 1920, "y": 1080},
"samples": 128
}
execute_python_script
在Blender中执行Python脚本。
参数:
script(必填):要执行的Python脚本blendFile(可选):要加载的.blend文件saveFile(可选):保存修改文件的路径
例子:
{
"script": "import bpy; bpy.ops.mesh.primitive_cube_add(location=(0, 0, 2))",
"blendFile": "./scenes/base.blend",
"saveFile": "./scenes/modified.blend"
}
create_scene
使用基本对象创建新的Blender场景。
参数:
outputFile(必需):保存新.blend文件的路径sceneType(可选):场景类型(基本、工作室照明、户外、产品展示柜)objects(可选):要添加的对象数组
例子:
{
"outputFile": "./scenes/new_scene.blend",
"sceneType": "studio_lighting",
"objects": [
{
"type": "sphere",
"location": [0, 0, 1],
"scale": [1.5, 1.5, 1.5],
"material": "RedMaterial"
}
]
}
get_scene_info
获取Blender场景的详细信息。
参数:
blendFile(必需):要分析的.blend文件的路径
例子:
{
"blendFile": "./scenes/my_scene.blend"
}
批处理接收器
渲染多个Blender文件或帧。
参数:
blendFiles(必需):.blend文件路径数组outputDir(必需):保存渲染文件的目录format(可选):所有渲染的输出格式frameRange(可选):帧范围{开始,结束}
例子:
{
"blendFiles": ["./scene1.blend", "./scene2.blend"],
"outputDir": "./batch_renders",
"format": "PNG"
}
安装插件
安装Blender插件。
参数:
addonPath(必填):插件文件的路径(.py或.zip)enable(可选):安装后是否启用(默认:true)
例子:
{
"addonPath": "./addons/my_addon.py",
"enable": true
}
场景类型
基础
- 简单的阳光
- 基本相机定位
- 快速原型制作的最小设置
工作室照明
- 专业三点照明设置
- 柔和阴影的区域灯光
- 针对产品可视化进行了优化
户外
- 高能太阳光
- 接地平面
- 自然光照模拟
产品展示
- 按键、填充和边缘照明
- 专业背景
- 针对产品摄影进行了优化
对象类型
支持的基本体对象:
cube:基本立方体图元sphere:UV球体cylinder:圆柱体图元plane:平面monkey:Suzanne(Blender的吉祥物)
每个对象支持:
- 自定义位置[x,y,z]
- 自定义比例[x,y,z]
- 材料分配
错误处理
服务器提供全面的错误处理:
- 文件存在验证
- 搅拌机过程监控
- 详细的错误消息
- 优雅的故障恢复
需求
- 搅拌机:2.8+版本(建议3.0+版本)
- Node.js:版本16+
- 操作系统:Windows、macOS或Linux
发展
从源头构建
git clone <repository>
cd blender-mcp-server
npm install
npm run build
发展模式
npm run dev
这将在监视模式下启动TypeScript进行开发。
故障排除
常见问题
-
未找到搅拌机
- 确保Blender在您的路径或设置中
BLENDER_PATH环境变量 - 测试:
blender --version
- 确保Blender在您的路径或设置中
-
权限错误
- 确保输出目录的写入权限
- 检查.blend文件的文件权限
-
渲染失败
- 验证.blend文件未损坏
- 检查可用磁盘空间
- 确保场景设置正确(摄像头、照明)
调试模式
设置详细输出的环境变量:
DEBUG=1 npm start
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
致谢
- 与 模型上下文协议SDK
- 由...驱动 搅拌机 -免费开源3D创作套件
- 受到3D自动化社区的启发
备注:此MCP服务器要求您的系统上安装Blender。服务器通过命令行界面和Python脚本与Blender通信。