Skip to main content
Glama

Bonsai-mcp - IfcOpenShell を介した IFC 向け Blender モデル コンテキスト プロトコル統合

Bonsai-mcpはBlenderMCPのフォークで、Bonsaiを介してIFC(Industry Foundation Classes)モデル専用のサポートを追加することで、オリジナルの機能を拡張しています。この統合は、Claude、あるいは任意のLLM(ただし、Claudeデスクトップクライアントのみでテスト済み)をBlenderに接続し、IfcOpenShellコマンドを実行する機能を確認することを目的とした、簡単な概念実証です。

特徴

  • IFC固有の機能: IFCモデルのクエリ、空間構造の解析、建物要素の検査
  • 5 つの強力な IFC ツール: プロジェクト情報の検査、エンティティの一覧表示、プロパティの調査、空間構造の探索、関係の分析
  • シーケンシャル思考: 構造化された問題解決のためのmodelcontextprotocol/serversのシーケンシャル思考ツールが含まれています
  • オリジナルのBlenderMCP実装からのコード実行ツールでオブジェクトを作成および変更し、マテリアルを適用し、Pythonコードを実行します
  • 標準モデルでテスト済み: デフォルトの ifcopenshell ハウス モデル ( AC20-FZK-Haus.ifc ) で動作することを検証済み

コンポーネント

