Skip to main content
Glama

comfyui-mcp

ComfyUI用MCPサーバー。MCP対応クライアントを使用して、自然言語プロンプトから画像を生成します。

MCP Server Seriesの一部です。

GitHub Sponsors Ko-fi

ステータス

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: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

バインドホスト

--port

MCP_PORT

9100

バインドポート

--comfyui-url

COMFYUI_URL

http://127.0.0.1:8188

ComfyUI HTTP URL (サーバー内部からComfyUIを呼び出す際に使用)

--comfyui-public-url

COMFYUI_PUBLIC_URL

(--comfyui-urlと同じ)

MCPクライアントに返される画像URLに使用される、外部からアクセス可能なURL。内部URLがクライアントから到達できない場合(Dockerネットワークなどで一般的)に設定してください。

COMFYUI_DEFAULT_CKPT

sd_xl_base_1.0.safetensors

デフォルトのチェックポイントファイル名

クライアントに返される画像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、サンプラー、またはスケジューラーを一覧表示します。

パラメータ: kindcheckpoints (デフォルト), 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クライアント間でポータブルです。

ツール

説明

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

サーバーはステートレスです。単一の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+ が必要です。

ロードマップ

  • [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

サポート

このツールが時間の節約になった場合は、開発のサポートをご検討ください:

GitHub Sponsors Ko-fi

すべての寄付は、メンテナンス、ドキュメント作成、および MCP Server Series の次期リリースの資金となります。

-
security - not tested
A
license - permissive license
-
quality - not tested

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