Skip to main content
Glama

Blender MCPサーバー

API経由でBlenderを完全に制御するためのModel Context Protocol (MCP) サーバー

このアドオンはBlenderをMCPサーバーに変換し、AIエージェントがHTTPエンドポイントを通じて操作できる50以上の強力なツールを提供します。AI主導の3Dワークフロー、自動化、クリエイティブな実験に最適です。

✨ 特徴

  • 🚀 50以上のツール - Blenderの機能を完全に制御:

    • オブジェクトの作成、操作、変換

    • マテリアルおよびシェーダーシステムの管理

    • アニメーションおよびキーフレームの制御

    • カメラと照明の設定

    • モディファイアとコンストレイント

    • 物理シミュレーション(剛体、クロス、流体)

    • ジオメトリノードとプロシージャル生成

    • ファイルのインポート/エクスポート操作

    • シーンの最適化とバッチ処理

  • 🔒 スレッドセーフな実行 - 安全な同時操作のためのエンタープライズグレードのキューシステム

  • 📦 依存関係の自動インストール - 初回実行時に必要なパッケージを自動的にインストール

  • 🎮 シンプルなUIパネル - BlenderのNパネルからワンクリックでサーバーを開始/停止

  • 📊 リアルタイム監視 - 操作、統計、サーバーの状態を追跡

  • 🔧 本番環境対応 - 包括的なエラーハンドリング、ログ記録、キャッシュ機能

🚀 クイックスタート

インストール

  1. blender_mcp.py をダウンロード

  2. Blenderを開く

  3. 編集 → プリファレンス → アドオン に移動

  4. 検索バーの横にある ドロップダウン矢印 (⌄) をクリック

  5. ディスクからインストール... を選択

  6. ダウンロードした blender_mcp.py ファイルを選択

  7. 「MCP Complete Server for Blender」の横にあるチェックボックスをオンにしてアドオンを有効化

サーバーの起動

  1. 3Dビューポートで N キーを押してサイドバーを開く

  2. MCP Server タブに移動

  3. Start Server をクリック

  4. サーバーが http://localhost:8000 で起動します

初回実行時に必要な依存関係(FastAPI、Uvicorn、Pydanticなど)が自動的にインストールされます。

🤖 PolyMCPでの利用

このMCPサーバーは、AIエージェントでMCPサーバーをオーケストレーションするための強力なフレームワークである PolyMCP とシームレスに連携するように設計されています。

例: AI制御のBlender

#!/usr/bin/env python3
import asyncio
from polymcp.polyagent import UnifiedPolyAgent, OllamaProvider

async def main():
    # Initialize your LLM provider
    llm = OllamaProvider(model="gpt-oss:120b-cloud", temperature=0.1)
    
    # Connect to Blender MCP server
    agent = UnifiedPolyAgent(
        llm_provider=llm, 
        mcp_servers=["http://localhost:8000/mcp"],  
        verbose=True
    )
    
    async with agent:
        print("✅ Blender MCP Server connected!\n")
        
        # Chat with your AI to control Blender
        while True:
            user_input = input("\n🎨 You: ")
            
            if user_input.lower() in ['exit', 'quit']:
                break
            
            result = await agent.run_async(user_input, max_steps=5)
            print(f"\n🤖 Blender: {result}")

if __name__ == "__main__":
    asyncio.run(main())

コマンド例

接続後、AIエージェントに以下のように指示できます:

  • "Create a cube at position (0, 0, 0) with size 2" (位置(0, 0, 0)にサイズ2の立方体を作成して)

  • "Add a red metallic material to the selected object" (選択したオブジェクトに赤いメタリックなマテリアルを追加して)

  • "Create a camera looking at the origin" (原点を見つめるカメラを作成して)

  • "Set up a simple lighting scene with 3 lights" (3つのライトでシンプルな照明シーンを設定して)

  • "Add a fluid simulation to the cube" (立方体に流体シミュレーションを追加して)

  • "Export the scene as an FBX file" (シーンをFBXファイルとしてエクスポートして)

  • "Create an animation rotating the object 360 degrees over 100 frames" (100フレームかけてオブジェクトを360度回転させるアニメーションを作成して)

