はじめてのHoudini MCP操作入門

# はじめに

Model Context Protocol (MCP)流行っていますね。
そんな最中Houdini用のMCPが公開されました。これは試すしかない。

最初は以下のリポジトリでしたが、

https://github.com/capoom/houdini-mcp

最新のリポジトリは移動してこちらに変更となりました。

https://github.com/capoomgit/houdini-mcp

# 超簡単な説明

![MCPMANGA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/9722313d-cc87-4bd3-82bf-ee215d47e55a.png)



# 環境

### 筆者の環境

* macOS 15.0 (Sequoia)
* Houdini Indie 20.5.545
* Python 3.11.5
* Anthropicのアカウント（Claude利用：Proffesionalプラン）

### Houdini MCPが要求する条件

* Houdini 19.0 以降
* Python 3.10以降
* uvパッケージマネージャ

### uv パッケージマネージャのインストール（Mac）

まずはuvパッケージマネージャをインストールします

※3Dの文脈でのUVとは関係なく、Node.jsプロジェクトの依存関係を効率よく管理して、開発をよりスムーズにするためのツールです。

1. Macのターミナルを開きます

2. 以下のコマンドを実行してuvをインストール
```bash
brew install uv
```

インストールが成功したか確認するには
```bash
uv --version
```

uv 0.6.9 (Homebrew 2025-03-20)などと表示されるかと思います

### uv パッケージマネージャのインストール（Windows）

  1) Install uv 
```
  powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```
  2) uvをPATHに追加（ユーザーは変えて）。コマンドプロンプトから
```
  set Path=C:\Users\<YourUserName>\.local\bin;%Path%
```
  3) uvプロジェクトまたはプラグインディレクトリで
```
  cd C:/Users/<YourUserName>/Documents/houdini20.5/scripts/python/houdinimcp/
  uv add "mcp[cli]"
```
  4) 確認
```
  uv run python -c "import mcp.server.fastmcp; print('MCP is installed!')"
```



# Houdini MCPプラグインのインストール
## フォルダレイアウト


1. [GitHub](https://github.com/capoomgit/houdini-mcp)からファイルをgit clone、もしくはZIPダウンロードします。
2. Houdini スクリプト ディレクトリにフォルダーを作成します:
   - Mac: `/Users/ユーザー名/Library/Preferences/houdini/20.5/scripts/`
   - （注：「20.5」の部分は、使用しているHoudiniのバージョンに合わせて変更してください）
   - Windows: `C:/Users/ユーザー名/Documents/houdini20.5/scripts/python/houdinimcp/`

3. ダウンロードした以下のファイルをhoudinimcpディレクトリにコピーします：
    - __init__.py– プラグインの初期化（サーバーの起動/停止）を処理します
    - server.py– HoudiniMCPServer（ポートをリッスンする9876）を定義します
    - houdini_mcp_server.py– オプションのブリッジ スクリプト (別の場所を好む人もいます)
    - pyproject.toml
   ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/5b899604-1f3d-4d56-9faa-ff85197e285e.png)

### Houdiniシェルフツール　サーバー切り替え機能

1. Houdiniを起動します
2. シェルフから
　自分用のシェルフタブがあればスキップ・なければNewShelfTabをクリック
  
  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/ebcb28ae-9e22-4767-a75e-327175b0a71e.png)
 
   Accept
 
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/608a3ba8-5f7f-4636-821d-63a43fd129fd.png)
 右クリック→ 「New Shelf...」で　「MCP」またはそれに似た名前を付けます
 
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/6d92a0e2-5337-4572-abd6-ce1a8f77e0fc.png)
 
 もう一度右クリック→ 「NewTool...」 名前: 「Toggle MCP Server」 ラベル: 「MCP」
 
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/9c0fd131-f15d-492e-b6f8-cc63dd6c1364.png)
 
 スクリプトタブに移動し、次のような内容を挿入します:

```python
import hou
import houdinimcp

if hasattr(hou.session, "houdinimcp_server") and hou.session.houdinimcp_server:
    houdinimcp.stop_server()
    hou.ui.displayMessage("Houdini MCP Server stopped")
else:
    houdinimcp.start_server()
    hou.ui.displayMessage("Houdini MCP Server started on localhost:9876")

```

貼り付けたらAccept

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/a528165e-e8bc-4c27-bd53-5867c697cdb5.png)

準備ができたらアイコンをクリックします。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/52163f0b-09c2-4f36-916e-94b312bb5be9.png)

