comfyui-mcp
comfyui-mcp
MCP-сервер для ComfyUI. Генерируйте изображения по текстовым запросам с помощью любого MCP-совместимого клиента.
Часть серии MCP-серверов.
Статус
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:8188npm
npm install -g @miller-joe/comfyui-mcp
comfyui-mcp --comfyui-url http://your-comfyui-host:8188Docker
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 | Переменная окружения | По умолчанию | Описание |
|
|
| Хост для привязки |
|
|
| Порт для привязки |
|
|
| HTTP URL ComfyUI (используется сервером для вызова ComfyUI) |
|
| (как | Внешне доступный URL, используемый в ссылках на изображения, возвращаемых MCP-клиентам. Установите его, если внутренний URL недоступен для клиентов (часто встречается в сетях Docker). |
— |
|
| Имя файла чекпоинта по умолчанию |
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-клиентами.
Инструмент | Описание |
| Сохранить JSON рабочего процесса под заданным именем. |
| Список сохраненных шаблонов с описаниями и временем последнего обновления. |
| Получить JSON + метаданные сохраненного шаблона. |
| Удалить сохраненный шаблон. |
| Запустить сохраненный шаблон в 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
Поддержка
Если этот инструмент экономит ваше время, рассмотрите возможность поддержки разработки:
Каждый вклад финансирует обслуживание, документацию и следующий релиз в серии MCP-серверов.
This server cannot be installed
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