comfyui-mcp について
comfyui-mcpは、MCPクライアントからComfyUIで画像を生成・編集できるMCPサーバーです。標準的な生成機能に加え、カスタムワークフロー、テンプレート保存、画像プロキシを備えています。
主な機能
- 01テキストからの画像生成
- 02シードによる画像バリエーション
- 03画像の補正とアップスケール
- 04ControlNetとIP-Adapterによる生成
- 05カスタム・保存済みワークフロー
- 06モデルとワークフローの一覧表示
活用シーン
- 01テキストプロンプトから画像を生成
- 02同じプロンプトで複数の画像を作成
- 03既存画像の補正や拡大
- 04保存済みComfyUIワークフローの再利用
MCP 対応
MCPクライアントに、ComfyUIの画像生成・編集、モデル一覧、ワークフロー操作をツールとして提供します。Streamable HTTPとstdioに対応し、ComfyUIへ直接アクセスできないクライアント向けの画像プロキシも備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @miller-joe/comfyui-mcpCOMFYUI_URLComfyUI HTTP URL used internally by this server. Default: http://127.0.0.1:8188COMFYUI_PUBLIC_URLExternally-reachable ComfyUI URL used in image URLs returned to clients. Set when the internal URL isn't reachable from MCP clients (common with Docker networks).COMFYUI_DEFAULT_CKPTDefault checkpoint filename. Default: sd_xl_base_1.0.safetensorsローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
comfyui-mcp
ComfyUI 用の MCP サーバーです。MCP 対応クライアントであれば、自然言語のプロンプトから画像を生成できます。
ステータス
v0.2 では、コアツールに加えて、アップスケール、画像プロキシ、公開 URL のサポートが追加されます。現在利用できるツールは、generate_image、generate_variations、generate_with_workflow、refine_image、upscale_image、list_models、list_workflows、upload_image、generate_with_controlnet、generate_with_ip_adapter と、ワークフローテンプレートレジストリです。今後の予定については、ロードマップをご覧ください。
インストール
npx(インストール不要)
npx @miller-joe/comfyui-mcp --comfyui-url http://your-comfyui-host:8188
npm
npm install -g @miller-joe/comfyui-mcp
comfyui-mcp --comfyui-url http://your-comfyui-host:8188
Docker
docker run -p 9100:9100 \
-e COMFYUI_URL=http://your-comfyui-host:8188 \
ghcr.io/miller-joe/comfyui-mcp:latest
MCP クライアントを接続する
Claude Code:
claude mcp add --transport http comfyui http://localhost:9100/mcp
または、ストリーミング可能な HTTP エンドポイントを MCP ゲートウェイ(例:MetaMCP)に登録すると、他のサーバーと統合できます。
設定
すべてのオプションは CLI フラグまたは環境変数で設定できます。
| CLI フラグ | 環境変数 | デフォルト | 説明 |
|---|---|---|---|
--host | MCP_HOST | 0.0.0.0 | バインドするホスト(HTTP モードのみ) |
--port | MCP_PORT | 9100 | バインドするポート(HTTP モードのみ) |
--stdio | MCP_TRANSPORT=stdio | (未設定) | HTTP の代わりに stdio 経由で MCP 通信を行います。stdio を優先する MCP クライアント(Claude Desktop、mcp-inspector)からサブプロセスとして起動する場合に使用します。 |
--comfyui-url | COMFYUI_URL | http://127.0.0.1:8188 | このサーバーが内部で使用する ComfyUI の HTTP URL |
--comfyui-public-url | COMFYUI_PUBLIC_URL | --comfyui-url と同じ | クライアントに返される画像 URL の外部 URL です。内部 URL に MCP クライアントからアクセスできない場合(Docker ネットワークでよく発生します)に設定します。 |
| (フラグなし) | COMFYUI_DEFAULT_CKPT | sd_xl_base_1.0.safetensors | デフォルトのチェックポイントファイル名 |
トランスポート
デフォルトでは、サーバーはストリーミング可能な HTTP を使用します(Claude Code、MetaMCP、直接の fetch に最適です)。stdio を優先する Claude Desktop や MCP Inspector などのクライアントで想定されている stdio モードに切り替えるには、--stdio を渡すか、MCP_TRANSPORT=stdio を設定します。
# Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"comfyui": {
"command": "npx",
"args": ["-y", "@miller-joe/comfyui-mcp", "--stdio", "--comfyui-url", "http://127.0.0.1:8188"]
}
}
}
クライアントに返される画像 URL
画像生成ツールは、<comfyui-public-url>/view?filename=… のような画像 URL を返します。--comfyui-public-url が設定されていない場合、URL には内部の --comfyui-url の値が使用されます。
また、このサーバーはプロキシエンドポイントを公開します。GET /images/<filename>?subfolder=&type=output は画像データをこのサーバー経由でストリーミングします。これは、クライアントから MCP サーバーにはアクセスできても、ComfyUI に直接アクセスできない場合に便利です。
デフォルトのチェックポイントは、ComfyUI の models/checkpoints/ ディレクトリ内のファイルと一致している必要があります。COMFYUI_DEFAULT_CKPT で上書きするか、ツールの引数として checkpoint を渡してください。
ツール
generate_image
ComfyUI のデフォルトの txt2img ワークフローを使用して、テキストプロンプトから画像を生成します。
パラメーター:prompt(必須)、negative_prompt、width、height、steps、cfg、seed、checkpoint。
generate_variations
シードを変えて、同じプロンプトから複数のバリエーションを生成します。すべての画像をまとめて返します。
パラメーター:prompt(必須)、count(2~16、デフォルトは 4)、および generate_image と同じ生成パラメーター。ただし、seed の代わりに base_seed を使用します。
generate_with_workflow
任意の ComfyUI ワークフロー JSON(ノードグラフ全体)を送信し、生成された画像 URL を返します。ControlNet、アップスケール、または ComfyUI の Save (API Format) からエクスポートしたものなど、カスタムワークフローに使用します。
パラメーター:workflow(オブジェクト)、ノードグラフ全体。
refine_image
ソース画像に対して img2img を実行します。サーバーはソース URL から画像を取得して ComfyUI にアップロードし、新しいプロンプトに従ってノイズ除去処理を実行します。denoise の値が低いほど元の画像が保持され、高いほどプロンプトによる変更の自由度が高まります。
パラメーター:prompt、source_image_url(必須)、denoise(0~1、デフォルトは 0.5)、および標準の生成パラメーター。
list_models
ComfyUI インスタンスで利用可能なチェックポイント、LoRA、サンプラー、またはスケジューラーを一覧表示します。
パラメーター:kind。checkpoints(デフォルト)、loras、samplers、schedulers のいずれかです。
list_workflows
このサーバーに同梱されている組み込みワークフローテンプレートを一覧表示します(現在は txt2img、img2img、upscale、controlnet、ip_adapter)。
upload_image
img2img、ControlNet、または IP-Adapter のワークフローで使用する参照画像を ComfyUI にアップロードします。
パラメーター:source_url または image_base64(いずれか必須)、filename(任意)、overwrite(デフォルトは false)。
戻り値:保存されたファイル名。この名前は、LoadImage のようなワークフローノードの image 入力に使用できます。
generate_with_controlnet
ControlNet で前処理された画像(ポーズスケルトン、深度マップ、Canny エッジ、法線マップなど)とテキストプロンプトを条件として画像を生成します。
パラメーター:prompt、control_image_url(前処理済みの条件画像。このツールは前処理を実行しません)、controlnet_model(models/controlnet/ 内のファイル名)、strength(0~2、デフォルトは 1)、start_percent / end_percent(0~1。サンプリング中に CN が有効になるタイミングを制御します)、および標準の生成パラメーター。
ComfyUI の models/controlnet/ ディレクトリに ControlNet モデルをインストールしておく必要があります。
generate_with_ip_adapter
IP-Adapter を介して、参照画像をビジュアル、スタイル、または被写体のガイドとして使用し、画像を生成します。
パラメーター:prompt、reference_image_url、preset(例:"STANDARD (medium strength)"、"PLUS FACE (portraits)"、"VIT-G (medium strength)")、weight(0~3、デフォルトは 1)、start_at / end_at(0~1)、および標準の生成パラメーター。
ComfyUI-IPAdapter-plus カスタムノードパックに加え、プリセットに対応する IPAdapter の重みと CLIP Vision モデルが必要です。
ワークフローテンプレートレジストリ
複雑なワークフロー JSON を一度保存し、後から名前で実行できます。テンプレートは --templates-dir 配下(デフォルトは ~/.config/comfyui-mcp/templates/<name>.json)に保存されるため、再起動後も保持され、複数の MCP クライアント間で共有できます。
| ツール | 説明 |
|---|---|
save_workflow_template | ワークフロー JSON を名前付きスロットに保存します。置き換えるには overwrite=true を指定します。 |
list_workflow_templates | 保存済みテンプレートを、説明と最終更新日時とともに一覧表示します。 |
get_workflow_template | 保存済みテンプレートの JSON とメタデータを取得します。 |
delete_workflow_template | 保存済みテンプレートを削除します。 |
run_workflow_template | 保存済みテンプレートを ComfyUI で実行し、画像 URL を返します。 |
テンプレート名は英数字で始める必要があります。使用可能な文字:a-z、A-Z、0-9、-、_。最大 64 文字です。
戻り値の形式
すべての生成ツールは、ComfyUI インスタンスから直接提供される画像 URL(http://<comfyui>/view?filename=…)を返します。これらの URL は、画像 URL を受け付ける任意のクライアントにそのまま渡せます。
アーキテクチャ
┌────────────────┐ ┌──────────────────┐ ┌──────────────┐
│ MCP client │────▶│ comfyui-mcp │────▶│ ComfyUI │
│ (Claude, etc.)│◀────│ (this server) │◀────│ instance │
└────────────────┘ └──────────────────┘ └──────────────┘
streamable HTTP HTTP REST + poll
サーバーはステートレスです。1 回の MCP リクエストでワークフローを ComfyUI に送信し、完了するまで /history/{id} をポーリングして、画像 URL を返します。
開発
git clone https://github.com/miller-joe/comfyui-mcp
cd comfyui-mcp
npm install
npm run dev # hot-reload via tsx watch
npm run build # compile TS to dist/
npm run typecheck # strict type checking
Node 20 以降が必要です。
ロードマップ
v0.2 でリリース済み:
generate_image、generate_variations、generate_with_workflowrefine_image(ソース URL から img2img)upscale_image(ESRGAN / SwinIR 系モデルによるアップスケール)list_models、list_workflows、upload_image- ComfyUI に直接アクセスできないクライアント向けの画像プロキシエンドポイント(
/images/<filename>) - 外部から正しくアクセスできる画像 URL を設定するための公開 URL
- ワークフローテンプレートレジストリ(保存/一覧表示/取得/削除/実行)
generate_with_controlnet(ComfyUI 側に ControlNet モデルが必要です)generate_with_ip_adapter(ComfyUI-IPAdapter-plus パックが必要です)
予定:
- 時間のかかる生成処理向けの WebSocket 進捗イベント。
ライセンス
MIT © Joe Miller
サポート
このツールで時間を節約できた場合は、開発へのご支援をご検討ください。
ご支援はすべて、メンテナンス、ドキュメント、次回リリースのために活用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。