Blender Mcp Server

Blender Mcp Server

🚀 Blender MCP 服务器

一个用于管理和执行 Blender 脚本的 Model Context Protocol (MCP) 服务器,它可以帮助用户在无头 Blender 环境中轻松管理脚本的添加、编辑、执行和删除等操作,并能查看执行结果和错误,还能跟踪脚本元数据。

🚀 快速开始

  1. 启动服务器:
    python server.py
    
  2. 使用 MCP 客户端(如 Claude Desktop)连接到服务器
  3. 使用提供的工具管理脚本:
    • add_script(name, content) - 添加新脚本
    • edit_script(name, content) - 编辑现有脚本
    • execute_script(name, blend_file=None) - 在 Blender 中执行脚本,可选指定 .blend 文件
    • remove_script(name) - 删除脚本
  4. 访问资源以获取信息:
    • scripts://list - 获取可用脚本列表
    • script://{name} - 获取特定脚本的内容
    • result://{name} - 获取脚本的执行结果

✨ 主要特性

  • 添加、编辑、执行和删除 Blender Python 脚本
  • 在无头 Blender 环境中执行脚本
  • 查看执行结果和错误
  • 跟踪脚本元数据(创建日期、上次修改日期、执行次数)

📦 安装指南

  1. 克隆此仓库
  2. 安装 MCP 库:pip install mcp
  3. 确保 Blender 已安装并可从 PATH 访问

💻 使用示例

基础用法

# 添加一个简单的脚本
add_script("hello_cube", '''
import bpy

# 删除现有对象
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()

# 创建一个立方体
bpy.ops.mesh.primitive_cube_add(size=2, location=(0, 0, 0))
print("创建了立方体!")
''')

# 执行脚本
execute_script("hello_cube")

# 获取结果
# 使用以下地址访问:result://hello_cube

高级用法

# 添加一个结合_blend文件的脚本
add_script("analyze_scene", '''
import bpy

# 打印当前场景的信息
print(f"当前 Blender 版本: {bpy.app.version_string}")
print(f"当前文件: {bpy.data.filepath}")

# 列出场景中的所有对象
print("\n场景中的对象:")
for obj in bpy.data.objects:
print(f" - {obj.name} ({obj.type})")
''')

# 指定_blend 文件执行脚本
execute_script("analyze_scene", blend_file="/path/to/your/project.blend")

# 获取结果
# 使用以下地址访问:result://analyze_scene

🔧 技术细节

  1. 添加脚本时,它会被存储在 script_files/scripts 目录中
  2. 执行脚本时,会在无头 Blender 实例中运行
    • 如果指定_blend 文件,则 Blender 会先打开该文件再执行脚本
    • 否则,将使用默认的空 Blender 场景
  3. 输出和错误会被捕获并存储在 script_files/results 目录中
  4. 脚本元数据会在 script_files/metadata.json 中进行跟踪

📄 许可证

MIT

  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-30 18:45

相似服务问题