このシステムは、次の 2 つの主要コンポーネントで構成されています。

  1. Blenderアドオン( addon.py :IFC固有の操作を含むコマンドを受信して実行するためのソケットサーバーをBlender内に作成するBlenderアドオン
  2. MCP サーバー ( blender_mcp_tools.py ) : モデルコンテキストプロトコルを実装し、Blender アドオンに接続する Python サーバー

インストール

前提条件

  • Blender 3.0以降
  • Python 3.10以降
  • UVパッケージマネージャー
  • Blender 用 Bonsai BIM アドオン (IFC 機能用)

uvのインストール:

マック:

brew install uv

ウィンドウズ:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex" set Path=C:\Users\[username]\.local\bin;%Path%

他のプラットフォームについては、 UV インストール ガイドを参照してください。

リポジトリをクローンする

git clone https://github.com/JotaDeRodriguez/Bonsai_mcp

デスクトップ統合のクロード

claude_desktop_config.jsonファイル (Claude > 設定 > 開発者 > 構成の編集) を編集して、以下を追加します。

{ "mcpServers": { "Bonsai-mcp": { "command": "uv", "args": [ "--directory", "\\your\\path\\to\\Bonsai_mcp", "run", "tools.py" ] } } }

Blenderアドオンのインストール

  1. このリポジトリからaddon.pyファイルをダウンロードします
  2. ブレンダーを開く
  3. 編集 > 設定 > アドオンに移動します
  4. 「インストール...」をクリックし、 addon.pyファイルを選択します。
  5. 「インターフェース: Blender MCP - IFC」の横にあるボックスにチェックを入れてアドオンを有効にします。

使用法

接続の開始

  1. Blenderで、3Dビューサイドバーに移動します(表示されていない場合はNを押します)
  2. 「Blender MCP - IFC」タブを見つけます
  3. 「クロードに接続」をクリック
  4. MCPサーバーが稼働していることを確認してください

クロードと一緒に使う

接続すると、Claude のインターフェースに、Blender MCP IFC 統合用のツールとともにハンマー アイコンが表示されます。

IFCツール

このフォークは、5 つの強力な IFC 固有のツールを追加します。

1. get_ifc_project_info

名前、説明、さまざまなエンティティ タイプの数など、IFC プロジェクトに関する基本情報を取得します。

例: 「この IFC プロジェクトに関する基本情報は何ですか?」

2. list_ifc_entities

特定のタイプ(壁、ドア、スペースなど)の IFC エンティティを一覧表示します。

例: 「この IFC モデルのすべての壁を一覧表示する」または「この建物の窓を表示する」

3. get_ifc_properties

特定の IFC エンティティのすべてのプロパティを GlobalId で取得します。

例: 「ID 1Dvrgv7Tf5IfTEapMkwDQY のこの壁のプロパティは何ですか?」

4. get_ifc_spatial_structure

IFC モデルの空間階層 (サイト、建物、階、スペース) を取得します。

例:「この建物の空間構造を見せてください」

5. get_ifc_relationships

特定の IFC エンティティのすべての関係を取得します。

例:「玄関ドアの関係はどのようなものですか?」

Blenderコードを実行する

オリジナルのMCP実装からのレガシー機能です。ClaudeがBlender内で任意のPythonコードを実行できるようになります。注意して使用してください。

シーケンシャルシンキングツール

この統合には、問題解決と分析のための詳細なステップバイステップの思考プロセスを促進する Sequential Thinking ツールも含まれています。

ツールパラメータ:

  • thought (文字列): 現在の思考ステップ
  • nextThoughtNeeded (boolean): 別の思考ステップが必要かどうか
  • thoughtNumber (整数):現在の思考番号
  • totalThoughts (整数): 必要な推定総思考数
  • isRevision (ブール値、オプション):これが以前の考えを修正するかどうか
  • revisesThought (整数、オプション): 再考されている考え
  • branchFromThought (整数、オプション): 分岐点の思考番号
  • branchId (文字列、オプション): ブランチ識別子
  • needsMoreThoughts (ブール値、オプション): さらに考えが必要な場合

例: 「この建物のエネルギー効率を連続的な思考で分析してください」

コマンド例

Claude に IFC モデルに関して依頼できる作業の例をいくつか示します。

  • 「このIFCモデルを分析して、壁、ドア、窓がいくつあるか教えてください」
  • 「この建物模型の空間構造を見せてください」
  • 「このIFCモデル内のすべてのスペースとそのプロパティを一覧表示する」
  • 「この建物のすべての構造要素を特定してください」
  • 「この壁と他の要素との関係はどのようなものですか?」
  • 「IFCモデルに基づいて、この建物のメンテナンス計画を段階的に作成してください。」

トラブルシューティング

  • 接続の問題: Blenderアドオンサーバーが実行中であること、およびMCPサーバーがClaudeで設定されていることを確認してください。
  • IFCモデルが読み込まれない: Bonsai BIMアドオンがインストールされ、IFCファイルが読み込まれていることを確認してください
  • タイムアウトエラー: リクエストを簡素化するか、小さなステップに分割してみてください

技術的な詳細

IFC統合では、Bonsai BIMモジュールを使用してBlender内のifcopenshell機能にアクセスします。通信は、オリジナルのBlenderMCPと同じTCPソケット経由のJSONベースのプロトコルに従います。

制限事項とセキュリティに関する考慮事項

  • オリジナルプロジェクトのexecute_blender_codeツールは引き続き利用可能で、Blenderで任意のPythonコードを実行できます。注意して使用し、作業内容は必ず保存してください。
  • 複雑な IFC モデルでは、操作をより小さなステップに分割する必要がある場合があります。
  • IFC クエリのパフォーマンスは、モデルのサイズと複雑さによって異なります。

クレジット

やるべきこと

カーソル実装 'get_selected_ifc_elements' の説明を追加

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that allows Claude to interact with Linear's API for managing teams, issues, projects, and cycles.
    Last updated -
    26
    2
    TypeScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that enables Claude AI to interact directly with SketchUp, allowing for automated 3D modeling, woodworking joint creation, and component manipulation through natural language commands.
    Last updated -
    • Apple
    • Linux
  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that allows integration with Claude Desktop by creating and managing custom tools that can be executed through the MCP framework.
    Last updated -
    677
    TypeScript
    • Apple
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that enables Claude to interact directly with Unity projects, providing tools for script creation, asset management, and project building.
    Last updated -
    59
    4
    JavaScript
    MIT License
    • Linux
    • Apple

View all related MCP servers

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/JotaDeRodriguez/Bonsai_mcp'

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