まだモジュールが入っていないと言われる場合は、Houdiniがpython内のディレクトリを認識していないかもしれないのでHoudiniを再起動させます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/61378c9a-2764-4fbd-8511-33507e408372.png)

この場合、適切なパスに先ほどの４点のスクリプトを配置できていない可能性があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/2727b05e-720b-4e1e-9173-402ea00d14d6.png)

問題なく動作すれば以下のコンソールがでます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/e96de22d-8ad9-4f3d-8186-b824035a57dc.png)

もう一度MCPを押すとサーバーが停止します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/e0c5a8a5-05c7-4a14-9517-89463d432055.png)



### パッケージの統合
Houdini の起動時にプラグインを自動ロードする場合は、Houdini パッケージ フォルダ (例: C:/Users/YourUserName/Documents/houdini20.5/packages/) に houdinimcp.json という名前のパッケージ ファイルを作成します。

```json
{
  "path": "$HOME/houdini20.5/scripts/python/houdinimcp",
  "load_package_once": true,
  "version": "0.1",
  "env": [
    {
      "PYTHONPATH": "$PYTHONPATH;$HOME/houdini20.5/scripts/python"
    }
  ]
}

```


## Claudeの手順

MCPはオープンなプロトコルフォーマットのため、Claudeデスクトップ以外のMCPクライアントでも利用可能です。とはいえ、まずはClaudeデスクトップアプリを使用していきましょう。

### Claudeデスクトップアプリのインストール (Mac)

1. [Anthropicの公式サイト](https://claude.ai/download)にアクセス
2. macOS用インストーラー（.dmgファイル）をダウンロードしインストール
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/0fc1c1f2-d115-4dad-9b0d-8122079b1a9d.png)

### Claude デスクトップアプリの設定

1. Claudeを起動しAnthropicアカウント（私はGoogleアカウントで）でログイン
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/8b2e3e91-a07b-4507-86a8-a7e3f048d66f.png)

2. Claudeアプリを開き、以下の手順でMCP設定を行います：
   - 「Claude」 > 「設定」 
     -  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/87e98974-7dc5-4f1a-8126-379046e0d5eb.png)
     -  「開発者」タブで > 「構成を編集」の順に選択
     -  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/8675769c-20dd-4fe1-8596-fcaf736c51e4.png)
     -  すると、`claude_desktop_config.json`がFinderで開きます、使い易いエディタで開きます（今回はVSCode）
        -  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/5dfd748a-5a4f-415f-91a2-6a843c2efd65.png)
   - `claude_desktop_config.json`に以下の内容を追加します：


Win

```json
{
  "mcpServers": {
    "houdini": {
      "command": "uv",
      "args": [
        "run",
        "python",
        "C:/Users/<YourUserName>/Documents/houdini20.5/scripts/python/houdinimcp/houdini_mcp_server.py"
      ]
    }
  }
}
```

Mac

```json
{
    "mcpServers": {
        "houdini": {
            "command": "uv",
            "args": [
                "run",
                "python",
                "/Users/jyouryuusui/Library/Preferences/houdini/20.5/scripts/python/houdinimcp/houdini_mcp_server.py"
            ]
        }
    }
}
```

怒られました。ModuleNotFoundError で、mcp というモジュールが見つからないことが原因とのことです。
つまり、MCP のpythonSDKのパスが通っていません。

``` bash
2025-04-05T08:56:21.965Z [houdini] [info] Initializing server...
2025-04-05T08:56:21.984Z [houdini] [info] Server started and connected successfully
2025-04-05T08:56:21.990Z [houdini] [info] Message from client: {"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"claude-ai","version":"0.1.0"}},"jsonrpc":"2.0","id":0}
Python path: ['/Users/jyouryuusui/Library/Preferences/houdini/20.5/scripts/python/houdinimcp/.venv/Lib/site-packages', '/Users/jyouryuusui/Library/Preferences/houdini/20.5/scripts/python/houdinimcp', '/usr/local/Cellar/python@3.13/3.13.0_1/Frameworks/Python.framework/Versions/3.13/lib/python313.zip', '/usr/local/Cellar/python@3.13/3.13.0_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13', '/usr/local/Cellar/python@3.13/3.13.0_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/lib-dynload', '/usr/local/lib/python3.13/site-packages']
Traceback (most recent call last):
  File "/Users/jyouryuusui/Library/Preferences/houdini/20.5/scripts/python/houdinimcp/houdini_mcp_server.py", line 29, in <module>
    from mcp.server.fastmcp import FastMCP, Context
ModuleNotFoundError: No module named 'mcp'
2025-04-05T08:56:23.185Z [houdini] [info] Server transport closed
2025-04-05T08:56:23.185Z [houdini] [info] Client transport closed
2025-04-05T08:56:23.185Z [houdini] [info] Server transport closed unexpectedly, this is likely due to the process exiting early. If you are developing this MCP server you can add output to stderr (i.e. `console.error('...')` in JavaScript, `print('...', file=sys.stderr)` in python) and it will appear in this log.
2025-04-05T08:56:23.185Z [houdini] [error] Server disconnected. For troubleshooting guidance, please visit our [debugging documentation](https://modelcontextprotocol.io/docs/tools/debugging) {"context":"connection"}
2025-04-05T08:56:23.185Z [houdini] [info] Client transport closed

```