これだけです! PolyMCPは以下の複雑な処理をすべて処理します:

  • ツールの検出と選択

  • 多段階のタスク計画

  • エラーハンドリングと再試行

  • 操作全体の状態管理

これにより、AIを活用したBlender自動化ツールの構築が非常に簡単になります!

📡 APIエンドポイント

サーバー起動後、以下にアクセスできます:

  • APIドキュメント: http://localhost:8000/docs

  • 全ツール一覧: http://localhost:8000/mcp/list_tools

  • ツールの呼び出し: POST http://localhost:8000/mcp/invoke/{tool_name}

🛠️ 利用可能なツールカテゴリ

  • オブジェクト操作: 作成、削除、複製、選択

  • 変換: 移動、回転、拡大縮小、変換の適用

  • マテリアルとシェーディング: マテリアル作成、テクスチャ追加、シェーダーノード設定

  • モデリング: モディファイア追加、ブーリアン演算、メッシュ編集

  • アニメーション: キーフレーム、タイムライン制御、NLAエディタ

  • カメラと照明: カメラ設定、ライト作成、HDRI環境

  • レンダリング: レンダリング設定、出力構成、レンダリング実行

  • 物理演算: 剛体、クロス、流体シミュレーション

  • ジオメトリノード: プロシージャル生成、ノードツリー作成

  • ファイル操作: 各種フォーマットのインポート/エクスポート (FBX, OBJ, USDなど)

  • シーン管理: シーン情報、クリーンアップ、最適化

  • バッチ操作: 複数オブジェクトの作成と変換

  • 高度な機能: パーティクルシステム、フォースフィールド、グリースペンシル

🔧 設定

blender_mcp.py 内の Config クラスを編集することで、サーバーをカスタマイズできます:

class Config:
    HOST = "0.0.0.0"           # Server host
    PORT = 8000                # Server port
    AUTO_INSTALL_PACKAGES = True  # Auto-install dependencies
    THREAD_SAFE_OPERATIONS = True  # Enable thread-safe execution
    ENABLE_CACHING = True      # Enable result caching

📋 要件

アドオンは以下の依存関係を自動的にインストールします:

  • FastAPI

  • Uvicorn

  • Pydantic

  • docstring-parser

  • NumPy

  • PolyMCP

Blenderのバージョン: 3.0.0以上

🐛 トラブルシューティング

サーバーが起動しませんか?

  • Blenderのシステムコンソールでエラーメッセージを確認してください (ウィンドウ → システムコンソールを切り替え)

  • ポート8000が既に使用されていないことを確認してください

  • インストール後にBlenderを再起動してみてください

依存関係がインストールされませんか?

  • BlenderのPythonを使用して手動でパッケージをインストールしてください:

    /path/to/blender/python -m pip install fastapi uvicorn pydantic docstring-parser numpy

MCP Serverパネルが見つかりませんか?

  • 3Dビューポートで N キーを押してください

  • サイドバーの「MCP Server」タブを探してください

  • プリファレンスでアドオンが有効になっていることを確認してください

🤝 貢献

貢献を歓迎します!このプロジェクトは、PolyMCP用の強力なMCPサーバーを作成することがいかに簡単かを示しています。

📝 ライセンス

MITライセンス - 詳細はLICENSEファイルを参照してください

🔗 関連プロジェクト

  • PolyMCP - カスタムエージェントを使用してMCPサーバーと対話するためのシンプルで効率的な方法

  • Model Context Protocol - LLMとのツール統合のためのオープンプロトコル

💡 なぜこのプロジェクトなのか?

このMCPサーバーは、PolyMCPがいかに驚くほど簡単にAIを活用したツールを構築できるかを示すために作成されました。わずか数行のコードで、以下のことが可能です:

  1. 複雑なBlender機能をMCPツールとして公開する

  2. AIエージェントにこれらのツールを検出・オーケストレーションさせる

  3. 3D制作のための自然言語インターフェースを構築する

複雑なプロンプトも、手動のツール選択も、状態管理も不要です。PolyMCPがすべてを処理します!


PolyMCP 用に設計されています

便利だと思ったら、このリポジトリにスター ⭐ を付けてください!

Related MCP Connectors