ComfyUI MCP Server について
ComfyUI MCP Server は、ComfyUI を MCP に接続するサーバーで、MCP クライアントから画像生成やワークフローの実行を行えます。稼働中の ComfyUI サーバーが必要です。エージェントから ComfyUI による画像生成を操作したい方に向いています。
主な機能
- 01生成画像の URL を返す text_to_image ツール
- 02生成済み画像を取得する download_image ツール
- 03JSON ファイルまたは JSON データによるワークフロー実行
- 04カスタムワークフローを新しいツールとして追加
- 05Docker 配備と SSE トランスポートへの対応
活用シーン
- 01エージェントがテキストから画像を生成する
- 02保存済みの ComfyUI ワークフローをオンデマンドで実行する
- 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 サーバーのアドレスにアクセスできる必要があります。
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など)で生成された画像をダウンロードします。
- 画像の URL を使用して、他のツール(
-
run_workflow_with_file
-
ワークフロー JSON ファイルへのパスを指定して、ワークフローを実行します。
# エージェントには次のように依頼してください。 Run comfyui workflow with text_to_image.json -
CursorAI の画像例

-
-
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 を使用する場合は、次の設定を検討してください。
- 画像データをバイトとして受け取るには、
.envでRETURN_URL=falseを設定します。 - 適切なアドレス(
host.docker.internalやサーバーの IP など)を.envのCOMFYUI_HOSTに設定します。 - 注意:バイナリデータを使用する場合、大きな画像ペイロードは応答の上限を超える可能性があります。
- 画像データをバイトとして受け取るには、
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 トランスポートの使用
-
Docker で SSE サーバーを実行します。
docker run -i --rm -p 8001:8000 overseer66/mcp-comfyui-sse -
mcp.jsonを設定します(必要に応じて localhost を IP アドレスまたはドメインに変更します)。{ "mcpServers": { "comfyui": { "url": "http://localhost:8001/sse" } } }
NOTE:ワークフローを新しいツールとして追加する場合、利用できるようにするには Docker イメージを再ビルドして再デプロイする必要があります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。