mcpField
C
ComfyUI MCP Server

ComfyUI MCP Server

ローカル
github.com/Overseer66メディア・デザイン2251 週間前に更新

ComfyUI MCP Server について

ComfyUI MCP Server は、ComfyUI を MCP に接続するサーバーで、MCP クライアントから画像生成やワークフローの実行を行えます。稼働中の ComfyUI サーバーが必要です。エージェントから ComfyUI による画像生成を操作したい方に向いています。

主な機能

  1. 01生成画像の URL を返す text_to_image ツール
  2. 02生成済み画像を取得する download_image ツール
  3. 03JSON ファイルまたは JSON データによるワークフロー実行
  4. 04カスタムワークフローを新しいツールとして追加
  5. 05Docker 配備と SSE トランスポートへの対応

活用シーン

  1. 01エージェントがテキストから画像を生成する
  2. 02保存済みの ComfyUI ワークフローをオンデマンドで実行する
  3. 03Docker コンテナで画像生成環境を配備する

MCP 対応

text_to_image、download_image、run_workflow_with_file、run_workflow_with_json などのツールを MCP クライアントに公開し、処理を ComfyUI に委譲します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

ComfyUI MCP サーバー

1. 概要

  • ComfyUI を MCP と統合するためのサーバー実装です。
  • ⚠️ IMPORTANT:このサーバーを使用するには、ComfyUI サーバーが稼働している必要があります。
    • 独自の ComfyUI サーバーをホストするか、
    • 既存の ComfyUI サーバーのアドレスにアクセスできる必要があります。
ComfyUI Server MCP server

2. デバッグ

2.1 ComfyUI のデバッグ
python src/test_comfyui.py
2.2 MCP のデバッグ
mcp dev src/server.py

3. インストールと設定

3.1 ComfyUI の設定
  • src/.env を編集して、ComfyUI のホストとポートを設定します。

    COMFYUI_HOST=localhost
    COMFYUI_PORT=8188
    
3.2 カスタムワークフローの追加
  • 新しいツールを追加するには、ワークフローの JSON ファイルを workflows ディレクトリに配置し、システム内で新しいツールとして宣言します。

4. 組み込みツール

  • text_to_image

    • 生成された画像の URL のみを返します。
    • 実際の画像を取得するには:
      • download_image ツールを使用するか、
      • ブラウザーで URL に直接アクセスします。
  • download_image

    • 画像の URL を使用して、他のツール(text_to_image など)で生成された画像をダウンロードします。
  • run_workflow_with_file

    • ワークフロー JSON ファイルへのパスを指定して、ワークフローを実行します。

      # エージェントには次のように依頼してください。
      Run comfyui workflow with text_to_image.json
      
    • CursorAI の画像例 README の画像

  • run_workflow_with_json

    • ワークフロー JSON データを直接指定して、ワークフローを実行します。

      # エージェントには次のように依頼してください。
      Run comfyui workflow with this 
      {
        "3": {
            "inputs": {
                "seed": 156680208700286,
                "steps": 20,
          ... (workflow JSON example)
      }
      

5. 実行方法

5.1 UV を使用する(推奨)
  • mcp.json の例:

    {
      "mcpServers": {
        "comfyui": {
          "command": "uv",
          "args": [
            "--directory",
            "PATH/MCP/comfyui",
            "run",
            "--with",
            "mcp",
            "--with",
            "websocket-client",
            "--with",
            "python-dotenv",
            "mcp",
            "run",
            "src/server.py:mcp"
          ]
        }
      }
    }
    
5.2 Docker を使用する
  • Docker コンテナーはホストのファイルシステムを共有しないため、download_image を使ってローカルフォルダーに画像をダウンロードするのは難しい場合があります。
  • Docker を使用する場合は、次の設定を検討してください。
    1. 画像データをバイトとして受け取るには、.env で RETURN_URL=false を設定します。
    2. 適切なアドレス(host.docker.internal やサーバーの IP など)を .env の COMFYUI_HOST に設定します。
    3. 注意:バイナリデータを使用する場合、大きな画像ペイロードは応答の上限を超える可能性があります。
5.2.1 Docker イメージのビルド
# First build image
docker image build -t mcp/comfyui .
{
  "mcpServers": {
    "comfyui": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p",
        "3001:3000",
        "mcp/comfyui"
      ]
    }
  }
}
5.2.2 既存のイメージを使用する

事前にビルドされたイメージも使用できます。

{
  "mcpServers": {
    "comfyui": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p",
        "3001:3000",
        "overseer66/mcp-comfyui"
      ]
    }
  }
}
5.2.3 SSE トランスポートの使用
  1. Docker で SSE サーバーを実行します。

    docker run -i --rm -p 8001:8000 overseer66/mcp-comfyui-sse
    
  2. mcp.json を設定します(必要に応じて localhost を IP アドレスまたはドメインに変更します)。

    {
      "mcpServers": {
        "comfyui": {
          "url": "http://localhost:8001/sse" 
        }
      }
    }
    

NOTE:ワークフローを新しいツールとして追加する場合、利用できるようにするには Docker イメージを再ビルドして再デプロイする必要があります。


コメント

MCP は初めてですか?

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

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