comfyui-mcp
comfyui-mcp
ComfyUI用MCPサーバー。MCP対応クライアントを使用して、自然言語プロンプトから画像を生成します。
MCP Server Seriesの一部です。
ステータス
v0.2 — コアツールに加え、アップスケール、画像プロキシ、パブリックURLサポート。ツール: generate_image, generate_variations, generate_with_workflow, refine_image, upscale_image, list_models, list_workflows, upload_image。今後の予定はロードマップを参照してください。
インストール
npx (インストール不要)
npx @miller-joe/comfyui-mcp --comfyui-url http://your-comfyui-host:8188npm
npm install -g @miller-joe/comfyui-mcp
comfyui-mcp --comfyui-url http://your-comfyui-host:8188Docker
docker run -p 9100:9100 \
-e COMFYUI_URL=http://your-comfyui-host:8188 \
ghcr.io/miller-joe/comfyui-mcp:latestMCPクライアントへの接続
例 — Claude Code:
claude mcp add --transport http comfyui http://localhost:9100/mcpまたは、ストリーミング可能なHTTPエンドポイントをMCPゲートウェイ(例: MetaMCP)に登録して、他のサーバーと集約することも可能です。
設定
すべてのオプションはCLIフラグまたは環境変数で設定可能です:
CLIフラグ | 環境変数 | デフォルト | 説明 |
|
|
| バインドホスト |
|
|
| バインドポート |
|
|
| ComfyUI HTTP URL (サーバー内部からComfyUIを呼び出す際に使用) |
|
| ( | MCPクライアントに返される画像URLに使用される、外部からアクセス可能なURL。内部URLがクライアントから到達できない場合(Dockerネットワークなどで一般的)に設定してください。 |
— |
|
| デフォルトのチェックポイントファイル名 |
クライアントに返される画像URL
生成ツールは <comfyui-public-url>/view?filename=… のような画像URLを返します。--comfyui-public-url が設定されていない場合、URLは内部の --comfyui-url 値を使用します。
また、サーバーはプロキシエンドポイント GET /images/<filename>?subfolder=&type=output を公開しており、MCPサーバー経由で画像バイトをストリーミングします。これは、クライアントが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)を一覧表示します。
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クライアント間でポータブルです。
ツール | 説明 |
| ワークフローJSONを名前付きスロットに保存します。 |
| 保存されたテンプレートを説明と最終更新日時とともに一覧表示します。 |
| 保存されたテンプレートのJSONとメタデータを取得します。 |
| 保存されたテンプレートを削除します。 |
| 保存されたテンプレートを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サーバーはステートレスです。単一の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 checkingNode 20+ が必要です。
ロードマップ
[x]
generate_image— デフォルトワークフローによるテキストから画像生成[x]
generate_with_workflow— 任意のワークフローの送信[x]
list_models/list_workflows[x]
upload_image— img2img / ControlNet / IP-Adapter用の参照画像[x]
generate_variations— プロンプトのバッチバリエーション[x]
refine_image— ソースURLからのimg2imgリファイン[x]
upscale_image— ESRGAN/SwinIRスタイルのモデルアップスケール[x] ComfyUIに到達できないクライアント用の画像プロキシエンドポイント (
/images/<filename>)[x] 外部から正しい画像URLを取得するための設定可能なパブリックURL
[x] ワークフローテンプレートレジストリ:
save_workflow_template,list_workflow_templates,get_workflow_template,delete_workflow_template,run_workflow_template[x] ControlNetワークフローヘルパー:
generate_with_controlnet(ComfyUI側にControlNetモデルが必要)[x] IP-Adapterワークフローヘルパー:
generate_with_ip_adapter(ComfyUI-IPAdapter-plusパックが必要)[ ] 長時間実行される生成のためのWebSocket進捗イベント
ライセンス
MIT © Joe Miller
サポート
このツールが時間の節約になった場合は、開発のサポートをご検討ください:
すべての寄付は、メンテナンス、ドキュメント作成、および MCP Server Series の次期リリースの資金となります。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/miller-joe/comfyui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server