Comfyui MCP Server Node
MCP server that bridges AI agents to local ComfyUI instance
Ask AI about Comfyui MCP Server Node
Powered by Claude Β· Grounded in docs
I know everything about Comfyui MCP Server Node. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
comfyui-mcp-server-node
This is improved node.js version of Joe Norton's python project (https://github.com/joenorton/comfyui-mcp-server).
A lightweight MCP (Model Context Protocol) server that bridges AI agents (like Cursor, Claude, etc.) with a local ComfyUI instance. It enables AI agents to generate and iteratively refine images, audio, and video through conversational tool calls.
Features
- Image Generation: Generate images using Stable Diffusion through ComfyUI
- Audio Generation: Generate audio/music using AceStep workflow
- Workflow System: PARAM_* placeholder system for easy workflow customization
- Asset Management: Track, view, and manage generated assets
- Job Management: Monitor queue, check job status, cancel jobs
- Configuration: List available models
Quick Start
Option 1: Via npx (for MCP clients)
No local clone needed. Add to your MCP client configuration (Cursor, Claude, etc.):
"comfyui": {
"command": "npx",
"args": ["-y", "comfyui-mcp-server-node"],
"env": {
"COMFYUI_URL": "http://localhost:8188",
"COMFY_MCP_WORKFLOW_DIR": "/path/to/workflows",
"COMFY_MCP_ASSET_TTL_HOURS": "24"
}
}
Note: ComfyUI must be running at
COMFYUI_URLbefore the MCP client connects.
Option 2: Local development
git clone https://github.com/yar3333/comfyui-mcp-server-node.git
cd comfyui-mcp-server-node
npm install
npm run build
Then start:
| Command | Mode |
|---|---|
npm start | stdio (for MCP clients) |
npm run dev | stdio with ts-node |
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
COMFYUI_URL | ComfyUI base URL | http://localhost:8188 |
COMFY_MCP_WORKFLOW_DIR | Path to workflow directory | ./workflows |
COMFY_MCP_ASSET_TTL_HOURS | Asset time-to-live in hours | 24 |
API Tools
Generation Tools
| Tool | Description |
|---|---|
<workflows> | Available workflows automatically published as tools |
regenerate | Regenerate a previously generated asset |
Viewing Tools
| Tool | Description |
|---|---|
view_image | View a generated image inline in chat |
Job Management Tools
| Tool | Description |
|---|---|
get_queue_status | Get current queue status from ComfyUI |
get_job | Get job status by prompt_id |
wait_for_job | Wait for a job to complete with timeout |
list_assets | List generated assets with optional filtering |
get_asset_metadata | Get full metadata for a specific asset |
cancel_job | Cancel a running job by prompt_id |
Configuration Tools
| Tool | Description |
|---|---|
list_checkpoint_models | List available checkpoint models from ComfyUI |
list_unet_models | List available UNet models in standard (safetensors) format |
list_unet_gguf_models | List available UNet models in GGUF format |
Workflow Tools
| Tool | Description |
|---|---|
list_workflows | List available workflows in the workflow directory |
run_workflow | Run a specific workflow with parameter overrides |
Workflow System
Workflows are stored as JSON files in the workflows/ directory. The system automatically discovers workflows and exposes them as MCP tools. Parameters are defined using the PARAM_* placeholder system:
PARAM_INT_SEED- Integer parameter for seedPARAM_FLOAT_CFG- Float parameter for CFG scalePARAM_STR_SAMPLER_NAME- String parameter for sampler namePARAM_PROMPT- String parameter for prompt
Test
Prerequisites: ComfyUI running at http://localhost:8188, server built and started.
# Run the test client
npx ts-node test_client.ts
# With custom prompt
npx ts-node test_client.ts -p "a beautiful sunset over mountains"
# Run unit tests
npm test
Project Structure
comfyui-mcp-server-node/
βββ src/
β βββ comfyui_client.ts # HTTP client for ComfyUI API
β βββ asset_processor.ts # Image processing utilities
β βββ server.ts # Main entry point
β βββ models/ # Data models
β β βββ asset.ts
β β βββ workflow.ts
β βββ managers/ # Manager classes
β β βββ workflow_manager.ts
β β βββ asset_registry.ts
β βββ tools/ # MCP tool implementations
β βββ helpers.ts
β βββ generation.ts
β βββ asset.ts
β βββ job.ts
β βββ configuration.ts
β βββ workflow.ts
βββ workflows/ # Workflow JSON files
βββ test_client.ts # Test client
βββ package.json
βββ tsconfig.json
βββ README.md
Changelog
v2.x.x
- add
list_checkpoint_modelstool - add
list_unet_modelstool - add
list_unet_gguf_modelstool - remove http mode (stdio looks enough)
- remove
list_modelstool - remove publish system (caused confusion for AI agents; use custom output node instead)
- remove default parameters (caused confusion for AI agents; use regular PARAM_* instead)
- remove output folder setting (use custom output node instead; for example: https://gist.github.com/kevinjwesley-Collab/a548ee5e6244ebf905f0669e1d7d4958)
v1.x.x
- add
wait_for_jobtool
License
MIT
