mcpField
C
comfyui-mcp

comfyui-mcp

ローカル
github.com/miller-joeメディア・デザイン320 週間前に更新

comfyui-mcp について

comfyui-mcpは、MCPクライアントからComfyUIで画像を生成・編集できるMCPサーバーです。標準的な生成機能に加え、カスタムワークフロー、テンプレート保存、画像プロキシを備えています。

主な機能

  1. 01テキストからの画像生成
  2. 02シードによる画像バリエーション
  3. 03画像の補正とアップスケール
  4. 04ControlNetとIP-Adapterによる生成
  5. 05カスタム・保存済みワークフロー
  6. 06モデルとワークフローの一覧表示

活用シーン

  1. 01テキストプロンプトから画像を生成
  2. 02同じプロンプトで複数の画像を作成
  3. 03既存画像の補正や拡大
  4. 04保存済みComfyUIワークフローの再利用

MCP 対応

MCPクライアントに、ComfyUIの画像生成・編集、モデル一覧、ワークフロー操作をツールとして提供します。Streamable HTTPとstdioに対応し、ComfyUIへ直接アクセスできないクライアント向けの画像プロキシも備えています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"miller-joe-comfyui": {
"command": "npx",
"args": [
"-y",
"@miller-joe/comfyui-mcp"
],
"env": {
"COMFYUI_URL": "<COMFYUI_URL>",
"COMFYUI_PUBLIC_URL": "<COMFYUI_PUBLIC_URL>",
"COMFYUI_DEFAULT_CKPT": "<COMFYUI_DEFAULT_CKPT>"
}
}
}
}
起動コマンドnpx -y @miller-joe/comfyui-mcp
設定が必要な環境変数
COMFYUI_URLComfyUI HTTP URL used internally by this server. Default: http://127.0.0.1:8188
COMFYUI_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@miller-joe/comfyui-mcp0.2.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

comfyui-mcp

ComfyUI 用の MCP サーバーです。MCP 対応クライアントであれば、自然言語のプロンプトから画像を生成できます。

comfyui-mcp MCP server

GitHub Sponsors Ko-fi

ステータス

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 フラグ環境変数デフォルト説明
--hostMCP_HOST0.0.0.0バインドするホスト(HTTP モードのみ)
--portMCP_PORT9100バインドするポート(HTTP モードのみ)
--stdioMCP_TRANSPORT=stdio(未設定)HTTP の代わりに stdio 経由で MCP 通信を行います。stdio を優先する MCP クライアント(Claude Desktop、mcp-inspector)からサブプロセスとして起動する場合に使用します。
--comfyui-urlCOMFYUI_URLhttp://127.0.0.1:8188このサーバーが内部で使用する ComfyUI の HTTP URL
--comfyui-public-urlCOMFYUI_PUBLIC_URL--comfyui-url と同じクライアントに返される画像 URL の外部 URL です。内部 URL に MCP クライアントからアクセスできない場合(Docker ネットワークでよく発生します)に設定します。
(フラグなし)COMFYUI_DEFAULT_CKPTsd_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_workflow
  • refine_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

サポート

このツールで時間を節約できた場合は、開発へのご支援をご検討ください。

GitHub Sponsors Ko-fi

ご支援はすべて、メンテナンス、ドキュメント、次回リリースのために活用されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。