解決策としては.envとしてパスを通すか、mcpのSDKを全体のpythonにインストールするかの2択です。
.envを使う方法は、以下のようにして行います。

```bash
cd /Users/jyouryuusui/Library/Preferences/houdini/20.5/scripts/python/houdinimcp

# 仮想環境を作成
uv venv

# 仮想環境を起動
# Windowsの場合：.
.venv\Scripts\activate
# UnixまたはMacOSの場合：
source .venv/bin/activate

# 必要なパッケージをインストール
uv add mcp anthropic python-dotenv
```
その上で、

   - `claude_desktop_config.json`に以下の内容を以下のようにします。

Mac

```json
{
    "mcpServers": {
        "houdini": {
            "command": "uv",
            "args": [
                "run",
                "/Users/jyouryuusui/Library/Preferences/houdini/20.5/scripts/python/houdinimcp/.venv/bin/python",
                "/Users/jyouryuusui/Library/Preferences/houdini/20.5/scripts/python/houdinimcp/houdini_mcp_server.py"
            ]
        }
    }
}
```


もしくは、仮想環境を利用しない方法もあります　推奨はされないですが

```
uv pip install mcp anthropic python-dotenv
```

などで全体のpythonにインストールしてしまう方法もあります。


# HoudiniMCPを使おう

準備が全て完了していれば設定は以下のように

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/7d581bf9-33f8-4ff9-89c0-049f899aac17.png)

ホーム画面にもハンマーアイコンが表示されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/7f4085a0-4076-4f41-bb48-493204dcd064.png)

ハンマーアイコンを見ると機能が３つ存在することがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/1f393e73-1e67-4b0d-b26e-cf9cc53c9b03.png)


## HoudiniMCPの機能

それぞれの機能は、以下の通りです。

- **create_node** : 新しいノードを作成
- **execute_houdini_code** : Houdiniの環境で任意のPythonコードを実行 
- **get_scene_info** : Houdiniにシーン情報を問い合わせ。JSONを文字列として返却

少ないように見えますが、Pythonコードが実行できるということはHOMの全てを利用できるので、実質全部できる可能性があります。（じゃあ全部できるかというと別ですが）

### 機能テスト１（Sphere作成）

早速いきましょう！プロンプトはシンプルに

```
Houdini MCPを利用し、SOPレベルにSphereノードを作成してください
```

とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/01b6ac77-4cff-4b19-9ba4-82cf15f9ad5d.png)

ツールを許可します。「このチャットで許可する」ボタンを押してください

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/09801254-0ff4-405f-bf6c-bf4dbc4cf187.png)

2度ツールの許可を求められました。先ほど紹介した機能「create_node」と「execute_houdini_code」が利用されています。ここでどの機能を利用するかの判断はLLMのモデルの匙加減です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/8f281196-e630-48ac-a5f5-27e900393aa2.png)

結局のところ何をしているかというと、何がやりたいかをプロンプトから解釈し、MCPサーバーが解釈しやすい形式にして「これでお願い」と投げているだけです。

コード自体はHOMのシンプルなものです

```python
{
  `code`: `
# Create a Geometry node at OBJ level
geo_node = hou.node('/obj').createNode('geo', 'mySphereGeo')

# Create a Sphere node at SOP level inside the Geometry node
sphere_node = geo_node.createNode('sphere', 'mySphere')

