ComfyUI MCP Server

Un servidor de generación de imágenes que se conecta a una instancia local de ComfyUI a través de su API, compatible con flujos de trabajo dinámicos.

Documentación

MseeP.ai Security Assessment Badge

ComfyUI MCP 服务

English 简体中文 Python 3.12+ License

Este es un servicio de generación de imágenes ComfyUI basado en el Model Context Protocol (MCP), que genera imágenes llamando a una instancia local de ComfyUI a través de la API.

Características

  • Proporciona servicios de generación de imágenes a través del protocolo MCP, permitiendo generar imágenes libremente mediante lenguaje natural
  • Admite el reemplazo dinámico de parámetros como indicaciones y dimensiones en los flujos de trabajo
  • Carga automáticamente los archivos de flujo de trabajo del directorio workflows como recursos

Registro de nuevas funciones

  • [2025-06-29] Soporte para el flujo de trabajo de edición de imágenes kontext edit-image-85457440acc11a9f386f8ef284fd62f2.jpg
  • [2025-05-11] Soporte para configuración dinámica del directorio de archivos de flujo de trabajo
  • [2025-05-09] Se agregó el método de construcción con docker, compatible con Python 3.12+
  • [2025-05-07] Se agregó el método de construcción con pip
  • [2025-05-06] Se cambió el directorio del proyecto de src/hh a src/hh_mcp_comfyui, se agregó el método de construcción con uvx
  • [2025-04-26] Se agregaron flujos de trabajo de ejemplo para imagen a imagen y eliminación de fondo, así como soporte para la herramienta de imagen a imagen
  • [2025-04-20] Se agregó la herramienta de generación de texto a imagen

Resultados

  • Efecto de uso en Cherry Studio image-b8f946109d63fe1ccb5e2d63933e3f9e.png

  • Efecto de uso en Cline cline_gen_image-48d8515e0b59cd313879c62a1546162d.png ComfyUI_00020_-d9171f87fc9e67fcc1966cdbfb952a0c.png

Instalación de dependencias

1. Asegúrese de tener instalado Python 3.12+

2. Use uv para gestionar el entorno de Python:

  • Instalar uv:
    # On macOS and Linux.
    $ curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # On Windows.
    $ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
    # 更新uv(非必要操作):
    $ uv self update
    

Probar el servicio

  • Método uvx
    $ uvx hh-mcp-comfyui
    
    INFO:hh_mcp_comfyui.server:Scanning for workflows in: C:\Users\tianw\AppData\Local\uv\cache\archive-v0\dp4MTo0f1qL0DdYF_BYCL\Lib\site-packages\hh_mcp_comfyui\workflows
    INFO:hh_mcp_comfyui.server:Starting ComfyUI MCP Server...
    
  • Método pip
    $ pip install hh_mcp_comfyui
    
    $ python -m hh_mcp_comfyui
    
    INFO:hh_mcp_comfyui.server:Scanning for workflows in: F:\Python\Python313\Lib\site-packages\hh_mcp_comfyui\workflows
    INFO:hh_mcp_comfyui.server:Starting ComfyUI MCP Server...
    

Si aparece la información anterior, el servicio se inició correctamente

Método de uso

