Blender MCP 服务器 - AI驱动的3D生成
一个全面的模型上下文协议(MCP)服务器,它通过自然语言在Blender中实现AI驱动的3D内容创作。该服务器旨在与Claude及其他兼容MCP的AI助手实现无缝集成。
特点/功能
核心能力
- 文本到3D生成用文字描述你的需求,获取3D模型
- 图像转3D上传参考图像并生成匹配的3D几何图形
- 动画系统创建旋转、弹跳和自定义动画
- 自动绑定(或自动骨骼绑定)为角色和对象自动生成骨架
- 渲染可配置设置的高品质渲染效果
- 导出支持FBX、OBJ、GLTF、STL和USD格式
集成特性
- Context7 MCP(注:MCP在此处可能是一个特定术语或缩写,根据上下文可能代表“多通道处理器”、“管理控制面板”或其他含义,具体翻译需结合实际语境)访问最新的Blender API文档
- 剧作家 MCP自动化测试和验证
- 视觉模型基于参考的生成图像分析
- 克劳德集成(或译为“克劳德整合”)针对Claude AI工作流程进行了优化
安装
先决条件
- Python 3.11或更高版本
- Blender 4.5 或更高版本(已测试过 4.5.3 LTS 版本)
- Node.js(适用于Context7和Playwright MCPs)
快速入门
- 克隆或下载此仓库:
cd blender-mcp-server- 安装Python依赖项:
pip install -e .- 配置Blender路径 (如果不是默认值):
编辑 src/server.py 并更新:
BLENDER_PATH = r"C:\Program Files\Blender Foundation\Blender 4.5\blender.exe"- 测试服务器:
python src/server.py使用方法
在Claude桌面版中进行配置
添加到您的Claude桌面MCP配置中(%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"blender": {
"command": "python",
"args": [
"C:\\Users\\YOUR_USERNAME\\blender-mcp-server\\src\\server.py"
]
},
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@executeautomation/playwright-mcp-server"]
}
}
}示例提示
文本到3D:
Use the blender server to create a low-poly spaceship with sleek design图像转3D:
Generate a 3D model based on this reference image: C:\images\chair.jpg动画:
Create a rotating animation for the spaceship object, 240 frames吊装设备/索具:
Add humanoid rigging to the character model导出:
Export the spaceship as FBX to C:\exports\spaceship.fbx可用工具
从文本生成3D模型
根据自然语言描述生成3D对象。
参数:
description(必填):3D对象的详细描述style风格提示(写实、低多边形、风格化、卡通化)output_name输出文件名render是否渲染该对象(默认:true)
示例:
{
"description": "A futuristic hover car with neon lights",
"style": "lowpoly",
"output_name": "hover_car",
"render": true
}从图像生成3D模型
从参考图像生成3D对象。
参数:
image_path(必填):参考图像的路径description进一步的澄清说明output_name输出文件名
创建动画
为3D对象创建动画。
参数:
object_name(必需):要动画化的对象名称animation_type(必需): 旋转、弹跳、行走、自定义duration动画帧数(默认:120)parameters动画特定设置
添加装配(或:添加绑点/添加布线)
为模型添加骨架/骨骼以便进行动画制作。
参数:
object_name(必填):需要绑定的对象名称rig_type(必填):人形、动物、机械、自定义
渲染场景
将当前场景渲染为图像或动画。
参数:
output_path(必填):输出文件路径resolution\[宽度, 高度\](默认:\[1920, 1080\])samples渲染质量(默认:128)animation渲染为动画(默认:false)
导出模型
将3D模型导出为多种格式。
参数:
object_name(必填):要导出的对象名称output_path(必需):带扩展名的输出文件路径formatFBX、OBJ、GLTF、STL、USD(默认:FBX)
列出对象
列出当前Blender场景中的所有对象。
获取场景信息
获取当前场景的详细信息。
测试
手动测试
直接测试各个工具:
# Test text-to-3D generation
python -c "
import asyncio
from src.server import BlenderMCPServer, Text3DRequest
async def test():
server = BlenderMCPServer()
request = Text3DRequest(description='a simple cube', output_name='test_cube')
result = await server.generate_3d_from_text(request)
print(result)
asyncio.run(test())
"使用Playwright MCP进行自动化测试
该服务器集成了Playwright MCP,用于端到端的自动化测试。测试验证:
- 工具注册与可用性
- 文本到3D生成流程
- 图像分析与处理
- 动画制作
- 导出功能
- 错误处理
运行测试:
pytest tests/ -v建筑
blender-mcp-server/
├── src/
│ ├── __init__.py # Package initialization
│ └── server.py # Main MCP server implementation
├── tests/
│ ├── test_server.py # Unit tests
│ └── test_integration.py # Integration tests with Playwright
├── examples/
│ ├── basic_usage.py # Basic examples
│ └── advanced_usage.py # Advanced workflows
├── pyproject.toml # Project configuration
└── README.md # This file高级用法
自定义几何体生成
服务器使用人工智能来解析描述并生成相应的几何形状。您可以通过以下方式增强生成效果:
- 详细描述“一座拥有四座塔楼、石墙和木制吊桥的中世纪城堡”
- 风格提示“写实”、“低多边形(简约风格)”、“风格化”、“卡通化”
- 材料描述包括颜色、纹理和材料属性
图像参照学习
图像到3D的特征利用视觉模型来分析参考图像:
# In your prompts
"Create a 3D model matching this concept art: path/to/image.jpg
Focus on the overall form and proportions"复杂动画
通过串联工具创建复杂动画:
# 1. Generate object
"Create a robotic arm"
# 2. Add rigging
"Add mechanical rigging to the robotic arm"
# 3. Animate
"Create a custom animation where the arm reaches forward and grabs"配置
环境变量
BLENDER_PATHBlender 可执行文件的路径BLENDER_OUTPUT_DIR生成文件的输出目录ANTHROPIC_API_KEY用于Claude集成的API密钥
Blender 设置
在(某处)进行配置 src/server.py:
class BlenderConfig:
blender_path: str = "C:\\Program Files\\Blender Foundation\\Blender 4.5\\blender.exe"
output_dir: Path = Path(tempfile.gettempdir()) / "blender_mcp_output"
default_resolution: tuple[int, int] = (1920, 1080)
default_samples: int = 128故障排除
服务器无法启动
- 验证Blender路径
src/server.py - 检查Python版本(3.11+)
- 确保所有依赖项已安装:
pip install -e .
一代人的失败
- 检查Blender的安装情况
- 验证输出目录的权限
- 在控制台输出中查看日志
渲染质量问题
- 在渲染设置中增加样本数量
- 使用更高分辨率
- 检查生成场景中的灯光设置
性能优化技巧
- 批处理操作在渲染前生成多个对象
- 决心预览时使用较低分辨率,最终输出时使用较高分辨率
- 样本64个样本用于预览,256个以上用于最终渲染
- 后台模式Blender在后台运行以加快处理速度
与其他MCPs的集成
上下文7
获取Blender API文档:
Ask context7 about Blender Python API for creating materials剧作家
自动化测试:
Use playwright to test the blender generation workflow做出贡献
欢迎贡献!改进方向包括:
- 增强的几何生成算法
- 更多的动画预设
- 更优质的材质和纹理系统
- 高级布线模板
- 与更多人工智能模型的集成
许可证
MIT 许可证 - 详情请参见 LICENSE 文件
致谢
- 用……建造 MCP SDK(MCP软件开发工具包)
- Blender API文档
- 用于AI集成的Anthropic Claude
- Context7 和 Playwright MCP 服务器
支持
对于问题和疑问:
- 查看故障排除部分
- 在输出目录中查看Blender日志
- 在Claude桌面验证MCP配置
- 手动测试各个工具
路线图
- \[ \] 具有PBR纹理的高级材料系统
- \[ \] 物理模拟
- \[ \] 粒子系统
- \[ \] 更多的绑定预设(四足动物、车辆等)
- \[ \] 使用Blender视口进行实时预览
- \[ \] 与Stable Diffusion集成以处理纹理
- \[ \] 对Blender插件的支持
- \[ \] 多对象场景构图
- \[ \] 3D资产的版本控制
______________________________________________________________________
由Claude代码制作 - 展示MCP在创意应用中的强大功能
