Skip to main content
Glama
A-to-PC

blender-lab-mcp-client

by A-to-PC

blender-lab-mcp-client

これは、公式のBlender.org「Blender Lab」MCPアドオンの実際のワイヤープロトコルを使用するMCPクライアントであり、djeada/blender-mcp-server と同じ27個のツールを公開します。ただし、そのプロジェクトに同梱されている独自アドオンの代わりに、blender.org/lab/mcp-server に対して動作します。

存在理由

「Blender + MCP」という無関係なプロジェクトが(少なくとも)2つあり、両者とも名前、デフォルトポート、似た売り文句を共有しています:

  1. djeada/blender-mcp-server — 対応するペアを同梱しています: 独自のBlenderアドオンPython MCPクライアント。localhost:9876 上で、改行区切りの {"id", "command", "params"} / {"success", "result"} プロトコルを話します。

  2. 公式のBlender Labアドオン (blender.org/lab/mcp-server、メンテナーは「Blender Authors」) — 完全に別のプロジェクトです。これも localhost:9876 で待ち受けますが、アドオン側のみを提供します。ヌルバイト区切りの {"type": "execute", "code": ..., "strict_json": ...} リクエストと {"status": "ok"|"error", "result": ...} レスポンスを話し、組み込みの名前付きコマンドディスパッチャは持たず(bpy に対して生のPythonを実行するだけ)、各リクエストのたびにTCP接続を閉じます。

公式のBlender Labアドオンをインストールしても、djeada/blender-mcp-server を指すようにMCPクライアントを設定している場合(例: uvx blender-mcp-server)、すべてのツール呼び出しは次のようなエラーで失敗します:

Extra data: line 1 column 51 (char 50)

または、次の呼び出しでは:

Lost connection to Blender: Blender connection closed

これは不安定な接続でも、古くなったプロセスでも、Blenderのバグでもありません。無関係な2つのプロトコルが互いに話しかけ合っているだけです。djeada のクライアントはアドオンが認識できない改行終端のリクエストを送信します。アドオンはクライアントをタイムアウトさせ、小さなヌルバイト終端のエラーを返します。するとクライアントの readline() はJSONオブジェクトの直後にある迷子のヌルバイトで失敗します。

このパッケージは、元の27個のMCPツールそれぞれを、同等の bpy Pythonを生成し、Blender Labアドオンの実際のプロトコルを通して送信することで再実装します。したがって、ツール名・パラメータ・動作は同じままです — 変わるのは下にあるワイヤーフォーマットだけです。

インストール

  1. Blenderに公式のBlender Lab MCPアドオンをインストールし(Edit → Preferences → Add-ons → 「MCP」を検索、またはExtensionsプラットフォーム経由)、127.0.0.1:9876 で待ち受けていることを確認します(Add-on preferences → Start Server)。

  2. このパッケージをインストールします:

    git clone https://github.com/A-to-PC/blender-lab-mcp-client.git
    cd blender-lab-mcp-client
    pip install -e .
  3. あなたのMCPクライアントからこのパッケージを指定します。mcp.json スタイルの設定の場合:

    {
      "servers": {
        "Blender": {
          "type": "stdio",
          "command": "blender-lab-mcp-client"
        }
      }
    }

    または、インストールせずに uv を使ってソースから直接実行します:

    {
      "servers": {
        "Blender": {
          "type": "stdio",
          "command": "uv",
          "args": ["run", "--project", "/absolute/path/to/blender-lab-mcp-client", "blender-lab-mcp-client"]
        }
      }
    }

ツールリファレンス

上流と同じ27ツールです。完全な一覧(シーン検査、オブジェクト操作、マテリアル、レンダリング/エクスポート、履歴、Python実行、非同期ジョブ)については、djeada/blender-mcp-serverのツールリファレンス を参照してください。名前とパラメータは変更されていません。変更されているのは、その下にあるトランスポートだけです。

既知の制限事項

  • blender_python_exec_async / blender_job_status / blender_job_cancel / blender_job_list(ブリッジトランスポートのみ)は同期として擬装されています。 アドオンの実際の遅延ジョブ機構では、実行されるコード自体が check_is_finished 呼び出し可能オブジェクトを設定する必要がありますが、任意に送信されたコードから汎用的に合成するのは現実的ではありません。ライブのBlenderセッションに対する非同期呼び出しは実際には同期的に実行され、直ちに "succeeded" として報告されます。本当に長時間実行される作業(物理ベーク、重いシミュレーション)には、代わりに transport="headless" を使用してください。そのパスは別の blender -b バックグラウンドプロセスを実行するため、この制限の影響を受けません。

  • リクエストごとに1接続。 アドオンは各レスポンスの後にソケットを閉じるため、このクライアントは永続接続を再利用できません。各ツール呼び出しは新しいTCP接続を開きます。これはアドオンの実際の設計に一致するものであり、クライアント側で「修正」できるパフォーマンス上のショートカットではありません。

  • Blender 5.2 LTS + Blender Labアドオンでテスト済み。オブジェクト/マテリアルのヘルパーコードは標準の bpy.ops.* 呼び出しを使用しており、最近のBlenderバージョンであれば動作するはずですが、バージョンマトリックス全体での検証は行われていません。

クレジット

Adam Djellouli氏によるdjeada/blender-mcp-server(MITライセンス)からフォークしました。MCPツールの表面(名前、パラメータ、説明)と headless.py のバックグラウンド実行トランスポートはそのまま引き継がれています。新規なのは、server.pyBlenderConnection とコマンドからbpyコードへの変換層だけで、上流の同梱アドオンの代わりに公式のBlender Labアドオンのプロトコルを対象としています。

ライセンス

MIT — LICENSE を参照してください。

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • MCP server for Producer/Riffusion AI music generation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/A-to-PC/blender-lab-mcp-client'

If you have feedback or need assistance with the MCP directory API, please join our Discord server