Comfy MCP Server について
Comfy MCP Server は、FastMCP フレームワークで構築された MCP サーバーで、リモートの Comfy サーバー経由でプロンプトから画像を生成します。AI クライアントから ComfyUI のワークフローを呼び出したいユーザーに適しており、Ollama によるプロンプト生成も任意で利用できます。
主な機能
- 01テキストプロンプトからの画像生成
- 02リモートの Comfy サーバーへのジョブ送信と状態確認
- 03エクスポートした ComfyUI ワークフローのテンプレート利用
- 04URL またはファイルとしての結果出力
- 05Ollama による任意のプロンプト生成
活用シーン
- 01Claude Desktop から ComfyUI で画像を生成
- 02トピックからプロンプトを作成し画像を出力
- 03リモート GPU サーバーでの画像生成
MCP 対応
本プロジェクトは MCP サーバーとして、画像生成用の generate_image とプロンプト生成用の generate_prompt のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Comfy MCP Server
FastMCP フレームワークを使用し、リモートの Comfy サーバー経由でプロンプトに基づいて画像を生成するサーバーです。
概要
このスクリプトは、FastMCP フレームワークを使用して、指定したワークフローに基づいてプロンプトから画像を生成するサーバーを構成します。リモートの Comfy サーバーと連携し、プロンプトを送信して生成された画像を取得します。
前提条件
- uv:Python 用のパッケージおよびプロジェクト管理ツールです。
- Comfy UI からエクスポートしたワークフローファイル。このコードにはサンプルの
Flux-Dev-ComfyUI-Workflow.jsonが含まれていますが、これは参照用です。ご自身のワークフローからエクスポートし、それに応じて環境変数を設定する必要があります。
ローカル開発に必要なパッケージは、次のようにインストールできます。
uvx mcp[cli]
設定
次の環境変数を設定します。
COMFY_URLに Comfy サーバーの URL を指定します。COMFY_WORKFLOW_JSON_FILEに Comfy UI ワークフローの API エクスポート JSON ファイルの絶対パスを指定します。PROMPT_NODE_IDにテキストプロンプトノードの ID を指定します。OUTPUT_NODE_IDに最終画像を出力するノードの ID を指定します。OUTPUT_MODEにurlまたはfileを指定して、希望する出力を選択します。
任意で、Ollama サーバーを実行している場合は、プロンプトの生成に接続できます。
OLLAMA_API_BASEに Ollama の実行先 URL を指定します。PROMPT_LLMに、プロンプト生成用として Ollama でホストされているモデル名を指定します。
例:
export COMFY_URL=http://your-comfy-server-url:port
export COMFY_WORKFLOW_JSON_FILE=/path/to/the/comfyui_workflow_export.json
export PROMPT_NODE_ID=6 # use the correct node id here
export OUTPUT_NODE_ID=9 # use the correct node id here
export OUTPUT_MODE=file
使用方法
Comfy MCP Server は、次のコマンドで起動できます。
uvx comfy-mcp-server
Claude Desktop の設定例
{
"mcpServers": {
"Comfy MCP Server": {
"command": "/path/to/uvx",
"args": [
"comfy-mcp-server"
],
"env": {
"COMFY_URL": "http://your-comfy-server-url:port",
"COMFY_WORKFLOW_JSON_FILE": "/path/to/the/comfyui_workflow_export.json",
"PROMPT_NODE_ID": "6",
"OUTPUT_NODE_ID": "9",
"OUTPUT_MODE": "file",
}
}
}
}
機能
generate_image(prompt: str, ctx: Context) -> Image | str
この関数は、指定したプロンプトを使用して画像を生成します。次の手順を実行します。
- すべての環境変数が設定されていることを確認します。
- JSON ファイルからプロンプトテンプレートを読み込みます。
- プロンプトを Comfy サーバーに送信します。
- プロンプトの処理状況をサーバーに問い合わせます。
- 生成が完了したら、画像を取得して返します。
generate_prompt(topic: str, ctx: Context) -> str
この関数は、指定したトピックから包括的な画像生成プロンプトを生成します。
依存関係
mcp:FastMCP サーバーのセットアップに使用します。json:JSON データの処理に使用します。urllib:HTTP リクエストの送信に使用します。time:ポーリング時の待機に使用します。os:環境変数へのアクセスに使用します。langchain:トピックから画像生成プロンプトを作成するシンプルな LLM プロンプトチェーンの構築に使用します。langchain-ollama:LangChain 用の Ollama 固有モジュールです。
ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細については、LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。