BpyMcp
一个模型上下文协议(MCP)服务器,提供Blender Python(bpy)工具用于3D建模和渲染操作。此服务器允许MCP客户端通过标准化协议与Blender交互,从而实现对3D场景、对象、材质和渲染的程序化控制。
特性
- 对象创建:创建具有可自定义参数的立方体和球体
- 物料管理:将具有自定义颜色的材质应用于对象
- 场景渲染:将场景渲染为具有可配置分辨率的图像文件
- 场景信息:查询当前场景详细信息,包括对象和设置
MCP工具
bpy_create_cube:在Blender场景中创建立方体对象bpy_create_sphere:在Blender场景中创建球体对象bpy_set_material:将材质应用于现有对象bpy_render_image:将当前场景渲染为图像文件bpy_get_scene_info:检索有关当前场景的信息
安装
如果 可用十六进制,该软件包可以安装 通过添加 bpy_mcp 到中的依赖项列表 mix.exs:
def deps do
[
{:bpy_mcp, "~> 0.1.0"}
]
endDocker设置
该项目包括对开发和生产环境的Docker支持。
先决条件
- Docker和Docker Compose
- 至少4GB的可用RAM用于Blender操作
快速开始
# Clone the repository
git clone
cd bpy-mcp
# Start development environment
./docker-run.sh dev
# Or start production environment
./docker-run.sh prodDocker开发命令
# Start development server with hot reload
./docker-run.sh dev
# View logs
./docker-run.sh logs -f
# Open shell in container
./docker-run.sh shell
# Stop development server
./docker-run.sh stop生产
# Build and start production server
./docker-run.sh prod
# View production logs
./docker-run.sh logs
# Stop production server
docker-compose -f docker-compose.prod.yml down手动Docker命令
# Development
docker-compose up --build
# Production
docker-compose -f docker-compose.prod.yml up -d --build
# Clean up
docker-compose down -v建筑
Docker设置使用多阶段构建:
- 基础:常见依赖项(Erlang、Elixir、Blender)
- 建造者 (sidecar):构建Elixir版本(构建后丢弃)
- 运行时:仅发布最小生产映像
这种方法在确保可重复构建的同时,最大限度地减小了最终图像的大小。
发展
此项目包括用于一致开发环境的开发容器配置。
使用开发容器
- 确保您安装了Docker和VS Code的Dev Containers扩展
- 在VS Code中打开项目
- 出现提示时,选择“在容器中重新打开”或使用命令面板:
Dev Containers: Reopen in Container - 容器将自动设置完整的开发环境
dev容器包括:
- 含OTP 26的灵丹妙药1.17.3
- 预安装的依赖关系和Hex包管理器
- Elixir开发的VS代码扩展
- 使用uv进行Blender集成的适当Python环境
手动设置
如果你不想使用dev容器,你可以手动构建和运行Docker容器:
# Build the container
docker build --platform linux/amd64 -t bpy-mcp .
# Run with source mounting
docker run --rm -it --platform linux/amd64 -v $(pwd):/workspace -w /workspace bpy-mcp bash容器内部:
mix deps.get
mix compile
# Start HTTP server (recommended for testing)
mix mcp.server
# Or start with stdio transport (recommended for IDEs)
mix mcp.stdioHTTP服务器将在以下位置可用:
- MCP端点:
http://localhost:4000(POST请求) - SSE端点:
http://localhost:4000/sse(用于流式响应) - 健康检查:
http://localhost:4000/health
注: 用于IDE集成(VS代码/光标),stdio传输(mix mcp.stdio)是推荐的。
与MCP客户端连接
AI代理设置(VS代码和光标)
安装指南:参见 代理商.md 有关配置VS Code和Cursor以使用此MCP服务器的详细说明。
快速入门:
- 打开编辑器→ 命令面板(
Shift + Cmd/Ctrl + P) → “打开MCP设置” - 添加到
mcp.json:
{
"mcpServers": {
"bpy-mcp": {
"command": "mix",
"args": ["mcp.stdio"],
"cwd": "/path/to/bpy-mcp"
}
}
}- 保存并重新启动编辑器
看 代理商.md 有关详细的设置说明。
HTTP传输(带SSE流)
HTTP传输包括用于实时流式传输MCP响应的服务器发送事件(SSE)。
- MCP端点:
http://localhost:4000(POST请求) - SSE端点:
http://localhost:4000/sse(用于流式响应) - 健康检查:
http://localhost:4000/health - 协议:带SSE流的MCP JSON-RPC 2.0
客户端配置示例(适用于Claude Desktop或其他MCP客户端):
{
"mcpServers": {
"bpy-mcp": {
"command": "mix",
"args": ["mcp.server", "--transport", "http"],
"env": {
"PORT": "4000"
}
}
}
}备注:使用HTTP传输时,SSE流会自动启用,为长时间运行的操作提供实时更新。
标准运输
对于基于stdio的客户端:
{
"mcpServers": {
"bpy-mcp": {
"command": "mix",
"args": ["mcp.stdio"]
}
}
}