Skip to main content
Glama

comfyui-mcp

MCP-сервер для ComfyUI. Генерируйте изображения по текстовым запросам с помощью любого MCP-совместимого клиента.

Часть серии MCP-серверов.

GitHub Sponsors Ko-fi

Статус

v0.2 — основные инструменты, а также апскейл, проксирование изображений и поддержка публичных URL. Инструменты: generate_image, generate_variations, generate_with_workflow, refine_image, upscale_image, list_models, list_workflows, upload_image. См. дорожную карту для ознакомления с планами.

Установка

npx (установка не требуется)

npx @miller-joe/comfyui-mcp --comfyui-url http://your-comfyui-host:8188

npm

npm install -g @miller-joe/comfyui-mcp
comfyui-mcp --comfyui-url http://your-comfyui-host:8188

Docker

docker run -p 9100:9100 \
  -e COMFYUI_URL=http://your-comfyui-host:8188 \
  ghcr.io/miller-joe/comfyui-mcp:latest

Подключение MCP-клиента

Пример — Claude Code:

claude mcp add --transport http comfyui http://localhost:9100/mcp

Или зарегистрируйте потоковый HTTP-эндпоинт в MCP-шлюзе (например, MetaMCP) для агрегации с другими серверами.

Конфигурация

Все параметры можно задать через флаги CLI или переменные окружения:

Флаг CLI

Переменная окружения

По умолчанию

Описание

--host

MCP_HOST

0.0.0.0

Хост для привязки

--port

MCP_PORT

9100

Порт для привязки

--comfyui-url

COMFYUI_URL

http://127.0.0.1:8188

HTTP URL ComfyUI (используется сервером для вызова ComfyUI)

--comfyui-public-url

COMFYUI_PUBLIC_URL

(как --comfyui-url)

Внешне доступный URL, используемый в ссылках на изображения, возвращаемых MCP-клиентам. Установите его, если внутренний URL недоступен для клиентов (часто встречается в сетях Docker).

COMFYUI_DEFAULT_CKPT

sd_xl_base_1.0.safetensors

Имя файла чекпоинта по умолчанию

URL изображений, возвращаемые клиентам

Инструменты генерации возвращают URL изображений вида <comfyui-public-url>/view?filename=…. Если --comfyui-public-url не задан, используются значения внутреннего --comfyui-url.

Сервер также предоставляет прокси-эндпоинт: GET /images/<filename>?subfolder=&type=output передает байты изображения через MCP-сервер — это полезно, когда клиенты могут подключиться к MCP-серверу, но не напрямую к ComfyUI.

Чекпоинт по умолчанию должен соответствовать файлу, установленному в директории models/checkpoints/ вашего ComfyUI. Переопределите его через COMFYUI_DEFAULT_CKPT или передайте checkpoint в качестве аргумента инструмента.

Инструменты

generate_image

Генерация изображения по текстовому запросу с использованием стандартного рабочего процесса txt2img в ComfyUI.

Параметры: prompt (обязательно), negative_prompt, width, height, steps, cfg, seed, checkpoint.

generate_variations

Генерация нескольких вариаций одного и того же запроса путем изменения сида (seed). Возвращает все изображения сразу.

Параметры: prompt (обязательно), count (2–16, по умолчанию 4), плюс те же параметры генерации, что и в generate_image, с использованием base_seed вместо seed.

generate_with_workflow

Отправка произвольного JSON-файла рабочего процесса ComfyUI (полный граф узлов) и получение URL результирующих изображений. Используйте это для пользовательских рабочих процессов — ControlNet, апскейлинг или любые другие, экспортированные из Save (API Format) в ComfyUI.

Параметр: workflow (объект) — полный граф узлов.

refine_image

Запуск img2img для исходного изображения: загружает изображение по URL, отправляет его в ComfyUI и выполняет проход шумоподавления (denoising) на основе нового запроса. Низкое значение denoise сохраняет больше оригинала; высокое дает запросу больше свободы.

Параметры: prompt, source_image_url (обязательно), denoise (0–1, по умолчанию 0.5), плюс стандартные параметры генерации.

list_models

Список доступных чекпоинтов, LoRA, семплеров или планировщиков (schedulers) в экземпляре ComfyUI.

Параметр: kind — один из checkpoints (по умолчанию), loras, samplers, schedulers.

list_workflows

Список встроенных шаблонов рабочих процессов, поставляемых с этим сервером (в настоящее время txt2img, img2img).

upload_image

Загрузка эталонного изображения в ComfyUI для использования в рабочих процессах img2img, ControlNet или IP-Adapter.

Параметры: source_url или image_base64 (один из них обязателен), filename (необязательно), overwrite (по умолчанию false).

