Comfyui Mcp について
Comfyui Mcp は、ComfyUI 向けの MCP サーバー兼 Claude Code プラグインです。エージェントによるワークフローの作成・実行、メディア生成、モデルやカスタムノードの管理に対応し、ローカルとリモートの環境で利用できます。
主な機能
- 01ComfyUI ワークフローの作成・編集・実行
- 02画像・動画・音声の生成
- 03モデルとカスタムノードの管理
- 04キュー、ログ、失敗の調査
- 05ワークフローの可視化と差分比較
- 06VRAM 制御とジョブ進捗の確認
活用シーン
- 01自然言語で画像を生成し反復調整
- 02失敗した ComfyUI ワークフローの診断
- 03ローカルまたはリモート環境でモデルとノードを管理
- 04ワークフローの版を比較してジョブ進捗を確認
MCP 対応
ComfyUI のワークフロー作成・実行やモデル、ノード管理の機能を MCP クライアントに公開します。stdio または HTTP トランスポートで、ローカルやリモートの ComfyUI に接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
41掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| action | enum | はい | 実行する comfy-cli 操作。分類:status;server_*(ライフサイクル);jobs_*(一覧表示/状態確認/待機/監視/キャンセル);search_nodes;workflow_*(検証/実行);transfer_*(アップロード/ダウンロード);models_*(フォルダー一覧/フォルダー内一覧/検索/表示/ダウンロード/削除);skills_*(一覧表示/表示/検証/インストール/状態確認/アンインストール)。status | server_start | server_stop | server_restart | jobs_list | jobs_status | jobs_wait | jobs_watch | jobs_cancel | search_nodes | workflow_validate | workflow_run | transfer_upload | transfer_download | models_list_folders | models_list_folder | models_search | models_show | models_download | models_remove | skills_list | skills_show | skills_validate | skills_install | skills_status | skills_uninstall |
| detail | enum | いいえ | action:"status" — 実行する確認の種類。version | which | env | discover |
| workspace | string | いいえ | 任意の ComfyUI ワークスペース上書き設定(comfy-cli がカスタムノード/モデル用に使用するデータ/ベースルート)。指定しない場合は、現在の --base-directory / COMFYUI_PATH を使用します。CLI 実行ファイルは COMFYUI_CODE_PATH のチェックアウトにある .venv から取得される場合があります。 |
| launchArgs | array | いいえ | actions "server_start"/"server_restart" 用の追加 ComfyUI 起動引数。例:['--listen','0.0.0.0','--port','8188']。 |
| promptId | string | いいえ | 単一のプロンプト ID。"jobs_status"/"jobs_watch"/"jobs_cancel" および "transfer_download" では必須です。"jobs_wait" でも指定でき、その場合は 1 要素の promptIds リストに正規化されます。 |
| promptIds | array | いいえ | action:"jobs_wait" — 待機するプロンプト ID。これか promptId、または all=true を使用します。 |
| all | boolean | いいえ | action:"jobs_wait" — 既知のすべてのジョブを待機します。 |
| limit | integer | いいえ | "jobs_list"、"search_nodes" および "models_*" の一覧表示/検索アクションにおける結果の上限。 |
| timeoutSeconds | integer | いいえ | アクション "jobs_wait"/"jobs_watch"/"workflow_run" — 待機する最大秒数。 |
| where | enum | いいえ | jobs/search_nodes/workflow/transfer/models アクションの対象:"local"(デフォルト)または "cloud"(Comfy Cloud)。local | cloud |
| query | string | いいえ | action:"search_nodes" — あいまい検索テキスト。必須。 |
| objectInfoPath | string | いいえ | action:"search_nodes" — ライブの対象の代わりに検索する、オフラインの object_info JSON ファイル。 |
| workflowPath | string | いいえ | アクション "workflow_validate"/"workflow_run" — API/UI ワークフロー JSON ファイルのパス。必須。 |
| wait | boolean | いいえ | action:"workflow_run" — 送信後すぐに返すのではなく、出力を待機します。 |
| files | array | いいえ | action:"transfer_upload" — アップロードする入力ファイル。必須。 |
| outDir | string | いいえ | action:"transfer_download" — 出力ディレクトリ。 |
| overwrite | boolean | いいえ | action:"transfer_upload" — --no-overwrite を渡すには false に設定します。 |
| urlOnly | boolean | いいえ | action:"transfer_download" — ファイルをダウンロードせず、URL を出力します。 |
| folder | string | いいえ | action:"models_list_folder" — 一覧表示するモデルフォルダー(必須)。action:"models_show" — 同名ファイルから選択するための任意のフォルダー。 |
| text | string | いいえ | action:"models_search" — 検索テキスト。 |
| type | string | いいえ | action:"models_search" — モデルタイプのフィルター(checkpoint、lora、vae、…)。action:"models_show" — 同名ファイルから選択するための同じフィルター。 |
| name | string | いいえ | アクション "models_show"/"skills_show" — モデルまたはスキル名。models_show では、相対パス(例:vae/qwen_image_vae.safetensors)を指定すると同名ファイルから選択できます。 |
| url | string | いいえ | action:"models_download" — ダウンロードするモデルの URL。必須。 |
| relativePath | string | いいえ | アクション "models_download"/"models_remove" — ワークスペース相対のモデルディレクトリ(デフォルトは models/checkpoints)。 |
| modelNames | array | いいえ | action:"models_remove" — 削除するモデルファイル名。必須。 |
| path | string | いいえ | action:"skills_validate" — 検証するスキルのパス。必須。 |
| scope | enum | いいえ | actions "skills_install"/"skills_uninstall"/"skills_status" — インストール範囲。user | project |
| projectDir | string | いいえ | プロジェクトスコープのスキル操作に使用する作業ディレクトリ。scope='project' の場合は必須です。 |
| targets | array | いいえ | actions "skills_install"/"skills_uninstall" — エージェントの対象。 |
| skills | array | いいえ | actions "skills_install"/"skills_uninstall" — スキル名。 |
| apply | boolean | いいえ | actions "skills_install"/"skills_uninstall" — 実際に変更を適用します。デフォルトは false = ドライラン。 |
詳細
comfyui-mcp — ANY LLM で ComfyUI を操作
ComfyUI を最初から最後まで操作するエージェントパネル。ローカルにインストール済みのものを読み取り、
グラフを接続し、VRAM を解放して、レンダリングを実行します。
76 秒のデモを視聴 →
ComfyUI 向けの、ローカルファーストでエージェントネイティブなコントロールプレーンです。 MCP サーバーとライブサイドバーエージェントを組み合わせ、画像・動画・音声の生成、ワークフローの作成と実行、モデルとカスタムノードの管理を行い、自然言語で ComfyUI のライブグラフを編集できます。手持ちのモデルをそのまま使えます。サブスクリプションの Claude または ChatGPT、Google アカウントの Gemini、Ollama 経由の無料ローカルモデル(完全オフライン)、または単一の API キーで利用できるホスト型モデル(DeepSeek、GLM、MiMo、Kimi、GPT、OpenRouter 経由の Claude)に対応しています。どのプランでもツールとパネルは同じです。組み込みのLLM Arenaは、実際の ComfyUI タスクで各モデルを評価するため、利用中のモデルの能力を把握できます。ひとつの設定で、ローカルインストール、LAN、VPS、Comfy Cloud のいずれにも接続できます。
GPU ポッドをワンクリックで起動。 このプロジェクト、Agent Panel、ComfyUI-Manager v2 をプリインストールした、すぐに実行できる ComfyUI を自分の GPU 上で利用できます。セットアップは不要です。
macOS、Linux、Windows で動作します。ComfyUI のインストール先とポートを自動検出します。
お困りの方、ご質問がある方は、サポート、モデルのヒント、リリースのお知らせを受け取れるDiscord にご参加ください。
38 個の MCP ツール | 42 個の AI スキル(Flux・WAN・LTX 2.3 動画・MiniMax H3・Qwen・Z-Image・Ideogram 4・ERNIE・ANIMA・モデルレジストリ・Civitai・ノード作成・起動/パフォーマンスフラグ) | 56 個のインストーラーパック | 11 個のスラッシュコマンド | 4 個の自律エージェント | 3 個のフック
このプラグインには、リリースのたびに拡充されるスキルが含まれています。モデルごとの生成ガイド(厳選したダウンロード URL 付き)、ワークフローレシピ、トラブルシューティング、カスタムノードの作成方法を提供します。これらを使えば、Claude は試行錯誤することなく、アーキテクチャごとに適切なサンプラー、CFG、解像度、モデルファイルを把握できます。
ComfyUI-Manager と Comfy Registry で ComfyUI Agent Panel が利用可能になりました
ComfyUI のサイドバーで動作する自律型 AI エージェントです。Claude、ChatGPT、Gemini、またはあらゆるローカル/ホスト型 LLM で実行できます(Ollama およびすべての OpenAI 互換エンドポイントに対応)。サブスクリプションなら API キーなしで利用でき、ローカルモデルならアカウントも不要です。プロバイダーを選ぶと、ライブグラフを操作します。編集、空間レイアウト、ワークフロー/パックのワンショット読み込み、巻き戻し/ロールバック、保留中メッセージのトレイ、アクティビティカード、マルチタブに対応しています。有料 API クレジットを消費する前に確認を求めます。 ComfyUI-Manager で
comfyui-agent-panelを検索してインストールしてください。詳細はこちら →
ドキュメント全文:comfyui-mcp.artokun.io/docs
クイックスタート
1. ComfyUI をインストールします(まだの場合):ComfyUI Desktop またはソースから
2. MCP サーバーを Claude Code の設定ファイル(~/.claude/settings.json)に追加します:
{
"mcpServers": {
"comfyui": {
"command": "npx",
"args": ["-y", "comfyui-mcp"],
"env": {
"CIVITAI_API_TOKEN": ""
}
}
}
}
3. 使い始めましょう。 ComfyUI を起動した状態で、Claude に画像の生成を依頼します:
> Generate an image of a sunset over mountains
Claude はチェックポイントを探す(またはダウンロードする)と、ワークフローを構築して実行し、画像を返します。
注記:これはスタンドアロンの MCP サーバーとして実行されるため、このリポジトリをクローンする必要はありません。
npxがダウンロードして実行します。
スコープ:ローカル、リモート、または Comfy Cloud
comfyui-mcp はローカルファーストです。Mac/Linux/Windows 上のセルフホスト型 ComfyUI を主な対象としており、同じエージェントが単一の設定からリモート環境(RunPod、VPS、LAN、リバースプロキシ経由)にも接続します。ローカルファーストであり、ローカル専用ではありません。
単なるブリッジではありません。 多くの ComfyUI MCP サーバーは単純なコネクターです。プロンプトを転送して画像を返すだけです。comfyui-mcp は本格的な制御プレーンです。グラフをノードごとに作成・編集し、ワークフローを実行して反復し、モデルやカスタムノードを管理します。また、モデルごとの知識(サンプラー、CFG、解像度、厳選されたモデル URL)も備えているため、試行錯誤せずにエージェントが適切な結果を得られます。最小限のローカルリレーをお求めなら、軽量なサーバーで十分です。ComfyUI を操作するエージェントをお求めなら、このプロジェクトが適しています。
Comfy Cloud ユーザー向けには、Comfy-Org が独自のエージェントツールを提供しています。Comfy Cloud MCP(Comfy Cloud の GPU 上でホストされるパブリックベータ版)、Comfy In-App Agent(Comfy Cloud 内で動作するプライベートアルファ版)、そして Comfy Local MCP(ファーストパーティー版、非公開テスト中で一般公開前)で、いずれも Comfy チームが保守しています。GPU をお持ちでない場合や、セットアップを一切したくない場合は、そちらがより適した選択肢です。ぜひご利用ください。
このプロジェクトの特徴は、ご自身の環境とお好みのモデルで実行できることです。アカウントもネットワーク接続も不要な、Ollama 経由の無料ローカルモデルも利用できます。comfyui-mcp にはコミュニティ向けクラウドモードも含まれているため(COMFYUI_API_KEY を設定してください。詳しくはデプロイモードを参照)、単一の MCP からひとつの設定で 3 種類すべてのデプロイ形態を利用できます。
ローカルと Comfy Cloud のエージェントの比較では、Comfy Cloud が適している場合も含めて、両者を並べて比較しています。(上記のステータスは 2026 年 7 月時点のものです。Comfy-Org の更新は速いため、最新状況は同社のドキュメントをご確認ください。)
リモート/ホスト型コネクター(1 つのコマンド)
Claude Desktop のカスタムコネクターや、Comfy 独自の
cloud.comfy.org/mcp コネクターのようなリモートクライアントから
comfyui-mcp を使用するには、次のフラグを指定して、認証付きで
パブリックにアクセス可能な Streamable-HTTP サーバーとして実行します。
npx -y comfyui-mcp@latest --tunnel
これにより、HTTP トランスポートが強制され、認証トークンが生成され、
cloudflared のクイックトンネルが開かれ、
そのまま貼り付けて使える https://…/mcp URL、トークン、Claude Desktop 用コネクターのスニペットが
出力されます。認証では、Authorization: Bearer <token> または
X-API-Key: <token>(Comfy Cloud の方式と同じ)を使用できます。詳しい手順とヘッドレスでの使用方法については、
リモート/ホスト型コネクターガイドを
参照してください。
認証はオプトインです。
COMFYUI_MCP_HTTP_TOKENが設定されておらず、--tunnelも指定されていない場合、 デフォルトの stdio(およびループバックでの通常の--http)の動作は変わりません。開いたままの ローカル接続です。OAuth(Comfy のブラウザーサインインフロー)は今後対応予定です。
Claude Code プラグイン
このパッケージは、MCP ツールにスラッシュコマンド、スキル、エージェント、フックを追加する Claude Code プラグインとしても提供されます。
プラグインとしてインストールする
# In Claude Code
/plugin marketplace add artokun/comfyui-mcp
/plugin install comfy
スラッシュコマンド
| コマンド | 説明 |
|---|---|
/comfy:gen <prompt> | テキストの説明から画像を生成します。チェックポイントを自動選択し、ワークフローを構築して、画像を返します |
/comfy:viz <workflow> | カテゴリーごとにノードをグループ化し、ワークフローを Mermaid ダイアグラムで可視化します |
/comfy:node-skill <pack> | Registry ID または GitHub URL から、カスタムノードパック用の Claude スキルを生成します |
/comfy:debug [prompt_id] | ワークフローが失敗した原因を診断します。履歴とログを読み、根本原因を追跡し、修正方法を提案します |
/comfy:batch <prompt, params> | cfg、sampler、steps、seed などを変えてパラメーターを振り、生成します |
/comfy:convert <file> | UI 形式と API 形式のワークフローを相互に変換します |
/comfy:install <pack> | カスタムノードパックをインストールします。git clone、pip install、必要に応じて再起動を行います |
/comfy:gallery [filter] | 生成物をメタデータとともに閲覧します。日付、件数、ファイル名で絞り込めます |
/comfy:compare <a vs b> | 2 つのワークフローを並べて比較し、追加/削除されたノードや変更されたパラメーターを表示します |
/comfy:recipe <name> <prompt> | 複数ステップのレシピです。portrait、hires-fix、style-transfer、product-shot を利用できます |
組み込みスキル
スキルは合計 42 個あります。モデルファミリーガイド(Flux、WAN、LTX 2.3、MiniMax H3、Qwen、Z-Image、Ideogram 4、ERNIE、ANIMA に加え、anime/WAN/Z-Image の LoRA トレーニング)、model-registry(厳選されたダウンロード URL)、civitai ペアリングスキル、ノード作成、launch/performance-flags マトリクス、および以下の基本 4 スキルです。全リストはプラグインのドキュメントページをご覧ください。
インストーラーパック。
packs/には、1 コマンドでセットアップできる ComfyUI 構成が 13 個まとめられています。ANIMA、Ideogram 4、LTX-2.3、ERNIE、WAN(animate/longer-videos/transparent)、Qwen(image/image-edit)、Z-Image(turbo/base/xy-plot)、artokun-flow(WAN Animate: replace/animate)です。それぞれ、カスタムノード、モデル URL、ワークフローを記述したマニフェストであり、apply_manifestと生成されるinstall-windows.bat/install-runpod.shの両方を動作させます。また、すべてのモデルリンクとペイロードサイズを検証する CI も備えています。packs/README.mdを参照してください。
| スキル | 説明 |
|---|---|
| comfyui-core | ワークフロー形式、ノードの種類、データフローパターン、パイプラインアーキテクチャ、MCP ツールの使用ガイド |
| prompt-engineering | CLIP の重み構文 (word:1.3)、BREAK トークン、埋め込み、SD1.5/SDXL/Flux/SD3 向けのモデル別プロンプト作成 |
| troubleshooting | よくあるエラーの一覧。OOM、dtype の不一致、ノード不足、NaN テンソル、黒い画像、CUDA エラー、およびモデルごとの VRAM 推定値 |
| model-compatibility | モデルファミリー(SD1.5/SDXL/Turbo/Lightning/Flux/SD3/LTXV)ごとのローダー、解像度、CFG、サンプラー、ControlNet、LoRA、VAE の互換性マトリクス |
エージェント
| エージェント | モデル | 説明 |
|---|---|---|
| comfy-explorer | Sonnet | カスタムノードパックを調査します。ドキュメントを読み、/object_info に問い合わせ、スキルファイルを生成します |
| comfy-debugger | Sonnet | ワークフローの失敗を自律的に診断します。ログと履歴を収集し、失敗したノードを特定し、モデルとカスタムノードを確認して、修正を提案し、必要に応じて適用します |
| comfy-optimizer | Sonnet | ワークフローのパフォーマンスを分析します。冗長なノード、VRAM の無駄、モデルファミリーに合わない CFG/ステップ数、精度の問題を検出し、最適化を提案します |
| comfy-researcher | Sonnet | 指定された画像生成の問題に対応する ComfyUI カスタムノードパックを見つけ、順位付けします |
フック
| イベント | トリガー | アクション |
|---|---|---|
| PreToolUse | enqueue_workflow | VRAM ウォッチドッグ — /system_stats 経由で GPU メモリを確認し、実行前に空き容量が 1GB 未満の場合は警告します |
| PreToolUse | restart_comfyui(アクション stop/restart) | 保存警告 — ComfyUI を停止する前に、未保存のワークフローの変更を保存するようユーザーに促します |
| PostToolUse | すべての comfyui ツール | ジョブ完了通知 — 完了したジョブを確認し、完了サマリーを会話に挿入します |
バックグラウンドスクリプト
| スクリプト | 説明 |
|---|---|
monitor-progress.mjs | 進捗モニター — ComfyUI の WebSocket に接続し、リアルタイムでステップの進捗を表示します(例:step 5/14 (36%))。ワークフローをキューに追加した後、バックグラウンドの Bash タスクとして実行します。出力ファイル名を含む完了状況と、ノードの詳細を含むエラーを報告します。queue(action:"status")をループでポーリングする方法に代わるものです。 |
パネルエージェント(Claude・ChatGPT・Gemini・あらゆるローカル/ホスト型 LLM)
ヘッドレス MCP サーバーに加えて、このパッケージにはパネルオーケストレーターが含まれています。ComfyUI のサイドバーに組み込まれた自律型エージェントで、ライブキャンバスを操作するComfyUI Agent Panelを支えます。ご自身のサブスクリプション(Claude または ChatGPT)でバックグラウンド実行され、パネルの Connect ボタンから必要に応じて起動します。
npx -y comfyui-mcp@latest connect
自分のマシンからリモート ComfyUI を操作する(connect)
Node やエージェントのない環境(RunPod のポッドやクラウドマシンなど)で ComfyUI が実行されていても、自分のマシンでエージェントを実行し、そのリモート ComfyUI を操作できます。リモートマシンでエージェントにログインする必要はなく、リモート環境へのインストールや設定も不要です。
npx -y comfyui-mcp@latest connect https://abcd1234-3000.proxy.runpod.net
これは、URL から COMFYUI_URL を設定して --panel-orchestrator を実行する簡易コマンドです。オーケストレーターは Claude/ChatGPT のログイン情報を使ってローカルで実行され、公開プロキシ URL 経由でリモート ComfyUI に接続します。リモートの HTTPS ポッドでは、connect が Cloudflare 経由でローカルエージェントブリッジへのトークン認証付き wss:// トンネルを開き、その URL をポッドのパネルに渡します。これにより、ブラウザーの確認なしに、どのブラウザーからでもポッドの HTTPS ページが自分のマシンに接続できます。セキュアなページからは、混在コンテンツとプライベートネットワークアクセスのルールにより、自分のマシンへ平文の ws:// ソケットを開くことはできません。ローカルの ComfyUI では、平文の ws://127.0.0.1:9199 ループバックブリッジを使用します。リモートポッドでこのループバックを強制するには --insecure-bridge を追加し、SSH ポートフォワーディングなどで独自の接続経路を用意してください。いずれの場合も、パネルの JS はローカルブラウザーで動作し、エージェントとログイン情報は自分のマシン上でのみ実行されるため、リモート環境へのインストールは不要です。
完了するには、connect を自分のマシンで実行したまま、ブラウザーでリモート ComfyUI を開き、Agent パネルの Connect をクリックします。パネルはフロントエンドのみの拡張機能です。ComfyUI ホストに実行できないオーケストレーターの起動を求めるのではなく、connect プロセスがすでに提供しているブリッジに接続します。
複数プロバイダーに対応し、完全な機能互換性を実現。 オーケストレーターは、プロバイダーに依存しない AgentBackend ポート(依存性注入)を基盤とし、2 つのアダプターを備えています。
ClaudeBackendは、Claude Agent SDK(@anthropic-ai/claude-agent-sdk)をラップします。claude.ai のサブスクリプションを利用する永続的なストリーミングセッションです(OAuth、キー不要)。CodexBackendは、codex app-serverの JSON-RPC プロトコル(@openai/codex)を介して OpenAI Codex をラップし、ChatGPT のサブスクリプションを利用します(codex login、キー不要)。
さらに、同じポートに対応するアダプターとして、Gemini CLI(ACP)、Antigravity(agy、Google AI Pro/Ultra のサブスクリプション経由。サインインするには、antigravity.google からインストールして agy を一度実行してください)、Grok、Kimi、GLM、Ollama/LM Studio/llama.cpp(ローカル)、OpenRouter、および OpenAI 互換のエンドポイントが用意されています。全体の一覧については、docs/backends をご覧ください。
どちらもオプションの依存関係で、パネルが選択するのはプロバイダーであり、ポートではありません。各バックエンドは、それぞれ独自のループバックブリッジポート上で独自のオーケストレーターを実行します。機能マトリックスによって、各バックエンドがサポートする機能をパネルに伝えます(たとえば、現時点で会話のロールバックに対応しているのは Claude のみです。Codex app-server はスレッド全体の再開にしか対応していないためです)。
ライブキャンバスのツールとモデルに関する知識は、すべてのプロバイダーで共通です。 panel_* ツールの定義は共通のリストにあり、インプロセスの Claude SDK MCP サーバーと、Codex 用にオーケストレーターがホストするループバックのストリーマブル HTTP MCP 上の @modelcontextprotocol/sdk サーバーの両方に登録されます(Codex がホストできるのは、設定で宣言された MCP サーバーのみです)。ヘッドレスの comfyui MCP も同様に両方に注入されます。Claude ではインプロセスで、ChatGPT では codex app-server -c mcp_servers で宣言されるため、生成、モデル、ワークフローのツールはどこでも同じです。
すべてのバックエンドで同じ専門知識を活用し、コストのガードレールを設ける新しいツール:
| ツール | 説明 |
|---|---|
list_packs(action: "skill_list" / "skill_read") | バンドルされたモデルファミリーとワークフローのスキルを検索・参照します。Claude が標準で読み込む知識を、あらゆる MCP クライアント(Codex バックエンドなど)から利用できるようにします |
list_packs(action: "list" / "read_workflow") | ワンコマンドのインストーラーパック(カスタムノード+重み+すぐ使えるワークフロー。すべてローカル GPU/無料)を一覧表示し、パックのグラフを読み取ります |
list_packs(action: "list_templates") | 接続中の ComfyUI のカスタムノードが提供するワークフローテンプレートを一覧表示します |
list_packs(action: "check_runtime") | ワークフローを ローカル(ユーザーの GPU、無料)または API/混在/不明(ホスト型 API ノードは有料クレジットを消費)に分類し、有料 API クレジットを使う前にエージェントが確認するようにします |
list_packs(action: "extract_deps" / "install_deps") | ワークフローに必要なカスタムノードパックを特定し、不足しているパックを ComfyUI-Manager 経由でインストールします |
panel_load_workflow | (パネルツール)バンドルされた pack 名(サーバー側で読み込まれ、チャット経由では決して転送されません)またはグラフ JSON を指定して、完全なワークフローを一度にライブキャンバスへ読み込みます |
panel_strip_workflow / panel_slice_workflow | (パネルツール)もつれたグラフを仮想化解除する(Get/Set バス、Reroute、サブグラフ、バイパスを実際の接続に置き換える)、または巨大なワークフローから rgthree で切り替えられるパイプラインを切り出します。pack、サーバー側の path、またはインラインのグラフを指定できます。手作業で追跡せずに、専門的なワークフローを理解・再構築するためのツールです |
MCP ツール
ワークフローの実行、生成、反復、構成、モデルなどに関する 38 個のツールを提供します。
画像生成(高レベル)
| ツール | 説明 |
|---|---|
generate_image action: "image" | テキストプロンプトから生成します。txt2img ワークフローを構築し、指定されていないパラメーターにはデフォルト値を適用して、チェックポイントを自動選択します |
generate_image action: "controlnet" | ControlNet 画像(ポーズ/深度/canny/法線)とプロンプトを条件として生成します |
generate_image action: "ip_adapter" | IP-Adapter を使い、参照画像のスタイルや被写体を基に生成します(ComfyUI_IPAdapter_plus が必要です) |
generate_image action: "video" / "3d" | 同じ簡単なエントリーポイントから、短い動画クリップ(LTX-2.3、ローカル GPU)または 3D モデル(ホスト型パートナー API ノード)を生成します |
generate_image action: "upscale" | アップロードまたはステージングされた画像を ESRGAN の超解像で後処理します |
| generate_image (action:"remove_background") | アップロードまたはステージングされた画像を、透明な BiRefNet の切り抜き画像に後処理します |
音声生成(高レベル)
| ツール | 説明 |
|---|---|
generate_image action: "audio" | テキストプロンプトから音声を生成します。ACE Step 1.5(歌詞や構成を含む音楽)と Stable Audio 3(音楽、楽器、効果音)に対応し、ローカルモデルを自動選択します |
アセットと反復
| ツール | 説明 |
|---|---|
get_image (action:"view") | 生成されたアセットのバイト列をインライン画像として返し、エージェントが結果を確認できるようにします |
get_image (action:"analyze_color") | 生成画像のパレット/コントラスト/色の統計情報(主要色、平均値と輝度の統計、コントラストのチェック)を返します。エージェントは視覚モデルとの往復なしで色について推論できます |
| generate_image (action:"regenerate") | asset_id を生成したワークフローを、任意のパラメーターを上書きして再実行します |
get_image (action:"list_assets") | 最近生成されたアセットを asset_id で新しい順に一覧表示します |
get_image (action:"asset_metadata") | 元のワークフローを含む、アセットの完全な来歴情報を返します |
デフォルト
| ツール | 説明 |
|---|---|
get_defaults action:"get" | 生成デフォルトの統合結果と、ソースごとの適用元を表示します |
get_defaults action:"set" | 実行時のデフォルトを更新します。persist: true を指定すると設定ファイルに書き込みます |
get_defaults action:"get_ui" / action:"set_ui" | ComfyUI 独自のフロントエンド UI 設定(Comfy.* ID)を読み取り/書き込みます。上記の生成デフォルトとは別のストアです |
ワークフローの実行
| ツール | 説明 |
|---|---|
enqueue_workflow action: "enqueue" | ワークフロー(API 形式の JSON)を送信します。ブロックせずに prompt_id をすぐに返します |
enqueue_workflow action: "rerun" / "run_url" / "template_schema" | 過去の生成を再実行するか、URL から共有ワークフローを読み込んで実行するか、バンドル済みテンプレートの上書き可能なスロットを確認します |
| enqueue_workflow (action:"run_template") | 1 回の操作で、バンドル済みパックのエキスパートグラフを解決し、<nodeId>.<widget> の上書きを適用して、キューに追加します |
queue | 実行キューを操作する、アクションパラメーター指定型のツールです。list(実行中と保留中)、status(prompt ID によるジョブ 1 件の状態)、get_workflow(保留中ジョブの完全なペイロード)、move/edit(保留中ジョブを先頭または末尾に再キューイングし、新しい prompt ID を付与。パッチ適用または置換に対応)、cancel(実行中ジョブを中断します。interrupt → verify → /free の順に処理を強化し、終了しない場合は WEDGED を報告します。clear_pending: true を指定すると、保留中のジョブもすべて削除します)、cancel_queued、clear |
get_system_stats | GPU、VRAM、Python のバージョン、OS などのシステム情報を取得します |
ワークフローの可視化
| ツール | 説明 |
|---|---|
visualize_workflow | 渡されたワークフローをレンダリングおよび変換する、アクションパラメーター指定型のツールです。render(ノードをカテゴリ別にまとめた Mermaid フローチャート)、render_hierarchical(同じグラフをセクション分けして表示。概要、1 セクションの詳細、一覧、または AI 向けの要約)、mermaid(Mermaid ダイアグラムから実行可能なワークフロー JSON への変換)、to_dsl/from_dsl(コンパクトで、情報を損なわずに往復変換できる作成 DSL)を利用できます |
ワークフローの構成
| ツール | 説明 |
|---|---|
create_workflow | 作成に使用する、アクションをパラメーターで指定する単一のツールです。create(テンプレートから作成:txt2img、img2img、upscale、inpaint、controlnet、ip_adapter、ace_step_15、stable_audio_3)、modify(操作:set_input、add_node、remove_node、connect、insert_between)、validate(ドライラン — ノードの不足、接続の破損、無効な出力インデックス、モデルファイルの不足を検証)、node_info(ComfyUI の /object_info エンドポイントから利用可能なノードタイプを取得) |
ワークフローライブラリ
| ツール | 説明 |
|---|---|
get_workflow | 保存済みのワークフローファイルを読み込む、アクションをパラメーターで指定する単一のツールです。list(サブフォルダーも含むユーザーライブラリ)、get(ファイル名を指定してワークフローの JSON を取得)、analyze(生の JSON の代わりに構造化された概要を表示)、query(大きなグラフをすべて出力せずにフィルタリング/たどる/集計)、strip(絶対パス、ライブラリのファイル名、またはインラインのグラフから任意のワークフローを仮想化解除 — GetNode/SetNode のバス、Reroute、サブグラフ定義、バイパスされたノードを実際の接続に解決し、フラットなグラフを返します。サーバー側で任意のパスを読み込めるため、キャッシュ済みライブラリにはない、個別に用意したワークフローや上級者向けワークフローも読み込めます)、slice(トグルテンプレートのモノリスをチャンク解除 — rgthree Fast-Groups-Bypass で切り替えるパイプラインを、単独で有効なグラフに切り出します。次にバスをフラット化するには strip と組み合わせてください)、from_image(ComfyUI が PNG に埋め込んだワークフロー)、prompt_director(Prompt Director のサニタイズ済みランタイム状態) |
save_workflow | ライブラリに書き込む、アクションをパラメーターで指定する単一のツールです。save(ワークフローを保存 — 同じファイル名のファイルがあれば上書き)、lock(モデルごとの SHA-256 とノードパックごとの Git コミットを記録した来歴ロックを作成)、verify_lock(そのロックに対する差異を報告) |
画像管理
| ツール | 説明 |
|---|---|
upload_image | img2img、inpaint、または ControlNet 用に、ローカル画像を ComfyUI の input/ ディレクトリにコピーします |
get_image (action:"list_outputs") | 出力ディレクトリから最近生成された画像と動画を新しい順に閲覧します — サブフォルダー(例:SaveVideo の output/video/…)も再帰的に検索し、各結果の subfolder を返します |
モデル管理
| ツール | 説明 |
|---|---|
download_model | モデルの重みを検索して取得し、転送状況を追跡します。action:download(URL から正しい ComfyUI サブディレクトリにダウンロード)、status、cancel、search(HuggingFace)、search_civitai、search_creators、download_civitai、resolve_missing |
list_local_models | インストール済みのモデルと、ComfyUI の検索場所を確認します。action:list(タイプ別にインストール済みモデルを表示:checkpoints、loras、vae、upscale_models、controlnet、embeddings、clip、unet、diffusion_models、text_encoders)、remove(モデルファイルを削除)、embeddings、list_paths、add_path、remove_path(最後の 3 つは追加の検索パスを設定する YAML を表示/編集) |
メモリ管理
| ツール | 説明 |
|---|---|
clear_vram | キャッシュ済みモデルをアンロードして GPU VRAM を解放します — ComfyUI の /free エンドポイントを呼び出し、解放前後の統計情報を報告します |
レジストリと検索
| ツール | 説明 |
|---|---|
search_custom_nodes | キーワードで ComfyUI Registry のノードパックを検索します(action: "search")。または、1 つのパックの詳細をすべて取得します(action: "details") |
list_packs (action: "generate_skill") | Registry ID または GitHub URL から Claude スキルの .md ファイルを生成します |
comfy_cli | 公式の comfy nodes search を通じて、実際に読み込まれているノードクラスを検索します(action:"search_nodes") |
公式 comfy-cli
comfy-cli 1.11.1 以降をインストールすると、公式の JSON ベースのツールを有効にできます。MCP は COMFY_CLI_PATH、PATH、または選択したワークスペースの .venv/venv から comfy を解決します。ローカルのカスタムノード操作では、対応する CLI が利用可能な場合は comfy node を優先し、それ以外の場合は Manager HTTP にフォールバックします。リモートのターゲットでは、引き続き Manager HTTP を使用します。
| ツール | 説明 |
|---|---|
comfy_cli | 公式 CLI 全体を操作できる、アクション指定型の単一ツールです。status、server_start/server_stop/server_restart、jobs_list/jobs_status/jobs_wait/jobs_watch/jobs_cancel、search_nodes、workflow_validate/workflow_run、transfer_upload/transfer_download、models_*(一覧表示/検索/表示/ダウンロード/削除)、skills_*(一覧表示/表示/検証/インストール/状態確認/アンインストール)に対応しています。 |
診断
| ツール | 説明 |
|---|---|
get_system_stats (action:"logs") | ComfyUI サーバーのログを取得します。キーワード(例:error、warning、ノード名)で絞り込むこともできます。 |
kitchen | この GPU で comfy-kitchen ができることを確認し(status)、グラフで活用できていない箇所を特定し(assess)、より高速な方法を適用します(apply)。プローブに失敗した場合は不明として扱い、不可とは判断しません。 |
get_history action: "list" | 実行履歴を、詳細なエラー情報、Python のトレースバック、実行時間、キャッシュされたノード情報とともに取得します。 |
get_history action: "diagnose" | FAILED になった実行を 1 回の呼び出しで説明します。失敗したノードとトレースバックに加え、不足しているモデル(ファイル名とウィジェット)およびノードタイプを示します。 |
プロセス制御
| ツール | 説明 |
|---|---|
restart_comfyui action:"restart" | 起動時の引数をすべて保持したまま、ComfyUI を停止して再起動します。 |
restart_comfyui action:"stop" | 実行中の ComfyUI プロセスを停止します(再起動用に PID と起動時の引数を保存します。Windows では action:"start" で再起動できません)。 |
restart_comfyui action:"start" | 前回の停止時に保存した情報を使って ComfyUI を起動します(macOS/Linux。Windows では拒否されます)。 |
restart_comfyui action:"status" | 読み取り専用です。現在の start/stop/restart の動作と、このツールで停止を取り消せるかどうかを確認します。stop の前に呼び出してください。 |
生成トラッカー
| ツール | 説明 |
|---|---|
get_history action: "suggest" | ローカルの生成履歴から、実績のあるサンプラー/スケジューラー/ステップ数/CFG の設定を提案します。モデルファミリー、LoRA ハッシュ、またはテキスト検索で絞り込めます。 |
get_history action: "stats" | ローカルの生成トラッキング統計(実行総数、組み合わせの種類数、モデルファミリーごとの内訳)を表示します。 |
enqueue_workflow を呼び出すたびに、設定がローカルの SQLite データベース(generations.db)に記録されます。繰り返し使用された設定の組み合わせは、重複行を作成する代わりに reuse_count が増加するため、その数を人気度の指標として利用できます。トラッカーはモデルと LoRA をファイル名ではなくコンテンツハッシュ(AutoV2/SHA256)で識別するため、ファイル名を変更しても同じグループとして扱われます。
# View local stats from the CLI
npm run generations:stats
例
画像を生成する
> /comfy:gen a cyberpunk city at night with neon lights
Claude は次の処理を行います。
- インストール済みのチェックポイントを確認します(必要に応じてダウンロードします)。
- プロンプトを使って txt2img ワークフローを構築します。
- ComfyUI で実行します。
- 生成した画像を返します。
ワークフローを可視化する
> /comfy:viz ~/workflows/my-workflow.json
カテゴリ別にノードをグループ化した Mermaid ダイアグラムを生成します。
flowchart LR
subgraph Loaders
1["CheckpointLoaderSimple"]
end
subgraph Conditioning
2(["Positive Prompt"])
3(["Negative Prompt"])
end
subgraph Sampling
5{{"KSampler<br/>steps:20 cfg:8"}}
end
1 -->|MODEL| 5
2 -->|CONDITIONING| 5
3 -->|CONDITIONING| 5
失敗したワークフローをデバッグする
> /comfy:debug
直近の実行履歴とログを読み込み、失敗したノードを特定して、不足しているモデルやノードパックを確認し、修正方法を提案します。
> /comfy:debug abc123-def456
プロンプト ID を指定して、特定の実行を診断します。
パラメーターの総当たりテスト
> /comfy:batch a cat in a field, cfg:5-10:2, sampler:euler,dpmpp_2m
すべてのパラメーターの組み合わせで画像のグリッドを生成し、結果をまとめた概要表を表示します。
対応する総当たりテストのパラメーター:cfg、steps、sampler、scheduler、seed、denoise、width、height。
複数ステップのレシピ
> /comfy:recipe hires-fix a dramatic fantasy landscape with castles
2段階で実行します。まず512x768でtxt2imgを実行し、次にimg2imgで1024x1536にアップスケールしてディテールを加えます。
利用可能なレシピ:
| レシピ | 説明 |
|---|---|
portrait | 1024x1024で生成した後、2倍にアップスケールして2048x2048にします |
hires-fix | 低解像度で生成 → denoise 0.4-0.5でimg2imgアップスケール |
style-transfer | img2imgで既存の画像にスタイルプロンプトを適用します |
product-shot | 背景を白くすっきりさせた商品画像 |
ワークフロー形式の変換
> /comfy:convert ~/workflows/my-ui-workflow.json
ComfyUIのUI形式(ノード+リンクの配列)とAPI形式(ノードID → {class_type, inputs})を相互に変換します。
カスタムノードパックのインストール
> /comfy:install comfyui-impact-pack
レジストリを検索して詳細を表示し、リポジトリをcustom_nodes/にクローンして依存関係をインストールし、ComfyUIの再起動を促します。
出力ギャラリーの閲覧
> /comfy:gallery last 5
> /comfy:gallery today
各画像に埋め込まれたメタデータ(チェックポイント、プロンプト、シード、ステップ数、CFG、サンプラー)とともに、最近の出力を一覧表示します。
ワークフローの比較
> /comfy:compare workflow-a.json vs workflow-b.json
追加・削除されたノード、変更されたパラメーター(変更前 → 変更後の値)、および視覚的な比較に使える任意のMermaid図を表示します。
実行前の検証
> Validate this workflow before I run it
ワークフローを実行せずに、ノードタイプの不足、接続の破損、無効な出力インデックス、モデルファイルの不足を確認します。
モデルの管理
> What checkpoints do I have installed?
> Search HuggingFace for SDXL turbo models
> Download this model to my checkpoints folder
VRAMの管理
> Free my VRAM
> What embeddings do I have?
画像からワークフローを抽出
> Extract the workflow from this image: ~/outputs/ComfyUI_00042_.png
PNGのメタデータチャンクを読み取り、画像の生成に使用された正確なワークフローとプロンプトを復元します。
カスタムノードの詳細確認
> /comfy:node-skill comfyui-impact-pack
すべてのノード、その入力/出力、使用パターンを記載したスキルファイルを生成します。
プロセス制御
> Restart ComfyUI
> Stop ComfyUI
> Start ComfyUI back up
設定
サーバーはComfyUIのインストール先とポートを自動検出します。必要に応じて環境変数で上書きできます。
キーと上書き設定の配置場所:
- パネルユーザー。 API Keysカード(「connected」の横にある▾メニュー)を使用します。キーは
~/.comfyui-mcp/panel-secrets.jsonに保存され、再起動なしで反映されます。 - MCPのみの構成(Claude Desktop、Claude Codeなど)。上記のセットアップ例のように、MCPクライアント設定の
envブロックを使用します。 - 実際の環境変数は、保存済みのキーより常に優先されます。開発時には、サーバーは上書きファイルとして
~/.comfyui-mcp/.envも読み込みます。通常のインストールでは、このファイルは必要ありません。
デプロイモード
comfyui-mcpは、環境に応じて自動選択される3つのモードのいずれかで動作します。
| モード | 条件 | ローカルファイルシステム/プロセスツール |
|---|---|---|
| ローカル | デフォルト | はい |
| リモート | --comfyui-url/COMFYUI_URLがループバック以外のホストを指す、または--force-remoteが設定されている | いいえ — 古いローカルインストールにアップロードが誤って取り込まれないよう、サーバーはCOMFYUI_PATHの自動検出をスキップします |
| クラウド | COMFYUI_API_KEYが設定されている(接続先はComfy Cloud) | いいえ — HTTPプリミティブはX-API-Keyを介してcloud.comfy.orgにルーティングされます。WebSocketおよびローカル専用ツールはCLOUD_UNSUPPORTEDをスローします |
一部の構成(例:dstackを使ってRunPod上のComfyUIを操作する場合)では、リモートのComfyUIをlocalhost:8188にポートフォワードするため、上記のループバックチェックでは、実際にはローカルではないインストールがローカルと判定されることがあります。ホスト名にかかわらずリモートモードを強制するには、--comfyui-url/COMFYUI_URLとともに--force-remote(またはCOMFYUI_MCP_FORCE_REMOTE=1)を指定します。
npx -y comfyui-mcp@latest --comfyui-url http://localhost:8188 --force-remote
| 変数 | デフォルト | 説明 |
|---|---|---|
COMFYUI_URL | ComfyUI の完全な URL(例:https://comfy.example.com:8443)。COMFYUI_HOST/PORT/SSL を上書きし、自動検出をスキップします。パスプレフィックスは保持されます(例:リバースプロキシ経由のインスタンスの https://host/comfyapi)。ループバック以外のホストを指定すると、リモートモードが有効になります。 | |
COMFYUI_MCP_FORCE_REMOTE | 1/true を設定するか、--force-remote を渡すと、COMFYUI_URL/--comfyui-url がループバックホストに解決される場合でも、リモートモードを強制します。localhost から到達可能なポートフォワーディング経由のリモートインストール(例:dstack/RunPod)で使用します。COMFYUI_URL/--comfyui-url がない場合は効果がありません。 | |
COMFYUI_HOST | 127.0.0.1 | ComfyUI サーバーのアドレス |
COMFYUI_PORT | (自動検出) | ComfyUI サーバーのポート(8188、次に8000を試します) |
COMFYUI_PATH | (自動検出) | モデル、入力/出力、ユーザー状態に使用する ComfyUI のデータ/ベースディレクトリのパス。一般的なインストールでは、チェックアウト先も兼ねます。リモート/クラウドモードでは自動検出されません。 |
COMFYUI_CODE_PATH | COMFYUI_PATH | コードとデータが異なるルートにある場合の、ComfyUI チェックアウト先(main.py、.venv、core git)のオプションパス。pip、venv、core の更新にはこのチェックアウト先を使用します(core の更新では、接続中のローカルサーバーから確認したチェックアウト先を優先し、これをフォールバックとして使用します)。パックの読み書き(custom_nodes、comfy-cli の --workspace、apply_manifest の clone/checkout、workflow-lock のパックコミット)は、稼働中の --base-directory/COMFYUI_PATH データルートで引き続き行われます(#1770)。 |
COMFY_CLI_PATH | (自動検出) | 公式の comfy 実行ファイル(comfy-cli >=1.11.1)のパス。解決時には PATH と、選択したワークスペースの .venv/venv も確認します。 |
COMFYUI_PYTHON | python | レガシーな git-clone 依存関係フォールバックで使用する Python インタープリター。必要に応じて、ComfyUI 仮想環境の Python を指定してください。 |
COMFYUI_MCP_BRIDGE_HOST | 127.0.0.1 | パネルブリッジのバインド先ホスト。0.0.0.0(または LAN IP)を設定すると、オーケストレーターを24時間稼働のサーバーで実行し、別のマシンからパネルを接続できます(下記のトークンが必須です)。オーケストレーターは、すぐに貼り付けて使用できる ws://…/?token=… のブリッジ URL を出力します。 |
COMFYUI_MCP_BRIDGE_TOKEN | (必要に応じて生成) | すべてのブリッジ接続を保護する共有シークレット(WS アップグレード時に定数時間で照合)。COMFYUI_MCP_BRIDGE_HOST がループバック以外の場合は必須です。再起動後もブリッジ URL が有効になるよう、値を固定してください。起動時のバナー以外ではログに記録されません。 |
COMFYUI_MCP_DATA_DIR | ~/.comfyui-mcp | ローカルの COMFYUI_PATH がない場合(リモート/クラウド/未検出時)に、インスタンスごとのデータ(get_history の action: "suggest" が使用する generations.db)を保存するベースディレクトリ。instances/<host_port>/ 以下で、接続先ごとに分けられます。 |
COMFYUI_API_KEY | Comfy Cloud API キー。設定するとクラウドモードが有効になり、サーバーは cloud.comfy.org と通信します。ログには記録されません。 | |
COMFYUI_CLOUD_URL | https://cloud.comfy.org | Comfy Cloud エンドポイントを上書きします(テスト/ステージング用)。 |
COMFYUI_AUTH_TOKEN | リバースプロキシ/API ゲートウェイの背後にあるセルフホスト ComfyUI 用の汎用認証トークン(Comfy Cloud とは別のものです)。設定すると、すべての ComfyUI リクエストに付加されます。ログには記録されません。 | |
COMFYUI_AUTH_HEADER | Authorization | COMFYUI_AUTH_TOKEN のヘッダー名(例:X-API-Key)。 |
COMFYUI_AUTH_SCHEME | Authorization の場合は Bearer、それ以外はなし | トークン値に付けるスキームのプレフィックス(例:Bearer、Token)。 |
CIVITAI_API_TOKEN | モデルのダウンロードに使用する CivitAI API トークン | |
HUGGINGFACE_TOKEN | API レート制限を緩和するための HuggingFace トークン | |
COMFYUI_DOWNLOAD_PROXY | モデルのダウンロード通信のみに使用する HTTP/HTTPS プロキシ(標準のプロキシ環境変数と、Windows の静的な WinINet 設定も適用されます) | |
GITHUB_TOKEN | スキル生成に使用する GitHub トークン(レート制限を回避します) | |
REGISTRY_ACCESS_TOKEN | node_pack(action: "publish")用の Comfy Registry API キー(環境変数のみで設定し、ログには記録されません) | |
COMFYUI_DOWNLOAD_CACHE_DIR | ~/.comfyui-mcp/cache | コンテンツアドレス方式のモデルダウンロードキャッシュ(重複排除+並行リクエストの集約) |
COMFYUI_LRU_CACHE_SIZE_GB | 0 | ダウンロードキャッシュの上限(GB単位)。0 にすると LRU による削除が無効になります |
COMFYUI_STARTUP_CHECK_INTERVAL_S / …_MAX_TRIES | 1 / 60 | ローカル ComfyUI の起動時に使用する、準備完了プローブの間隔と最大試行回数 |
COMFYUI_ALWAYS_RESTART | false | クラッシュしたローカル ComfyUI を自動再起動します(COMFYUI_RESTART_MAX_ATTEMPTS/COMFYUI_RESTART_WINDOW_S の範囲内) |
COMFYUI_MCP_STALL_S | 180 | レンダリング停止の監視機能:サンプラーのステップが同じ進捗を再出力し続けた場合に、STALL/BACKLOG の注記をエージェントの次のターンに先頭追加するまでの秒数(15~3600秒に制限。パネルから実行中に調整可能) |
COMFYUI_MCP_INTERRUPT_S | 30 | queue(action:"cancel")が、ジョブを実際に停止する割り込みを待ってから /free によるエスカレーションを行い、停止不能と報告するまでの秒数 |
LOG_LEVEL | info | ログの詳細度:debug、info、warn、error |
トランスポート
このサーバーはデフォルトで stdio を使用します。これは Claude Code、Claude Desktop、および MCP Inspector が想定する方式であるため、フラグは不要です。MCP ゲートウェイ、リモート/ホスト型の構成、または fetch ベースのクライアントでは、ストリーミング対応 HTTP を有効にしてください。
# stdio (default)
npx -y comfyui-mcp@latest
# streamable-HTTP on http://127.0.0.1:9100/mcp
npx -y comfyui-mcp@latest --http
npx -y comfyui-mcp@latest --http --host 0.0.0.0 --port 9100 # bind/port overrides
| Flag | Env | Default | Description |
|---|---|---|---|
--http / --transport http | MCP_TRANSPORT=http | stdio | stdio の代わりに /mcp でストリーミング対応 HTTP を提供します |
--host <h> | MCP_HOST | 127.0.0.1 | HTTP のバインド先ホスト(公開するには 0.0.0.0 を使用) |
--port <n> | MCP_PORT | 9100 | HTTP ポート |
--comfyui-url <url> | COMFYUI_URL | (自動検出) | 特定の(リモートを含む)ComfyUI を対象にします |
--force-remote | COMFYUI_MCP_FORCE_REMOTE | false | ループバックの --comfyui-url に対してリモートモードを強制します(例: localhost への dstack/RunPod ポートフォワード) |
その他のエージェントとローカル LLM(Hermes、OpenClaw、Copilot CLI、Ollama)
comfyui-mcp は Claude 以外のハーネスをサポートしています。1 つのコマンドで サーバーエントリをハーネス自身の設定に書き込みます(既存の ファイルを上書きするのではなくマージします):
npx -y comfyui-mcp setup hermes # → ~/.hermes/config.yaml (compact by default)
npx -y comfyui-mcp setup openclaw # → ~/.openclaw/openclaw.json (compact by default)
npx -y comfyui-mcp setup copilot # → ~/.copilot/mcp-config.json (full by default)
# flags: --compact | --full, --comfyui-url <url>, --dry-run
モデルの要件。 ツール呼び出しは必須要件です。ツール呼び出しを備えていない モデルは動作しません。シンキングとビジョンを推奨します。シンキングが ないと、多段階のツールチェーンが劣化します。ビジョンがないと、エージェントは 生成できても自身の出力を見ることができません。
コンパクトツールモード。 --compact /
COMFYUI_MCP_TOOL_MODE=compact は、直接的なツールセットの代わりに 3 つのメタツール(list_tools →
describe_tool → call_tool)を登録し、スキーマを
一度に 1 つのツールずつコンテキストに取り込みます。これは小規模なローカルモデルにとって適切なトレードオフです。
直接的なツールセットがデフォルトであり、フロンティアモデルのハーネスが求めるものです。
微調整済みモデルで無料で
ローカル実行できます。 ollama pull artokun/gemma4-comfyui-mcp:e4b
(ほかに約 2 GB の VRAM 向け :e2b、約 8 GB 向け :12b)は Gemma 4 であり、
comfyui-mcp のツールセット全体にわたる 1,055 件の
サーバー検証済みトラジェクトリで QLoRA トレーニングされており、パネルの Ollama デフォルトです。標準の
gemma4:*/qwen3:4b もエンドツーエンドで検証済みです
(npm run test:local-llm)。gemma3 はネイティブのツール呼び出しを備えておらず、
サポートされていません。ホスト型モデルのガイダンス(DeepSeek/MiMo/GLM クラス)、
ハーネスごとのセットアップ、トラブルシューティングを網羅した完全なガイドは
ローカル LLM とその他のエージェント です。
| Flag | Env | Default | Description |
|---|---|---|---|
setup <agent> | comfyui エントリを hermes / openclaw / copilot の設定に書き込み、終了します | ||
--compact / --tool-mode compact | COMFYUI_MCP_TOOL_MODE=compact | full | 直接的なツールセットの代わりに 3 つのメタツール(list_tools / describe_tool / call_tool)を有効にします — 小規模なローカルモデルに推奨。--full も引き続き受け付けられ、現在は no-op です |
リモート ComfyUI
どこで実行されている ComfyUI でもサーバーの対象にできます。ローカルへのインストールは不要です:
npx -y comfyui-mcp@latest --comfyui-url http://192.168.1.50:8188
npx -y comfyui-mcp@latest --http --comfyui-url https://comfy.example.com:8443
リバースプロキシ/API ゲートウェイの背後(パスプレフィックス + 認証ヘッダー)。独自の認証レイヤーを持つ
プレフィックス付きルートで公開されるセルフホスト可能な ComfyUI 向けです(これは
Comfy Cloud ではありません。Comfy Cloud は COMFYUI_API_KEY を使用します):
COMFYUI_URL=https://gateway.example.com/comfyapi \
COMFYUI_AUTH_TOKEN=your-token \
npx -y comfyui-mcp@latest --http # → Authorization: Bearer your-token, requests under /comfyapi
# custom header / scheme:
COMFYUI_URL=https://gateway.example.com/comfyapi \
COMFYUI_AUTH_HEADER=X-API-Key COMFYUI_AUTH_TOKEN=your-token \
npx -y comfyui-mcp@latest --http # → X-API-Key: your-token
自動検出
ポート: /system_stats を介して 8188(CLI のデフォルト)を試し、次に 8000(デスクトップアプリのデフォルト)を試します。
パス: 一般的な場所を順に確認します:
~/Documents/ComfyUI(macOS/Windows デスクトップアプリのデータディレクトリ)~/Library/Application Support/ComfyUI(macOS)~/AppData/Local/Programs/ComfyUI/resources/ComfyUI(Windows デスクトップアプリのインストール先)~/AppData/Local/ComfyUI(Windows)~/ComfyUI、~/code/ComfyUI、~/projects/ComfyUI、~/src/ComfyUI/opt/ComfyUI、~/.local/share/ComfyUI(Linux)~/Documentsと~/My Documentsをスキャンして、"ComfyUI" を含むディレクトリを探します
COMFYUI_PATH を設定すると検出をスキップし、明示的なパスを使用します。
仕組み
サーバーは、REST API と WebSocket インターフェースを通じて ComfyUI と通信します。
- WebSocket。 ワークフローをキューに登録し、リアルタイムの進行状況を受け取り(バックグラウンド監視スクリプトを通じてステップごとに確認)、実行結果を取得します
- REST API。 システム統計、ノード定義(
/object_info)、ログ、履歴、キュー管理、ワークフローライブラリ、VRAM 制御(/free)、埋め込み - ファイルシステム。 モデルディレクトリの読み書き、インストールパスの検出、画像のアップロード、PNG メタデータの抽出、出力の閲覧
- 外部 API。 HuggingFace(モデル検索)、ComfyUI Registry(カスタムノードの検出)、GitHub(スキルの生成)、CivitAI(モデルのダウンロード)
MCP クライアント(Claude Code)との通信はすべて、Model Context Protocol を使用して stdio 経由で行われます。ログは stderr に出力されるため、プロトコルストリームに混在することはありません。
開発
前提条件
セットアップ
git clone https://github.com/artokun/comfyui-mcp.git
cd comfyui-mcp
npm install
スクリプト
| スクリプト | 説明 |
|---|---|
npm run dev | tsx を使ってソースから実行します(ホットリロード) |
npm run build | TypeScript を dist/ にコンパイルします |
npm start | コンパイル済みの出力を実行します |
npm test | 単体テストを実行します(vitest) |
npm run test:integration | 統合テストを実行します(ComfyUI の実行が必要です) |
npm run lint | 出力を生成せずに型チェックします |
npm run generations:stats | ローカルの生成追跡統計を表示します |
npm run sync-agents | Claude のスキル/コマンド/フックを Google Antigravity、OpenCode、および .agents ファイルをサポートするその他の AI IDE 形式に同期します |
Claude Code でのローカルテスト
npm パッケージの代わりに、ローカルビルドを Claude Code に指定します。
{
"mcpServers": {
"comfyui": {
"command": "node",
"args": ["/path/to/comfyui-mcp/dist/index.js"],
"env": {}
}
}
}
または、プラグインを直接テストします。
claude --plugin-dir ./plugin
プロジェクト構成
scripts/
generation-stats.mjs # CLI: npm run generations:stats
src/
index.ts # MCP server entry point (stdio transport)
config.ts # Auto-detection & environment config
comfyui/
client.ts # ComfyUI WebSocket/HTTP client wrapper
types.ts # TypeScript interfaces
services/
workflow-executor.ts # Execute workflows, handle images & errors
workflow-composer.ts # Templates (txt2img, img2img, upscale, inpaint)
workflow-validator.ts # Dry-run validation (missing nodes, models, connections)
image-management.ts # Upload images, extract PNG metadata, list outputs
mermaid-converter.ts # Workflow → Mermaid diagram
workflow-converter.ts # UI → API: de-virtualize Get/Set buses + Reroutes, expand subgraphs, resolve bypass (powers get_workflow's strip action)
workflow-slicer.ts # sliceWorkflow() — rgthree Fast-Groups-Bypass pipeline un-chunker (shared by the CLI + get_workflow's slice action)
mermaid-parser.ts # Mermaid diagram → Workflow
model-resolver.ts # HuggingFace search, local models, downloads
generation-tracker.ts # SQLite generation log, settings dedup, stats
file-hasher.ts # SHA256 hashing of .safetensors with cache
workflow-settings-extractor.ts # Extract settings from workflow JSON
process-control.ts # Stop, start, restart ComfyUI process
registry-client.ts # ComfyUI Registry API
skill-generator.ts # Generate node pack skill docs
tools/ # MCP tool registration (one file per group)
workflow-execute.ts # enqueue_workflow, get_system_stats
workflow-visualize.ts # visualize_workflow (render/render_hierarchical/mermaid/to_dsl/from_dsl)
workflow-compose.ts # create_workflow (create/modify/validate/node_info)
workflow-validate.ts # the validate action's body
workflow-library.ts # get_workflow (8 read actions), save_workflow (save/lock/verify_lock)
image-management.ts # get_image (7 read actions), upload_image (5 write actions)
model-management.ts # download_model, list_local_models (the two consolidated model tools)
memory-management.ts # clear_vram
registry-search.ts # search_custom_nodes (search/details)
node-management.ts # install_custom_node (install/update/fix/uninstall/enable/disable/list/…)
node-pack.ts # node_pack (scaffold/verify/publish/read/write/patch/git/…)
generation-tracker.ts # the get_history suggest/stats jobs
diagnostics.ts # get_system_stats (action:"logs"), get_history
process-control.ts # restart_comfyui (restart/start/stop)
index.ts # Registers all tool groups
utils/
errors.ts # Custom error hierarchy with MCP integration
logger.ts # stderr-only logging (safe for stdio transport)
image.ts # Base64 encoding utilities
plugin/
.claude-plugin/ # Plugin manifest
.mcp.json # MCP server config for plugin
commands/ # Slash commands
gen.md # /comfy:gen — image generation
viz.md # /comfy:viz — workflow visualization
node-skill.md # /comfy:node-skill — skill generation
debug.md # /comfy:debug — failure diagnosis
batch.md # /comfy:batch — parameter sweeps
convert.md # /comfy:convert — format conversion
install.md # /comfy:install — node pack installation
gallery.md # /comfy:gallery — output browser
compare.md # /comfy:compare — workflow diff
recipe.md # /comfy:recipe — multi-step pipelines
skills/ # Knowledge bases
comfyui-core/ # Workflow format, node types, pipeline patterns
prompt-engineering/ # CLIP syntax, model-specific prompting
troubleshooting/ # Error catalog with patterns and fixes
model-compatibility/ # Compatibility matrix per model family
agents/ # Autonomous agents
explorer.md # Research custom node packs, generate skills
debugger.md # Diagnose workflow failures
optimizer.md # Analyze and optimize workflows
hooks/ # Pre/post tool-use hooks
hooks.json # Hook configuration
vram-check.mjs # VRAM watchdog before execution
save-warning.mjs # Save prompt before stop/restart
job-complete-notify.mjs # Job completion notification via temp files
scripts/ # Background scripts
monitor-progress.mjs # Real-time WebSocket progress monitor
launch-server.mjs # MCP server launcher — global install if present, else npx with a
# cold-start handshake rescue so a first run cannot time out (#1447)
トラブルシューティング
「ポート 8188、8000 で ComfyUI が検出されません」
ComfyUI が実行中であることを確認してください。デスクトップアプリはデフォルトでポート 8000 を使用し、CLI は 8188 を使用します。カスタムポートを使用する場合は、COMFYUI_PORT を設定してください。
「COMFYUI_PATH が設定されていません」
自動検出で ComfyUI のデータディレクトリを見つけられませんでした。models/ フォルダーを含むディレクトリ(例:~/Documents/ComfyUI)を COMFYUI_PATH に設定してください。
「複数の ComfyUI インストールが検出されました」
これは情報メッセージです。サーバーは最初に見つかったものを使用します。特定のインストールを選ぶには、COMFYUI_PATH を設定してください。
モデルのダウンロードに失敗します
HuggingFace のアクセス制限付きモデルには、HUGGINGFACE_TOKEN を設定してください。CivitAI には、CIVITAI_API_TOKEN を設定してください。
ワークフローの実行エラー
/comfy:debug を使用して失敗の原因を調べてください。または、get_history(action: "diagnose")/get_system_stats (action:"logs") を直接呼び出すと、ComfyUI の Python トレースバックを含むすべてのエラーメッセージを確認できます。
メモリ不足(OOM)
大きなワークフローを実行する前に、clear_vram を使用して GPU メモリを解放してください。VRAM ウォッチドッグフックは、ワークフローの実行前に空き容量が 1GB 未満の場合に警告します。モデル別の VRAM 使用量の推定については、troubleshooting スキルを参照してください。
カスタムノードが見つからない
/comfy:install <pack> を使用して、レジストリから不足しているノードパックをインストールしてください。デバッグコマンドは不足しているパックを検出し、インストールを提案します。
コントリビューション
コントリビューションを歓迎します。開発環境のセットアップ、プロジェクトの規約、MCP ツールの追加方法、リリース手順については、CONTRIBUTING.md を参照してください。
簡単な手順:フォーク → ブランチを作成(feat/my-feature)→ 変更を加える(npm run build と
npm test が成功することを確認し、ツールに手を加えた場合は npm run docs:gen を実行します)→ PR を作成します。
メンテナー
@artokun が開発・メンテナンスしています。Comfy-Org エコシステム全体で継続的に貢献しています。
- Comfy-Org/ComfyUI_frontend. マージ済み PR は 10 件で、その大半は v2 グラフレンダラーに関するものです。サブグラフのレンダリング、プロモートされたウィジェットの連携、ビューポートの状態保持に加え、
cloud/1.41、cloud/1.42、core/1.41、core/1.42へのバックポートも行っています。 - Comfy-Org/ComfyUI(コア)。Python バックエンドの動画・音声保存処理におけるクラッシュを修正しました(#12683、#12550)。
Comfy-Org にお勤めの方(または ComfyUI エコシステム関連で採用を行っている方)がいらっしゃいましたら、ぜひお話ししたいです。[email protected] までメールでご連絡ください。
ライセンス
MIT です。詳しくは LICENSE をご覧ください。
変更履歴
リリース履歴の全容は、構成が整理された CHANGELOG.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。