
comfyui mcp server
lightweight Python-based MCP (Model Context Protocol) server for local ComfyUI
Repository Info
About This Server
lightweight Python-based MCP (Model Context Protocol) server for local ComfyUI
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
ComfyUI MCP Server
A lightweight Python-based MCP (Model Context Protocol) server that interfaces with a local ComfyUI instance to generate images programmatically via AI agent requests.
Overview
This project enables AI agents to send image generation requests to ComfyUI using the MCP protocol over WebSocket. It supports:
- Flexible workflow selection (e.g.,
basic_api_test.json). - Dynamic parameters:
prompt,width,height, andmodel. - Returns image URLs served by ComfyUI.
Prerequisites
- Python 3.10+
- ComfyUI: Installed and running locally (e.g., on
localhost:8188). - Dependencies:
requests,websockets,mcp(install via pip).
Setup
-
Clone the Repository: git clone
-
Install Dependencies:
pip install requests websockets mcp
-
Start ComfyUI:
- Install ComfyUI (see ComfyUI docs).
- Run it on port 8188:
cd <ComfyUI_dir> python main.py --port 8188
- Prepare Workflows:
- Place API-format workflow files (e.g.,
basic_api_test.json) in theworkflows/directory. - Export workflows from ComfyUI’s UI with “Save (API Format)” (enable dev mode in settings).
Usage
- Run the MCP Server: python server.py
- Listens on
ws://localhost:9000.
- Test with the Client: python client.py
- Sends a sample request:
"a dog wearing sunglasses"with512x512usingsd_xl_base_1.0.safetensors. - Output example:
Response from server: { "image_url": "http://localhost:8188/view?filename=ComfyUI_00001_.png&subfolder=&type=output" }
- Custom Requests:
- Modify
client.py’spayloadto changeprompt,width,height,workflow_id, ormodel. - Example:
"params": json.dumps({ "prompt": "a cat in space", "width": 768, "height": 768, "workflow_id": "basic_api_test", "model": "v1-5-pruned-emaonly.ckpt" })
Project Structure
server.py: MCP server with WebSocket transport and lifecycle support.comfyui_client.py: Interfaces with ComfyUI’s API, handles workflow queuing.client.py: Test client for sending MCP requests.workflows/: Directory for API-format workflow JSON files.
Notes
- Ensure your chosen
model(e.g.,v1-5-pruned-emaonly.ckpt) exists in<ComfyUI_dir>/models/checkpoints/. - The MCP SDK lacks native WebSocket transport; this uses a custom implementation.
- For custom workflows, adjust node IDs in
comfyui_client.py’sDEFAULT_MAPPINGif needed.
Contributing
Feel free to submit issues or PRs to enhance flexibility (e.g., dynamic node mapping, progress streaming).
License
Apache License
Quick Start
Clone the repository
git clone https://github.com/joenorton/comfyui-mcp-serverInstall dependencies
cd comfyui-mcp-server
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.