Возвращает: сохраненное имя файла, которое можно использовать в качестве входных данных image в узлах рабочего процесса, таких как LoadImage.

generate_with_controlnet

Генерация изображения, обусловленного предварительно обработанным изображением ControlNet (скелет позы, карта глубины, края Canny, карта нормалей и т. д.) плюс текстовый запрос.

Параметры: prompt, control_image_url (предварительно обработанное изображение — этот инструмент не запускает препроцессоры), controlnet_model (имя файла из models/controlnet/), strength (0–2, по умолчанию 1), start_percent / end_percent (0–1, когда CN активен во время семплирования), плюс стандартные параметры генерации.

Требуется модель ControlNet, установленная в директории models/controlnet/ вашего ComfyUI.

generate_with_ip_adapter

Генерация изображения с использованием эталонного изображения в качестве визуального руководства (стиль/объект) через IP-Adapter.

Параметры: prompt, reference_image_url, preset (например, "STANDARD (medium strength)", "PLUS FACE (portraits)", "VIT-G (medium strength)"), weight (0–3, по умолчанию 1), start_at / end_at (0–1), плюс стандартные параметры генерации.

Требуется пакет пользовательских узлов ComfyUI-IPAdapter-plus, а также соответствующие веса IPAdapter и модели CLIP Vision для пресета.

Реестр шаблонов рабочих процессов

Сохраняйте сложные JSON-файлы рабочих процессов один раз и запускайте их по имени позже. Шаблоны хранятся на диске в --templates-dir (по умолчанию ~/.config/comfyui-mcp/templates/<name>.json), поэтому они сохраняются после перезагрузки и переносимы между MCP-клиентами.

Инструмент

Описание

save_workflow_template

Сохранить JSON рабочего процесса под заданным именем. overwrite=true для замены.

list_workflow_templates

Список сохраненных шаблонов с описаниями и временем последнего обновления.

get_workflow_template

Получить JSON + метаданные сохраненного шаблона.

delete_workflow_template

Удалить сохраненный шаблон.

run_workflow_template

Запустить сохраненный шаблон в ComfyUI и вернуть URL изображений.

Имена шаблонов должны начинаться с буквенно-цифровых символов; a-z, A-Z, 0-9, -, _; макс. 64 символа.

Формат возврата

Все инструменты генерации возвращают URL изображений, обслуживаемые непосредственно экземпляром ComfyUI (http://<comfyui>/view?filename=…). Эти URL можно передавать напрямую любому клиенту, который принимает URL изображений.

Архитектура

┌────────────────┐     ┌──────────────────┐     ┌──────────────┐
│  MCP client    │────▶│  comfyui-mcp     │────▶│  ComfyUI     │
│  (Claude, etc.)│◀────│  (this server)   │◀────│  instance    │
└────────────────┘     └──────────────────┘     └──────────────┘
     streamable HTTP        HTTP REST + poll

Сервер не имеет состояния. Один запрос MCP → отправка рабочего процесса в ComfyUI → опрос /history/{id} до завершения → возврат URL изображений.

Разработка

git clone https://github.com/miller-joe/comfyui-mcp
cd comfyui-mcp
npm install
npm run dev       # hot-reload via tsx watch
npm run build     # compile TS to dist/
npm run typecheck # strict type checking

Требуется Node 20+.

Дорожная карта

  • [x] generate_image — текст в изображение со стандартным рабочим процессом

  • [x] generate_with_workflow — отправка произвольных рабочих процессов

  • [x] list_models / list_workflows

  • [x] upload_image — эталонные изображения для img2img / ControlNet / IP-Adapter

  • [x] generate_variations — пакетные вариации запроса

  • [x] refine_image — уточнение img2img из исходного URL

  • [x] upscale_image — апскейл моделями типа ESRGAN/SwinIR

  • [x] Прокси-эндпоинт изображений (/images/<filename>) для клиентов, которые не могут подключиться к ComfyUI

  • [x] Настраиваемый публичный URL для корректных внешних ссылок на изображения

  • [x] Реестр шаблонов рабочих процессов: save_workflow_template, list_workflow_templates, get_workflow_template, delete_workflow_template, run_workflow_template

  • [x] Помощник рабочего процесса ControlNet: generate_with_controlnet (требуются модели ControlNet на стороне ComfyUI)

  • [x] Помощник рабочего процесса IP-Adapter: generate_with_ip_adapter (требуется пакет ComfyUI-IPAdapter-plus)

  • [ ] События прогресса WebSocket для длительных генераций

Лицензия

MIT © Joe Miller

Поддержка

Если этот инструмент экономит ваше время, рассмотрите возможность поддержки разработки:

GitHub Sponsors Ko-fi

Каждый вклад финансирует обслуживание, документацию и следующий релиз в серии MCP-серверов.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/miller-joe/comfyui-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server