scenemodel について
scenemodel は、既存の Blender アドオンを通じてシーンを操作する CLI と MCP サーバーです。シーンの確認や Python コード実行に加え、PolyHaven のアセット操作と Hunyuan3D 生成に対応します。
主な機能
- 01シーンとオブジェクトの情報取得
- 02任意の Blender Python コードの実行
- 03ビューポート画像の概要取得
- 04PolyHaven アセットの閲覧、検索、ダウンロード
- 05Hunyuan3D モデルの生成
活用シーン
- 01Blender シーンとオブジェクトの確認
- 02Blender シーンに対するコード実行
- 03シーン用アセットの検索とダウンロード
- 04テキストまたは画像 URL から 3D モデルを生成
MCP 対応
シーン、コード、アセット、スクリーンショット、モデル生成に関する 8 種類のツールを MCP クライアントに提供します。TCP 経由で Blender アドオンに接続し、BLENDER_HOST と BLENDER_PORT を使用します。スクリーンショットの応答は概要のみで、画像データは含みません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
scenemodel
scenemodel は、エージェントから Blender のシーンを操作するための、小規模な MCP サーバー兼 CLI です。ahujasid/blender-mcp で文書化されている機能のうち、中心的なサブセット(8 つのツール)をクリーンルーム方式で再構築しています。シーンとオブジェクトの情報取得、任意の Blender Python の実行、ビューポートのスクリーンショット、PolyHaven のカテゴリ閲覧・検索・ダウンロード、Hunyuan3D によるモデル生成を利用できます。
通信方式は元のまま変更していません。Blender でアドオンを実行すると、TCP ソケット(デフォルトは localhost:9876)で待ち受け、{type, params} 形式の JSON コマンドを受信して JSON レスポンスを返します。scenemodel は、このプロトコルを注入可能なソケット関数を通じてそのまま実装しています。1 回の呼び出しにつき、接続 1 回、JSON リクエスト 1 件、JSON レスポンス 1 件を送信し、ホストとポートには BLENDER_HOST / BLENDER_PORT を使用します。待ち受け中のソケットがない場合、実際の接続エラー(ECONNREFUSED)をそのまま返します。scenemodel がシーンデータを捏造することはありません。
文書化されている機能との違いが 1 点あります。上流版のスクリーンショットツールは画像コンテンツを返しますが、scenemodel が返すのはアーティファクトの概要です。画像形式とバイト数、base64 の長さを返し、画像コンテンツ自体のブロックは返しません。
意図的に省略している機能は、Hyper3D(Rodin)の生成ツールとそのステータス確認、Hunyuan の生成呼び出し後のジョブステータス確認・ポーリング、専用の set_texture ツール(元の実装と同様、テクスチャの設定はアセットのダウンロードとコード実行から引き続き利用できます)、テレメトリ/ユーザー ID ツール、および execute_blender_code 以外のビューポートでのシーン操作です。
公開されているコンテナイメージには Blender バイナリが含まれていません。アドオンはユーザー自身の Blender インストール内で実行されるため、このイメージはホスト上の Blender ソケットに接続することを想定しており、そのことは Dockerfile に記載されています。
インストール
npx @reneturcios/scenemodel get-scene-info
docker run -i ghcr.io/cloudcorprecords/scenemodel
まず blender-mcp アドオンを有効にして Blender を起動してください。デフォルトでは localhost:9876 で待ち受けます。
CLI
scenemodel get-scene-info
scenemodel get-object-info <object_name>
scenemodel execute-blender-code "import bpy; print(bpy.context.scene.name)"
scenemodel get-viewport-screenshot [--max-size 1024]
scenemodel get-polyhaven-categories [asset_type]
scenemodel search-polyhaven-assets [asset_type] [categories]
scenemodel download-polyhaven-asset <asset_id> <asset_type> [--resolution 2k] [--format gltf]
scenemodel generate-hunyuan3d-model --text "a wooden chair"
scenemodel --version
終了コード:0 は成功、1 はアドオン/ソケットエラー、2 は使用方法のエラーです。
MCP サーバー
npx -y @reneturcios/scenemodel mcp
{
"mcpServers": {
"scenemodel": {
"command": "npx",
"args": ["-y", "@reneturcios/scenemodel", "mcp"],
"env": { "BLENDER_HOST": "localhost", "BLENDER_PORT": "9876" }
}
}
}
env ブロックは省略可能です。デフォルト値を示しています。
ツール
| ツール | 入力 | アドオンコマンド |
|---|---|---|
get_scene_info | — | get_scene_info |
get_object_info | object_name(必須) | get_object_info |
execute_blender_code | code(必須) | execute_code |
get_viewport_screenshot | max_size(省略可能) | get_viewport_screenshot — 画像コンテンツではなく、形式と長さの概要を返します |
get_polyhaven_categories | asset_type(省略可能) | get_polyhaven_categories |
search_polyhaven_assets | asset_type、categories(省略可能) | search_polyhaven_assets |
download_polyhaven_asset | asset_id、asset_type(必須)、resolution、file_format | download_polyhaven_asset |
generate_hunyuan3d_model | text_prompt、input_image_url(どちらか一方が必須) | generate_hunyuan3d_model |
アドオンから返されるエラーやソケットの失敗(接続拒否、タイムアウト、不正なレスポンス)は、元のメッセージを含むツールエラーとして報告されます。
開発
npm install
npm run build
npm test
npm run dev
テストはすべてフェイクのソケット関数で実行します。コマンドの整形、レスポンスの取り出し、スクリーンショットの要約、エラーの伝播を検証します。実際の Blender インスタンスには一切触れません。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。