ComfyUI MCP Server for .NET

Give an AI agent access to ComfyUI generation, workflows, installed models,
recent assets, and job controls through the Model Context Protocol.
Quickstart
1. Install .NET 10
Install the .NET 10 SDK.
The SDK includes dnx, which downloads and runs the pinned NuGet package
without a permanent installation.
Start ComfyUI normally and leave it available at http://localhost:8188.
2. Paste the server configuration
Add this server to your MCP configuration:
{
"mcpServers": {
"comfyui": {
"command": "dnx",
"args": [
"ComfyUi.Mcp@0.0.1-preview5",
"--yes",
"--",
"--stdio"
]
}
}
}
See MCP client configuration for a complete
configuration and copy-paste alternatives, including connecting to ComfyUI at
another URL.
Some clients call the top-level property servers instead of mcpServers.
Restart or refresh the MCP client after saving the configuration.
3. Let your agent finish setup
Ask:
Run setup_guide() and help me configure ComfyUI MCP.
The guide discovers installed models and bundled workflow families, then helps
the agent choose workflows and create reusable defaults. The server can start
while ComfyUI is offline, but model discovery and generation require ComfyUI to
be running.
Setup guide
For a more deliberate first setup, ask your agent to:
- Run
setup_guide().
- Run
workflow_list() and show workflows that match your installed models.
- Run
family_list() and family_model_list() to check model associations.
- Run
workflow_options_show() before the first execution.
- Save any defaults you approve with
workflow_config_set().
- Generate a small test image and display it with
image_show().
Workflow JSON defines the available parameters. Optional YAML layers provide
reusable family, workflow, and model defaults. Tool-call values always have the
highest precedence. See Configuration for the complete
model.
Features and usage
Families
Families group compatible installed models and enable random selection.
family_list() discovers configured families.
family_model_list() shows installed members.
family_model_add() and family_model_remove() maintain exact membership.
Try asking: “Show my configured families and which installed models belong to
each one.”
Workflows
Bundled workflows cover image, audio, video, editing, upscaling, interpolation,
and text generation.
workflow_list() discovers workflow IDs.
workflow_options_show() resolves inputs, defaults, and allowed values.
workflow_execute() runs any parameterized workflow.
workflow_config_set() saves reusable defaults.
Try asking: “List the workflows I can run, then explain the options for the
best text-to-image workflow.”
Models
model_list() reads the current checkpoint and diffusion-model inventory
directly from ComfyUI. Exact model requests must use the returned filename,
including its extension.
Try asking: “List my installed models and recommend compatible workflow
families without inventing filenames.”
Assets
Generated outputs and their provenance are stored in a bounded SQLite registry
that survives MCP server restarts.
asset_list() and asset_show() inspect recent outputs.
generation_show() follows durable event-driven generation state.
image_show() renders an image in the conversation.
asset_regenerate() reuses a submitted workflow with new parameters.
asset_publish_info() and asset_publish() copy outputs into a project.
Try asking: “Show my five most recent assets and display the newest image.”
ComfyUI
The server can upload inputs and manage ComfyUI jobs directly.
comfy_media_upload() stages image, audio, or video inputs.
comfy_queue_status_show() reports running and pending jobs.
comfy_job_show() reads local state for a prompt submitted by this server.
comfy_job_cancel() cancels queued or running work.
Try asking: “Show the ComfyUI queue and explain what is currently running.”
How-to guides
Tips and tricks
Pick a random model from a family
Ask the agent to call family_model_list() first, then use
model_strategy: random with the chosen family:
{
"prompt": "A cinematic city at dusk",
"workflow_id": "image_krea2_turbo_t2i",
"family": "krea2-turbo",
"model_strategy": "random",
"aspect_ratio": "16:9"
}
The server selects only from installed models associated with that family.
Add readme() to your system prompt
The readme() tool returns compact operating instructions for agents, including
workflow discovery, exact model selection, media upload, and image display.
Call it once and add the returned text to your agent's system prompt or
persistent project instructions. read_skill() is an alias.
More documentation
Self-contained Windows, Linux, and macOS archives are attached to each
GitHub release.
Acknowledgements
Ported technical requirements from
artokun/comfyui-mcp. Thank you!