> ## Documentation Index
> Fetch the complete documentation index at: https://comfyui-mcp.artokun.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# サイドバーパネル

> ComfyUI エージェントパネル — ComfyUI のサイドバーで動く自律型 AI エージェントが、あらゆる LLM でキャンバスを操作します: サブスクリプションの Claude・ChatGPT・Gemini（API キー不要）、Ollama によるローカルの無料モデル（アカウントすら不要）、あるいは OpenAI 互換エンドポイント経由のホスト型モデル。Comfy Registry に comfyui-agent-panel として公開されています。

<Note>
  **Comfy Registry で公開されました。** ComfyUI-Manager から **ComfyUI Agent Panel**
  (`comfyui-agent-panel`) をインストールするか、最新ビルドが欲しい場合は git から
  インストールしてください（下の [セットアップ](#セットアップ) を参照）。
</Note>

**[comfyui-mcp-panel](https://github.com/artokun/comfyui-mcp-panel)** は ComfyUI の
サイドバーに自律型エージェントを組み込みます。画像・ワークフロー・変更を頼めば、実際の
ComfyUI を相手に作業してその場で返答します。プロバイダーを選ぶと — **Claude**、
**ChatGPT**、**Gemini**、**Ollama（ローカル）** のいずれか — 対応するエージェントが
バックグラウンドで動きます: サブスクリプションなら **API キー不要**、ローカルモデルなら
**アカウントすら不要** です（Ollama バックエンドは OpenAI 互換のホスト型エンドポイントにも
接続できます）。対応表は [バックエンド](/docs/docs/backends) を、各モデルクラスが実際にどれだけ
動くのかは [LLM アリーナ](/docs/docs/arena) を参照してください。

```
you ⇄ panel (pick a provider) ⇄ loopback bridge ⇄ panel orchestrator ⇄ background agent: Claude · ChatGPT · Gemini · any LLM
```

サブスクリプション型のプロバイダーでは **API キーもトークン単位の課金も不要** で、
ローカルモデルなら完全に無料・オフラインで動きます。エージェントはディスク上のログイン
情報で認証します（Ollama の場合はローカルのデーモンと通信するだけです）。1 つの
オーケストレーターが 1 つのループバックブリッジポート（`ws://127.0.0.1:9180`）で
すべてのプロバイダーを受け持ち、各パネルタブはハンドシェイク時に自分のプロバイダーを
選びます。ブリッジはループバック専用で、パネルはグラフ操作コマンドの
**固定された許可リスト** だけを実行します（任意の JavaScript は実行しません）。

<Note>
  はじめての方へ: [バックエンド / プロバイダー](/docs/docs/backends) では、プロバイダーの
  選択 UI、プロバイダーに依存しない `AgentBackend` ポート、機能対応表（Claude と
  ChatGPT で同一の部分と、いくつかある相違点）を説明しています。
</Note>

## セットアップ

1. **パックをインストール** — ComfyUI-Manager で `comfyui-agent-panel` を検索するか、git から:

   ```bash theme={null}
   cd ComfyUI/custom_nodes
   git clone https://github.com/artokun/comfyui-mcp-panel
   ```

   <Warning>
     **Manager のバージョンのドロップダウンでは、`Nightly` ではなく `Latest` を選んでください。**
     名前に反して、Manager の **Nightly** は毎晩ビルドされるわけではありません: インストール時に
     リポジトリを **一度だけ** クローンし、以後そのブランチを追跡することはありません。その日
     たまたま `main` だったコミットに固定される一方、`Latest` はリリースごとに追随します — つまり
     Nightly は往々にして Latest より *古く*、放置するほど静かに遅れが広がります。更新なしと
     表示されるのは、Nightly の視点では本当に更新がないからです。

     実際にどこにいるのかを確認するには、**Node Pack Info → Version** の SHA を
     [リポジトリのコミット履歴](https://github.com/artokun/comfyui-mcp-panel/commits/main)
     と比べてください。抜け出すには、同じドロップダウンで `Latest (x.y.z)` を選ぶか — git のまま
     運用したいなら — `custom_nodes/comfyui-mcp-panel` で `git pull` を実行してください。
     きれいに fast-forward されます。
   </Warning>

2. バックグラウンドのエージェントがサブスクリプションを使えるように、**使いたいプロバイダーに
   一度サインイン** しておきます:

   ```bash theme={null}
   claude        # Claude — or: claude setup-token
   codex login   # ChatGPT (Codex)
   ```

3. 自分のマシンで **オーケストレーターを起動** し、そのまま実行し続けてください — 詳しくは
   [パネルオーケストレーターを起動する](/docs/docs/ja/installation#3-パネルオーケストレーターを起動する)
   を参照:

   ```bash theme={null}
   npx -y comfyui-mcp@latest connect
   ```

4. **ComfyUI を再起動** し、**エージェント** タブを開いて **プロバイダーを選び**（Claude /
   ChatGPT のチップ）、**接続** をクリックします。パネルがオーケストレーターのループバック
   ブリッジに繋がります。リクエストを入力すればエージェントが応答します。**切断** すると
   リンクは解除されますが、オーケストレーターは自分で止めるまで動き続けます。

`claude mcp add` も API キーも不要です。パネルは純粋なフロントエンドの拡張機能であり、
オーケストレーターを自分で起動することはできません。そのためオーケストレーターは常に
ユーザーが起動するプロセスであり — パネルはすでに動いているブリッジに自動接続するだけです。
前提条件は PATH に通った Node.js/`npx` と、上記のプロバイダーへのログインです。ブリッジ
ポートは `COMFYUI_MCP_BRIDGE_PORT` で変更できます。

<Note>
  **リモートの ComfyUI を操作する場合**（クラウド GPU のポッドや LAN 上の別のマシンなど）も
  上記のセットアップはそのまま当てはまりますが、オーケストレーターはリモート側ではなく
  **自分のマシンで** 実行してください: `npx -y comfyui-mcp@latest connect <remote-url>` を
  実行すれば、ポッドの HTTPS ページへ戻る安全なトンネルを含め、残りは自動で処理されます。
  あとはパネルで接続をクリックするだけです。手順の全体は
  [クラウドデプロイ](/docs/docs/cloud-deployment) を参照してください。
</Note>

<Note>
  **プロバイダーのオンボーディング。** 接続時にパネルは各プロバイダーの準備状況を確認します
  （PATH 上の CLI + ディスク上のログイン。macOS のキーチェーンにも対応しています）。
  オンボーディングカードは **どのプロバイダーにも** サインインしていないときだけ表示されます。
  保存された選択が使えない場合、パネルは **準備できているプロバイダーへ自動で切り替え**
  （保存した設定はそのまま保持されます）、準備できていないプロバイダーの行には、一度きりの
  `claude` / `codex login` の手順を始める **「セットアップ」** アクションが表示されます。
  詳しくは [バックエンド → 準備状況とオンボーディング](/docs/docs/backends#connect-time-readiness--onboarding)
  を参照してください。
</Note>

## できること

エージェント（Claude *または* ChatGPT）は comfyui-mcp のモデルスキル（IDEOGRAM、WAN、
LTX、Qwen など）を読み込むため、あなたが動かしているモデルをすでに把握しています —
Claude はネイティブに、ChatGPT は同じ知識を MCP ツールとして公開した形で利用します
（[知識のパリティ](/docs/docs/tools/skills-knowledge)）。画像・動画・音声を生成し、ComfyUI を
調べて管理し、あなたの環境について推論したうえで、パネルのチャットで返答できます。

さらに **ワークフローやインストーラーパック全体を一度に読み込む** ことができ
（`panel_load_workflow pack:<name>`）、**コストも意識** します: 同梱パックはローカル GPU /
無料で、その場で組んだグラフについてはエージェントがランタイムを確認し（`list_packs` の
`action:"check_runtime"`）、**有料の API クレジットを使う前に確認します**。
[スキル・パック・ランタイムコスト](/docs/docs/tools/skills-knowledge) を参照してください。

## ライブグラフの操作

自律型エージェントは `panel_*` コマンドの **固定された許可リスト** を通じて、実際の
ComfyUI を操作します — 任意の JavaScript は実行しません。グラフへの変更はすべて
LiteGraph の変更追跡を経由するため、いずれも **Ctrl+Z** で取り消せます。同じ `panel_*`
の面が両方のバックエンドに同一に公開されるので（Claude はインプロセス、ChatGPT/Codex は
ループバックの HTTP MCP 経由）、[パリティ](/docs/docs/backends) は自動的に保たれます。

### 読み取り

| ツール                            | 動作                                                                                              |
| ------------------------------ | ----------------------------------------------------------------------------------------------- |
| `panel_query_graph`            | 表示中のグラフを問い合わせる — フィルタ / 走査 / 集計、トークン量に上限あり                                                      |
| `panel_get_subgraph`           | サブグラフノードの内部グラフを読む                                                                               |
| `panel_view_selected`          | ユーザーが **選択中** のノードを読む — 1 回の呼び出しで「このノード」に答える                                                    |
| `panel_view_nodes_in_viewport` | **画面に映っている** 範囲だけを読む（ビューポートの矩形 + ズーム）— 大きなグラフで作業範囲を絞る                                           |
| `panel_get_errors`             | ノードが赤い **理由** — エラーになった各ノードを原因と結び付ける（モデル欠落 + ダウンロード URL、メディア欠落、バリデーション、ランタイムの `exception_type`） |
| `panel_list_workflows`         | 開いているワークフロータブと、どれがアクティブかを一覧                                                                     |
| `panel_list_nodes`             | インストール済みのカスタムノードパックを一覧                                                                          |
| `panel_list_mcp`               | 接続中の MCP サーバーを一覧                                                                                |
| `panel_get_content_mode`       | アダルトコンテンツ（NSFW）の同意状態を読む                                                                         |

### グラフの編集（取り消し可能）

| ツール                                  | 動作                                                                                                     |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `panel_add_node`                     | class\_type を指定してノードを追加                                                                                |
| `panel_remove_node`                  | ノードを削除                                                                                                 |
| `panel_connect` / `panel_disconnect` | スロットを名前またはインデックスで接続 / 切断（`panel_connect` で両方のスロットを省略すると型で自動マッチ。`auto_match:false` で従来のインデックス 0 の挙動に戻る） |
| `panel_set_widget`                   | ウィジェットの値を変更（steps、cfg、prompts など）                                                                      |
| `panel_edit_node`                    | 1 つ以上のノードをまとめて、移動・リサイズ・改題・色変更・形状変更・折りたたみ・ピン留め                                                          |
| `panel_auto_layout`                  | リンクのトポロジーに基づき、グラフ全体（または一部）を整ったフロー / グリッドのレイアウトに自動整列 — `dry_run` でプレビュー                                 |
| `panel_clear`                        | すべてのノードを削除 — 全消去も Ctrl+Z 一回で戻せる                                                                        |

### サブグラフ

| ツール                     | 動作                                        |
| ----------------------- | ----------------------------------------- |
| `panel_select_nodes`    | キャンバス上でノードを選択（複数選択）                       |
| `panel_create_subgraph` | 選択したノードをサブグラフにまとめる（「Convert to Subgraph」） |
| `panel_enter_subgraph`  | サブグラフに入り、内部のノードを読む / 編集する                 |
| `panel_exit_subgraph`   | 親 / ルートのグラフに戻る                            |

### 空間レイアウト

エージェントはノードのジオメトリを見られます — `panel_query_graph` の詳細行は各ノードの
`pos`/`size`、サブグラフの入出力 `rails`、`groups`、ノードごとの `color`/`collapsed` を
返します — そして対応する書き込み操作でキャンバスを配置し、その結果を **スクリーンショット**
に撮って自分のレイアウトを自ら判断します。`workflow-layout` スキルはこれらを、依存関係で
階層化された重なりのない自動レイアウトへとまとめており、その中心にある原則は
*入力と出力を常に露出させておく* ことで、そのまますぐ作業を続けられるようにすることです。

| ツール                                                                                   | 動作                                                   |
| ------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `panel_move_rail`                                                                     | サブグラフの入力 / 出力レールを動かし、境界をまたぐ配線を短く保つ                   |
| `panel_create_group` / `panel_move_group` / `panel_edit_group` / `panel_remove_group` | ラベル付きのグループボックスを作成・移動・改題／色変更・削除（`node_ids` を渡すと自動で囲む） |
| `panel_screenshot`                                                                    | キャンバスを PNG にレンダリングして画像として返し、エージェントがレイアウトを確認できるようにする  |

### ワークフロータブ

| ツール                     | 動作                               |
| ----------------------- | -------------------------------- |
| `panel_new_workflow`    | 新しいタブに空のワークフローを開く（現在のタブは決して消さない） |
| `panel_open_workflow`   | パス / ファイル名でワークフローを切り替える          |
| `panel_rename_workflow` | ワークフローの名前を変更                     |
| `panel_close_workflow`  | タブを閉じる（未保存の変更があれば、強制しない限り拒否）     |
| `panel_save_workflow`   | プログラムから保存 / 名前を付けて保存 — ダイアログは出ない |

### ワークフローを一度に読み込む

| ツール                   | 動作                                                                                                                                                                  |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `panel_load_workflow` | 1 回の呼び出しでライブグラフをワークフロー全体に置き換える — JSON をチャット越しにやり取りせずに同梱インストーラーパックのローカル GPU 向けワークフローを読み込むなら、`pack:<name>` を使うのがおすすめです。置き換えられたグラフは取り消しポイントになります（Esc 2 回 / `/revert`）。 |

### 知識とコストの把握

エージェントは同梱された専門知識を見つけ出し、クレジットを使う前にランタイムのコストを
確認します（両方のバックエンドで同じツールを使います — 詳しくは
[スキル・パック・ランタイムコスト](/docs/docs/tools/skills-knowledge) を参照）:

| ツール                                                          | 動作                                                                                 |
| ------------------------------------------------------------ | ---------------------------------------------------------------------------------- |
| `list_packs` (`action:"skill_list"` / `action:"skill_read"`) | 同梱のモデルファミリー + ワークフローのスキルを見つけて読む                                                    |
| `list_packs` (`action:"list"` / `action:"read_workflow"`)    | ワンコマンドのインストーラーパック（ローカル GPU / 無料）を一覧し、パックのグラフを読む                                    |
| `list_packs` (`action:"list_templates"`)                     | 接続中のサーバーの公式 ComfyUI ワークフローテンプレートを一覧                                                |
| `list_packs` (`action:"check_runtime"`)                      | グラフを **local**（無料）または **api/mixed/unknown**（有料）に分類 — エージェントは有料の API クレジットを使う前に確認する |

### 実行と表示

| ツール            | 動作                                       |
| -------------- | ---------------------------------------- |
| `panel_run`    | 開いているワークフローをキューに追加（Queue Prompt を押すのと同じ） |
| `panel_canvas` | 全体表示、ノードを中心に表示、パン、ズーム                    |

### カスタムノード（内蔵の ComfyUI Manager）

| ツール                       | 動作                                                       |
| ------------------------- | -------------------------------------------------------- |
| `panel_search_nodes`      | ユーザー自身の Manager 経由で、インストール可能なノードパックを検索                   |
| `panel_install_node`      | パックのインストールをキューに追加（レジストリ ID または git URL）                  |
| `panel_node_queue_status` | Manager のインストール / 更新キューを確認                               |
| `panel_restart_comfyui`   | 新しいノードを読み込むために ComfyUI を再起動 — パネルは自動で再接続し、エージェントは作業を再開する |

### MCP とセッション

| ツール                                  | 動作                                                     |
| ------------------------------------ | ------------------------------------------------------ |
| `panel_add_mcp` / `panel_remove_mcp` | ユーザーのエージェント MCP 設定（Claude または Codex）で MCP サーバーを接続 / 削除 |
| `panel_request_secret`               | API トークンを安全に受け取る — エージェントがその値を見ることはない                  |
| `panel_reload`                       | オーケストレーター（新しいコード / ツール）またはパネル UI をソフトリロードしてから再開        |

### ユーザーとのやり取り

| ツール                                                        | 動作                                    |
| ---------------------------------------------------------- | ------------------------------------- |
| `panel_ask`                                                | 選択肢から選ぶようユーザーに尋ねる（質問カードを表示し、選ばれるまで待機） |
| `panel_set_todo`                                           | パネル下部のトレイにライブの TODO チェックリストを表示        |
| `panel_request_adult_consent` / `panel_disable_adult_mode` | 18+ の NSFW 同意ゲートを切り替える                |

<Note>
  すべてのツールは任意で `tab_id` を受け取ります — 各ブラウザータブがそれぞれの接続を
  持っており、ルーティングは既定で唯一のタブ、またはユーザーが最後に入力したタブに
  向きます。
</Note>

## 巻き戻しとロールバック

過去のメッセージは固定されていません。任意のメッセージにカーソルを合わせると出る
**✎ 編集** ボタンでロールバックのモーダルが開きます: **コード** を戻す（グラフをその
ターンのスナップショットへ復元）、**会話** を戻す（セッションをその時点までフォーク）、
または **その両方** を行い、そこから編集したメッセージを再送信できます。グラフの復元は
ターンごとのスナップショットを使うため、あるターンを取り消すと、そのターンが始まった
時点のグラフが正確に戻ります。

よくあるケースは 2 つのショートカットでカバーできます:

* **`/revert`** — 直前のターンでのグラフ編集を取り消します。
* **Esc 2 回** — 直前のターンを手早く巻き戻します: グラフを戻し、メッセージをコンポーザーに
  呼び戻して編集・再送信できます。

<Note>
  **コード**（グラフ）のロールバックは **両方のプロバイダー** で動作します — ターンごとの
  スナップショットとしてオーケストレーターの中にあるためです。**会話** のロールバック
  （過去のターンへチャットをフォークすること）は現在 **Claude 専用** です。ChatGPT/Codex
  バックエンドはスレッド全体の再開しかできないため、パネルはこの範囲を無効にしています。
  [機能対応表](/docs/docs/backends#capability-matrix) を参照してください。
</Note>

## 保留メッセージのトレイ

エージェントが処理中でも入力でき、そのメッセージがチャットに埋もれることもありません —
ダウンロードトレイの上に固定された **保留** トレイで、チャットの流れとは別に待機します。
保留中のメッセージにはそれぞれ **編集**、**今すぐ送信**、**削除** のボタンと、エージェントが
どの順で処理するかを **並べ替える** ためのドラッグハンドル（≡、左側）が付いています。
**今すぐ送信** は現在のターンを中断して、その場で方向を修正します。保留メッセージが
キューから取り出されると、チャットの **一番下** に現れるため、記録はエージェント（Claude
または ChatGPT）が実際に処理した順序そのままで読めます。

## 破壊的な操作の確認

取り消せない操作は先に確認します。`panel_clear`（すべてのノードを削除）と
`panel_restart_comfyui` は「はい / いいえ」のカードを出し、**はい** のときだけ実行されます —
エージェントが黙ってグラフを消したり、ComfyUI を再起動したりすることはありません。

## 再接続の堅牢性

固まったオーケストレーターがパネルを取り残すことはなくなりました。以前の
オーケストレーターがまだブリッジポートを掴んでいても、**接続** をクリックすれば失敗する
代わりにそのゾンビを回収します — 行き詰まる代わりに、パネルは再接続します。

## コンポーザーの添付ファイル

コンポーザーには、添付・ドラッグ＆ドロップ・貼り付けができます。画像に加えて、
コンポーザーは **動画**、**ワークフローの `.json`**、**テキスト** ファイルも受け付ける
ようになったので、参考用のクリップ、手を加えたいワークフロー、メモのファイルをそのまま
エージェントに渡せます。

## エージェントの返信に含まれるリッチメディア

実行結果のメディアがエージェントに渡されるとき、その出力は単なる画像ブロックでは
ありません — エージェントが推論できる **メタデータ** を伴います: 各出力のパス
（サブフォルダー基準）、ファイルサイズ、ピクセル寸法、そして **アセットセットのまとまり**
（同じ実行の「N 個中 K 番目の出力」と兄弟ファイル名、または「単一出力」）、さらに
レンダリング所要時間と完了時刻です。動画のストーリーボードは、ペイロードに含まれていれば
フォーマットと実際のフレーム数 / fps も加えます。そのためエージェントは実際に保存された
成果物を正確に呼び分け、サイズ・寸法・その実行が生成したファイル数について話せます。

## コードブロックのコピーと折り返し

レンダリングされたコードブロックには、ホバーで現れる **コピー** ボタンと、保存される
全体設定の **行の折り返し** トグルが付きます（既定はオフ — オンにするまで、長い行は
横スクロールします）。インラインコードにも専用のコピーが付きます。どちらもパネルに
合わせたスタイルです。

## レンダー停滞の警告

オーケストレーターは ComfyUI のキューを受動的に監視するウォッチドッグを走らせます:
ノード / 進捗が進まなくなったレンダーは **停滞** としてフラグが立ち、エージェントに
伝えられます（そのため、固まったジョブの後ろへやみくもにジョブを積み上げません）。
しきい値は **設定 → Comfy MCP Agent → 一般** にある **レンダー停滞の警告（秒）** の
設定です（既定 180 秒、範囲 15–3600）。この値は接続時に送られ、**ライブで** 反映されます —
変更しても再接続は不要です。
[設定 → `COMFYUI_MCP_STALL_S`](/docs/docs/configuration#panel-orchestrator--the-bridge)
を参照してください。

## バックグラウンドタブでの安定性

ComfyUI のタブが **バックグラウンド** にあっても、ストリーミングされた返信が描画される
ようになりました。以前は返信のタイプライター表示が `requestAnimationFrame` で動いており、
ブラウザーは隠れたタブではこれを停止します — そのため長い多段階の実行の途中で別のタブへ
切り替えると、吹き出しが空のままストリーミングのカーソルが止まり、ターンはすでに
終わっているのにエージェントが「考えたまま固まっている」ように見えていました。現在は
タブが隠れると返信が同期的に確定し、`visibilitychange` ハンドラーが非表示時に保留中の
返信をフラッシュして、戻ってきたらタイプライターを再開します。フォアグラウンドの
アニメーションは変わりません。

## RunPod のクラウド制御

ツールバーの **ホストピル** には **🟢 ローカル · 自分のマシン** または
\*\*🔵 RunPod · `<pod>` · GPU · $/hr** が表示され、クリックすると **RunPod のコントロール
パネル** が開きます: ライブのステータスカード（GPU / VRAM / 稼働時間 / $·hr / ComfyUI の
URL / アイドル自動停止までのカウントダウン）、ポッドを **名前で** 一覧するドロップダウン、
接続 / 開始 / 停止 / **ローカルを使用**、そして確認を挟む **デプロイ** です。API キーの
カードで `RUNPOD_API_KEY` を一度設定しておけば、RunPod のコンソールに触れることなく、
デプロイ・監視・ローカル⇄ポッドの切り替え・クラウド GPU の停止ができます —
ホストピルは常に、次のレンダリングがどこで走るのかを教えてくれます。
[クラウドデプロイ](/docs/docs/cloud-deployment) とブログ記事
[レンタルしたクラウド GPU で ComfyUI を動かす](/docs/docs/blog/runpod-comfyui) を参照してください。

## CivitAI ブラウザー

ツールバーの **Civitai** ボタンを押すと、フル機能の CivitAI ブラウザーが開きます —
画像、動画、チェックポイント、LoRA、ワークフローを検索・フィルタし、全画面のビューアーで
見られます。結果を選んで **エージェントと共有** する、**自分のマシンにダウンロード** する、
**埋め込まれたワークフローをキャンバスに保存** する、といったことができます。詳しくは:
[ComfyUI の中の CivitAI](/docs/docs/blog/civitai-in-comfyui)。

## 関連情報

* [モバイルアプリ（ベータ）](/docs/docs/mobile) — スマートフォンをパネルとペアリングして、外出先でもエージェントと会話
* [バックエンド / プロバイダー](/docs/docs/backends) — Claude と ChatGPT、選択 UI、機能のパリティ
* [スキル・パック・ランタイムコスト](/docs/docs/tools/skills-knowledge) — 知識のパリティ + コストのガードレール
* [ブリッジの設定](/docs/docs/configuration)
* [クラウドデプロイ](/docs/docs/cloud-deployment) — リモートの ComfyUI ポッド（RunPod など）に対してパネルを使う
* [セルフホストのリレー](/docs/docs/self-hosted-relay) — ブリッジ用のトンネル基盤を自前で運用する
* [Claude Code プラグイン](/docs/docs/plugin) — モデルスキル、スラッシュコマンド、エージェント
* [GitHub の comfyui-mcp](https://github.com/artokun/comfyui-mcp) · [GitHub の comfyui-mcp-panel](https://github.com/artokun/comfyui-mcp-panel)