Debe asegurarse de que la instancia local de ComfyUI esté en ejecución (dirección predeterminada: http://127.0.0.1:8188) Dirección de instalación de ComfyUI

Uso en clientes como Cherry Studio, Cline, Cursor, etc.

Configuración del servicio MCP con uvx
{
  "mcpServers": {
    "hh-mcp-comfyui": {
      "command": "uvx",
      "args": [
        "hh-mcp-comfyui@latest"
      ],
      "env": {
        "COMFYUI_API_BASE": "http://127.0.0.1:8188",
        "COMFYUI_WORKFLOWS_DIR": "/path/hh-mcp-comfyui/workflows"
      }
    }
  }
}
Configuración del servicio MCP con pip

Primero debe ejecutar en la ventana de comandos: pip install hh_mcp_comfyui

{
  "mcpServers": {
    "hh-mcp-comfyui": {
      "command": "python",
      "args": [
        "-m",
        "hh_mcp_comfyui"
      ],
      "env": {
        "COMFYUI_API_BASE": "http://127.0.0.1:8188",
        "COMFYUI_WORKFLOWS_DIR": "/path/hh-mcp-comfyui/workflows"
      }
    }
  }
}
Configuración del servicio MCP con docker

Requisito previo: tener docker instalado

{
  "mcpServers": {
    "hh-mcp-comfyui": {
      "command": "docker",
      "args": [
          "run",
          "--net=host",
          "-v",
          "/path/hh-mcp-comfyui/workflows:/app/workflows",
          "-i",
          "--rm",
          "zjf2671/hh-mcp-comfyui:latest"
      ],
      "env": {
        "COMFYUI_API_BASE": "http://127.0.0.1:8188"
      }
    }
  }
}

Copiar flujos de trabajo de ejemplo al directorio de flujos de trabajo especificado:

(Nota: use los métodos uvx o pip a continuación para encontrar la ubicación de su directorio de flujos de trabajo instalado, agregue los flujos de trabajo de ejemplo y reinicie su servicio MCP)

  • uvx

    $ uvx hh-mcp-comfyui
    

    image-2-f89caf964efbccdad7b6fa2672d1cac0.png

  • pip

    #首先安装依赖
    $ pip install hh_mcp_comfyui
    $ python -m hh_mcp_comfyui
    

    image-3-03a069f40492fea9947a351b8707aa3f.png

Pruebas

Use MCP Inspector para probar las herramientas del servidor

  • Método uvx
    $ npx @modelcontextprotocol/inspector uvx hh-mcp-comfyui
    
  • Método pip
    $ pip install hh_mcp_comfyui
    $ npx @modelcontextprotocol/inspector python -m hh_mcp_comfyui
    
  • Método docker
    $ npx @modelcontextprotocol/inspector docker run --net=host -i --rm zjf2671/hh-mcp-comfyui
    

Luego haga clic en conectar como se muestra en la imagen para depurar: image-1-44c6a003ee317093afe5a61cfe028720.png

Notas de uso (especialmente para quienes no han usado ComfyUI)

  • El flujo de trabajo predeterminado es t2image_bizyair_flux
  • Las dimensiones de imagen predeterminadas son 1024x1024
  • Al iniciar el servicio, se cargan automáticamente todos los archivos de flujo de trabajo JSON del directorio workflows
  • Si usa los flujos de trabajo de ejemplo de este proyecto, debe descargar un complemento en ComfyUI. Para más detalles, consulte: Tutorial de instalación del complemento para flujos de trabajo de ejemplo
  • Si usa sus flujos de trabajo locales de ComfyUI, primero asegúrese de que funcionen correctamente en ComfyUI, luego exporte el formato JSON (API) y colóquelo en su directorio local /path/hh_mcp_comfyui/workflows

Agregar un nuevo flujo de trabajo

  1. Coloque el archivo JSON del flujo de trabajo en el directorio /path/hh_mcp_comfyui/workflows

    Si usa los métodos de inicio uvx o pip, consulte la sección anterior 《Copiar flujos de trabajo de ejemplo al directorio de flujos de trabajo especificado》

  2. Reinicie el servicio para cargar automáticamente el nuevo flujo de trabajo

Desarrollo

Estructura del proyecto

.
├── .gitignore
├── .python-version
├── pyproject.toml
├── README.md
├── uv.lock
├── example/              # 示例工作流目录
│   └── workflows/
│       ├── i2image_bizyair_sdxl.json
│       ├── t2image_bizyair_flux.json
│       ├── i2image_cogview4.json
│       └── t2image_sd1.5.json
├── src/                  # 源代码目录
│   └── hh_mcp_comfyui/
│       ├── comfyui_client.py    # ComfyUI客户端实现
│       ├── server.py            # MCP服务主文件
│       └── workflows/           # 工作流文件目录

Inicializar el entorno de desarrollo del proyecto:

# Clone the repository.
$ git clone https://github.com/zjf2671/hh-mcp-comfyui.git

$ cd hh-mcp-comfyui

# Initialized venv
$ uv venv

# Activate the virtual environment.
$ .venv\Scripts\activate

# Install dependencies.
$ uv lock
Resolved 30 packages in 1ms

# sync dependencies.
$ uv sync
Resolved 30 packages in 2.54s
Audited 29 package in 0.02ms

Verificar que el servicio funcione correctamente

$ uv --directory 你本地安装目录/hh-mcp-comfyui run hh-mcp-comfyui

INFO:__main__:Scanning for workflows in: D:\cygitproject\hh-mcp-comfyui\src\hh_mcp_comfyui\workflows
INFO:__main__:Registered resource: workflow://t2image_bizyair_flux -> t2image_bizyair_flux.json
INFO:__main__:Starting ComfyUI MCP Server...

Usar MCP Inspector para probar las herramientas del servidor

$ npx @modelcontextprotocol/inspector uv --directory 你本地安装目录/hh-mcp-comfyui run hh-mcp-comfyui

Configuración de MCP

{
  "mcpServers": {
    "hh-mcp-comfyui": {
      "command": "uv",
      "args": [
        "--directory",
        "项目绝对路径(例如:D:/hh-mcp-comfyui)",
        "run",
        "hh-mcp-comfyui"
      ],
      "env": {
        "COMFYUI_API_BASE": "http://127.0.0.1:8188",
        "COMFYUI_WORKFLOWS_DIR": "/path/hh-mcp-comfyui/workflows"
      }
    }
  }
}

Contribuciones

  1. Haga un fork del proyecto
  2. Cree una rama de características (git checkout -b feature/AmazingFeature)
  3. Confirme los cambios (git commit -m 'Add some AmazingFeature')
  4. Envíe la rama (git push origin feature/AmazingFeature)
  5. Abra un Pull Request

Si tiene problemas, puede contactarme en la cuenta pública:

公众号二维码

👆 Escanee para seguir, ¡descubra más cosas interesantes!