Blender MCP サーバー
Blender スクリプトを管理および実行するための Model Context Protocol (MCP) サーバー。
特徴
- Blender Python スクリプトの追加、編集、実行、削除
- ヘッドレスBlender環境でスクリプトを実行する
- 実行結果とエラーを表示する
- スクリプトのメタデータ(作成日、最終更新日、実行回数)を追跡する
要件
- Python 3.7以上
- Blenderがインストールされアクセス可能
- MCP ライブラリ (
pip install mcp
)
使用法
- サーバーを起動します。
- MCPクライアント(Claude Desktopなど)を使用してサーバーに接続します
- 提供されているツールを使用してスクリプトを管理します。
add_script(name, content)
- 新しいスクリプトを追加するedit_script(name, content)
- 既存のスクリプトを編集するexecute_script(name, blend_file=None)
- オプションで.blendファイルを指定して、Blenderでスクリプトを実行します。remove_script(name)
- スクリプトを削除する
- 情報を取得するにはリソースにアクセスしてください:
scripts://list
- 利用可能なスクリプトのリストを取得しますscript://{name}
- 特定のスクリプトの内容を取得するresult://{name}
- スクリプトの実行結果を取得する
例
基本的な例
# Add a simple script
add_script("hello_cube", '''
import bpy
# Clear existing objects
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()
# Create a cube
bpy.ops.mesh.primitive_cube_add(size=2, location=(0, 0, 0))
print("Cube created!")
''')
# Execute the script
execute_script("hello_cube")
# Get the result
# Access using: result://hello_cube
Blend ファイルの操作
# Add a script that works with a blend file
add_script("analyze_scene", '''
import bpy
# Print information about the current scene
print(f"Current Blender version: {bpy.app.version_string}")
print(f"Current file: {bpy.data.filepath}")
# List all objects in the scene
print("\\nObjects in the scene:")
for obj in bpy.data.objects:
print(f" - {obj.name} ({obj.type})")
''')
# Execute with a specific blend file
execute_script("analyze_scene", blend_file="/path/to/your/project.blend")
# Get the result
# Access using: result://analyze_scene
仕組み
- スクリプトが追加されると、
script_files/scripts
ディレクトリに保存されます。 - 実行されると、スクリプトはヘッドレスBlenderインスタンスで実行されます。
- ブレンドファイルが指定されている場合、Blenderはスクリプトを実行する前にそのファイルを開きます。
- それ以外の場合は、デフォルトの空のBlenderシーンが使用されます。
- 出力とエラーは
script_files/results
ディレクトリにキャプチャされ保存されます。 - スクリプトに関するメタデータは
script_files/metadata.json
で追跡されます。
インストール
- このリポジトリをクローンする
- MCPライブラリをインストールします:
pip install mcp
- Blenderがインストールされ、PATHからアクセスできることを確認してください
ライセンス
マサチューセッツ工科大学