comfyui-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@comfyui-mcpgenerate an image of a serene lake at sunset"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ComfyUI OpenAI/FAL-Compatible Images API
A single-container, multi-protocol image-generation backend backed by ComfyUI. The container starts ComfyUI on the first generation request, keeps it alive while you use it, and cold-stops it after an idle timeout so GPU memory is freed when nothing is generating.
Supported protocols:
OpenAI-compatible —
POST /v1/images/generations,GET /v1/modelsFAL.ai-compatible —
POST /fal/run/{model_id},POST /fal/queue/{model_id},GET /fal/queue/{model_id}/requests/{request_id}/statusWrapper native —
POST /generate,GET /health,GET /status,POST /stop
Generated images are persisted under ComfyUI/output and served at /outputs/{filename}, so response_format: url and FAL-style responses return real URLs.
Endpoints
OpenAI-compatible
POST /v1/images/generations accepts the standard OpenAI request shape:
{
"prompt": "a photo of an astronaut riding a horse on the moon",
"n": 1,
"size": "512x512",
"response_format": "b64_json"
}Supported parameters:
prompt(required)n(1–4, default 1)size—"WIDTHxHEIGHT", e.g."512x512"(default),"1024x1024"response_format—"b64_json"(default) or"url"model— accepted but currently informationalquality,style,user— accepted but ignoredComfyUI overrides:
negative_prompt,width,height,steps,cfg,seed
FAL.ai-compatible
POST /fal/run/{model_id} accepts a FAL-style payload:
{
"prompt": "a serene mountain landscape with cherry blossoms",
"image_size": "landscape_16_9",
"num_images": 1,
"seed": 42
}Supported fields:
prompt(required)negative_promptimage_size— e.g.square_hd,landscape_16_9,portrait_16_9aspect_ratio— e.g.1:1,16:9,9:16width/height(override size/aspect)num_inference_steps→ mapped to ComfyUI stepsguidance_scale→ mapped to ComfyUI cfgseednum_images(1–4)image_url/reference_image_urls— rejected with a clear error (editing is not supported)
Response shape mirrors FAL:
{
"images": [
{
"url": "http://192.168.2.51:8002/outputs/abc123.png",
"width": 1536,
"height": 1024,
"content_type": "image/png"
}
],
"prompt": "a serene mountain landscape with cherry blossoms",
"seed": 42,
"has_nsfw_concepts": [false]
}Related MCP server: comfyui-mcp
Running the container
cd wrapper
# place v1-5-pruned-emaonly.safetensors in this directory first
docker compose up -d --buildThe API is exposed on port 8002 (ComfyUI direct is on 8190).
Environment variables
Variable | Default | Description |
|
| Seconds of inactivity before ComfyUI is stopped |
|
| Internal ComfyUI port |
|
| Internal API port |
| (request base URL) | Base URL used for generated image links, e.g. |
| (none) | Optional Bearer token required on OpenAI endpoints |
|
| Model id advertised by |
Using with Hermes
Hermes supports FAL.ai as a backend. Point Hermes at this container by making fal.run / queue.fal.run resolve to http://192.168.2.51:8002. The easiest way is to add a local DNS or proxy rule, or set the FAL client base URL if Hermes/FAL's SDK exposes one.
Set FAL_KEY to any non-empty dummy value in Hermes config, pick any FAL model id (e.g. fal-ai/flux-2/klein/9b), and generation requests will be handled by your local ComfyUI backend.
Example requests
OpenAI:
curl -X POST http://127.0.0.1:8002/v1/images/generations \
-H "Content-Type: application/json" \
-d '{
"prompt": "a photo of an astronaut riding a horse on the moon",
"size": "512x512",
"response_format": "b64_json"
}'FAL:
curl -X POST http://127.0.0.1:8002/fal/run/fal-ai/flux-2/klein/9b \
-H "Content-Type: application/json" \
-d '{
"prompt": "a serene mountain landscape with cherry blossoms",
"image_size": "landscape_16_9"
}'Cold-start behavior
The first request after the wrapper has been idle will trigger a ComfyUI startup. The API server waits for ComfyUI to start and generate the image, so the client may observe a longer response time on the first call. Subsequent calls are fast until the idle timeout elapses and ComfyUI is stopped again.
This server cannot be installed
Maintenance
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/SwayamJoshi87/comfyui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server