mcpField
C
Comfy MCP Server

Comfy MCP Server

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

Comfy MCP Server について

Comfy MCP Server は、FastMCP フレームワークで構築された MCP サーバーで、リモートの Comfy サーバー経由でプロンプトから画像を生成します。AI クライアントから ComfyUI のワークフローを呼び出したいユーザーに適しており、Ollama によるプロンプト生成も任意で利用できます。

主な機能

  1. 01テキストプロンプトからの画像生成
  2. 02リモートの Comfy サーバーへのジョブ送信と状態確認
  3. 03エクスポートした ComfyUI ワークフローのテンプレート利用
  4. 04URL またはファイルとしての結果出力
  5. 05Ollama による任意のプロンプト生成

活用シーン

  1. 01Claude Desktop から ComfyUI で画像を生成
  2. 02トピックからプロンプトを作成し画像を出力
  3. 03リモート GPU サーバーでの画像生成

MCP 対応

本プロジェクトは MCP サーバーとして、画像生成用の generate_image とプロンプト生成用の generate_prompt のツールを MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"comfy": {
"command": "uvx",
"args": [
"comfy-mcp-server"
]
}
}
}
起動コマンドuvx comfy-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypicomfy-mcp-server

ツール

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

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

詳細

Comfy MCP Server

smithery badge

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

この関数は、指定したプロンプトを使用して画像を生成します。次の手順を実行します。

  1. すべての環境変数が設定されていることを確認します。
  2. JSON ファイルからプロンプトテンプレートを読み込みます。
  3. プロンプトを Comfy サーバーに送信します。
  4. プロンプトの処理状況をサーバーに問い合わせます。
  5. 生成が完了したら、画像を取得して返します。
generate_prompt(topic: str, ctx: Context) -> str

この関数は、指定したトピックから包括的な画像生成プロンプトを生成します。

依存関係

  • mcp:FastMCP サーバーのセットアップに使用します。
  • json:JSON データの処理に使用します。
  • urllib:HTTP リクエストの送信に使用します。
  • time:ポーリング時の待機に使用します。
  • os:環境変数へのアクセスに使用します。
  • langchain:トピックから画像生成プロンプトを作成するシンプルな LLM プロンプトチェーンの構築に使用します。
  • langchain-ollama:LangChain 用の Ollama 固有モジュールです。

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。詳細については、LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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