ComfyUI集成服务器

一个用于集成ComfyUI与MCP的服务器实现,支持自定义工作流和图像生成功能。

  • by Overseer66
  • Python
  • 混合部署
  • 22 星标
  • 更新于
在 GitHub 查看 Overseer66/comfyui-mcp-server

使用说明

ComfyUI MCP服务器

1.概述

  • 用于将ComfyUI与MCP集成的服务器实现。
  • ⚠️ 重要提示:此服务器需要正在运行的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

    • 下载其他工具生成的图像(如 text_to_image)使用图像URL。
  • run_workflow_with_file

    • 通过提供工作流JSON文件的路径来运行工作流。

      # You should ask to agent like this.
      Run comfyui workflow with text_to_image.json
      
    • CursorAI的示例图像

  • 运行工作流

    • 通过直接提供工作流JSON数据来运行工作流。

      # You should ask to agent like this.
      Run comfyui workflow with this 
      {
        "3": {
            "inputs": {
                "seed": 156680208700286,
                "steps": 20,
          ... (workflow JSON example)
      }
      

5.如何跑步

5.1使用紫外线(推荐)

  • 示例 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

  • 将图像下载到本地文件夹 download_image 这可能很困难,因为Docker容器不共享主机文件系统。
  • 使用Docker时,请考虑:
    1. 集 RETURN_URL=false 在 .env 以字节形式接收图像数据。
    2. 集 COMFYUI_HOST 在 .env 发送到适当的地址(例如。, host.docker.internal 或服务器的IP)。
    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" 
        }
      }
    }
    

注意:当添加新的工作流作为工具时,您需要重建和重新部署Docker映像以使其可用。