# Return confirmation
print(\"Success: Created Sphere node at SOP level\")
print(\"Path: \" + sphere_node.path())
`
}
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/6c3cd539-d8fb-4f8e-b645-d321ca54be64.png)

### 試した結果

さて、球はできました。しかし、命令が単純すぎたのか、ちょっとした命令違反があります。”SOPレベルで”と指定したのにPythonコードは/objに作成しています。結果的にはSOPレベルにできているからいいだろ？ということでしょうか。

うーん、そもそもコンテキストは理解しているのでしょうか。
もしくはプロンプトが悪い？もう少し試してみましょう。


### 機能テスト２（SOP内でColorノード色付け）

まずはOBJレベルとSOPレベルの違いを理解しているか確認します。次の命令は以下のようにしました。

```
まずはObjectレベル(/obj)に空のGeometryノードを作成し、そのGeometry内に移動。そのGeometry内のSOPレベルでSphereを作成し、Sphereの色を赤色に変更してください。色の変更はColorノードでも良いですし、Wrangleノード内でCdパラメータを赤色にする方法どちらでも良いです
```

結果

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/47eefd86-689a-4d5b-ad84-456d0aa00334.png)

自分で作った方が早いわ！！という感じですが、検証は一つずつ行わなければ意味がありません。 MCPの実力をきちんと見極めていきましょう。

出力されたコードは以下のようなものでした。

```python
{
  `code`: `
# 1. Objectレベルに空のGeometryノードを作成
geo_node = hou.node('/obj').createNode('geo', 'redSphereGeo')

# 2. SOPレベルでSphereを作成
sphere_node = geo_node.createNode('sphere', 'sphere1')

# 3. Colorノードを作成してSphereの出力に接続
color_node = geo_node.createNode('color', 'redColor')
color_node.setInput(0, sphere_node)

# 4. Colorノードのパラメータを設定して赤色に変更
color_node.parm('colorr').set(1.0)
color_node.parm('colorg').set(0.0)
color_node.parm('colorb').set(0.0)

# 5. Colorノードをdisplayフラグとrenderフラグをオンに
color_node.setDisplayFlag(True)
color_node.setRenderFlag(True)

# レイアウトを整理
geo_node.layoutChildren()

print(\"Success: Created a red sphere\")
print(\"Path: \" + geo_node.path())
`
}
```

今回はきちんとコンテキストに沿って作成してくれました。いい感じです。

### 機能テスト３（途中のノードから再接続できるのか）

次は、途中のノードから再接続できるのかを試してみます。プロンプトは以下のようにしました。

```
現在のSphereに追加のノードを追加し、青色のSphereに変更させてください。
そして、位置をY方向に0.5移動させてください
```

結果。きちんと途中からノードを接続してくれます。えらい！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/67de704b-f790-417f-8ec8-f10f262f6b64.png)


### 機能テスト４（遡って情報を修正できるのか）

ここまでは、新規に下に下につなげてきましたが、たとえば上流のノード変更を指示した場合どうなるでしょう。プロンプトは以下のようにします。

```
現在のSphereのタイプをプリミティブからポリゴンに変更し、何らかのノイズを加えてでこぼこの球にしてください。
```

ここでエラーが途中で発生します。
その直後、「get_scene_info」の機能が発火します。エラーは観測しなければ修正できません。状況を確認するために、現時点のシーン情報を取得しようとしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/355274ee-f2bc-4950-af43-295dc46f0afa.png)


返ってきた値は以下のようなものです

```json
{}
[{"type": "text", "text": "{\n  \"name\": \"untitled.hip\",\n  \"filepath\": \"untitled.hip\",\n  \"node_count\": 30,\n  \"nodes\": [\n    {\n      \"name\": \"redSphereGeo\",\n      \"path\": \"/obj/redSphereGeo\",\n      \"type\": \"geo\",\n      \"category\": \"obj\"\n    }\n  ],\n  \"fps\": 24.0,\n  \"start_frame\": 1.0,\n  \"end_frame\": 240.0\n}", "uuid": "d0e5997f-33bf-49ef-8846-e83aa58f8bb2"}]
```

これで、状況確認ができたので上手くいくだろうと思いましたが、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/58fa4ba9-4646-4ada-bc29-76855ff67dbc.png)

エラー発生しすぎだろ！

とはいえ、何度かのリレーののちに動作完了しました。

一応考え方としては合っています。（本当はSphereのPrimitive TypeをPrimitiveからPolygonsに変更して欲しかった。。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/85180316-4e6c-4d14-ae00-2eb00fef7b87.png)


しかし、何だか散らかっています。右側に試行錯誤のゴミが残っています。
加えて、OBJノードにもいくつかゴミが出来ています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/12ddf36d-2775-4a37-94e7-1ce2637b7678.png)

試すのはいいけど、ちゃんと掃除しろ！！！！！
タスクを投げ出して、色々手を出すんじゃない！！！！！

生まれたばかりの技術なので、挙動も好奇心旺盛な子供のようです。

### 機能テスト５（落下のRBD）

一度シーンを綺麗にして、次はシミュレーションを試します。
BOXをいくつか作成し、RBDで落下させるというものです。

プロンプトは慎重に

``` 
新しいシーンにします。その前提でHoudini mcpに命令する場合、どのように命令すればいいのかプロンプトを考えてください。実際に行いたいことは「１０個ほどの複数のBOXを配置後、RBDのシミュレーションを行い、重力で落下。地面となるGroundに落ちて反発してバラバラになる」というシーンです　　まだHoudiniMCPには実行命令を出さないでください
``` 

と、一呼吸おいて

``` 
HoudiniMCPサーバーは立ち上がっています。HoudiniMCPに命令して実行してください

/objレベルに新しいGeometryノード「Boxes」を作成する
Boxesノード内にBox SOPとGrid SOP（10x10）を作成
Gridにはノイズをかけて位置をY方向にランダムにポイントを設定（全て0以上として空中に浮かせる）
Copy to Point SOPで複数（100個）のボックスをコピーして配置する
Houdini DOPネットワークを作成してRBDシミュレーションをセットアップする
新しいDOPネットワークノードを作成
RBD Objectsノードを作成してBoxesを接続
RBD Packed Objectノードを使用
Ground用のStaticオブジェクトを設定（ground plane）
重力を設定
コリジョンを設定　
``` 

結果

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/f5454c17-966e-453e-a562-d04e72f8c3ab.png)

DOPネットワークすら出来ていません。
しかしメッセージには誇らしげに

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/2f1db1f1-07a5-40de-b9d9-dcc6b13b39bb.png)


できてへんやんけーッ！！ 基本的なことが〜〜〜！！

### 機能テスト５（落下のRBD　再挑戦）

そもそもプロンプトの単位が大きすぎるのが悪いかもしれません。
少しずつ分けていきましょう。

```
新しいGeometryノード「Boxes」を作成する
```

```
Boxesノード内にBox SOPとGrid SOP（10x10）を作成
```

```
Gridにはノイズをかけて位置をY方向にランダムにポイントを設定（全て0以上として空中に浮かせる）
Copy to Point SOPで複数（100個）のボックスをコピーして配置する
```

```
コピー処理が出来ていません。Copy to Point SOPで複数（100個）のボックスをコピーして配置させてください
```

```
パスに誤りがあります　/obj/Boxes/geo/grid1　ではなく/obj/Boxes/grid1　であり　/obj/Boxes/box1　が正しいパスです
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/f729e649-53d5-4d7a-b86c-85c1c74ac740.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/413cd161-1e0b-49f2-9025-e47c4d56eb28.png)

```
これらのBOXをRBDのシミュレーションを行い、重力で落下させてください
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/b6cc4b8b-56f2-4e68-9bd2-cc2a664c926c.png)

```
RBD_simulationの中が空っぽです。Boxesの参照がされていません。加えて、重力ノードも存在しません
```
```
再実行後もRBD_simulationの中が空っぽです。再度get_scene_infoを実行して、状況を把握したのち、RBD_simulationの中に必要なノードを作成してください
```
```
まだ何もノードが作成されていません
```
```
test_gravityの上にBoxesのrbdobjectが存在していません
```
```
test_dopnet内のtest_gravityの上にBoxesのrbdobjectが存在していません
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/25b20e10-d728-4817-863a-3a56b93beb5d.png)



ここで断念

結果：失敗

# まとめ

まだ出たばかりで試したのは2日程度ですが、Houdini MCPなかなか面白いです。
もう少しコツを掴めば上手く利用できそうです。

とはいえパスの階層情報や対象となるノード情報をMCPクライアント側から把握するのは意外と難しいようで、Houdiniの膨大なノード情報を整理しきれていない印象を受けました。あくまでHoudiniのPythonとしてHOMを MCPサーバーを介して実行しているだけなので、MCPサーバーの機能改修は今後必要になるかと思います。

なんだ全然しょぼいやん！と思った人もいるかもしれませんが、僕は生成AIでGoogleの猫の画像が出た時の感覚を思い出しました。最初は「何これ？」とみんなバカにしていましたが、そこは年月と技術者の努力で進化していきました。MCPを利用したワークフローも進化の余地は高いように感じます。

現状は「お片付けが出来ない雰囲気駆動の刹那的Houdini Engine」と言う感想です。
過度な期待をしすぎるとガッカリするかもしれません。

また、MCPの機能が改修されたり、面白い使い方が見つかれば追記していきます。