Comfy Pilot - OpenCode Edition
by jaijia
README.md
# Comfy Pilot - OpenCode Edition
MCP server that lets OpenCode (or any MCP-compatible AI coding tool) directly control ComfyUI for AI image generation.
> Forked from [ConstantineB6/comfy-pilot](https://github.com/ConstantineB6/comfy-pilot) and adapted for OpenCode compatibility.
## What this does
Instead of manually clicking nodes in ComfyUI, you just tell your AI agent:
- "Generate a 1920x1080 background of a dystopian room"
- "Create a character sprite with 3 expression variants"
- "Download this model and set up a workflow for it"
The agent uses MCP tools to manipulate your ComfyUI workflow, set prompts, and run generations — all programmatically.
## Features
| Tool | Description |
|---|---|
| `get_workflow` | Get the full current workflow |
| `summarize_workflow` | Human-readable workflow summary |
| `get_node_types` | Search available node types |
| `get_node_info` | Get detailed info about a node |
| `get_status` | Queue status and system info |
| `run` | Run the workflow / interrupt |
| `edit_graph` | Batch create, delete, move, connect nodes |
| `view_image` | View outputs from image nodes |
| `search_custom_nodes` | Search ComfyUI Manager registry |
| `install_custom_node` | Install a custom node |
| `uninstall_custom_node` | Uninstall a custom node |
| `update_custom_node` | Update a custom node |
| `download_model` | Download models from HF/CivitAI/URLs |
## Quick Start
### 1. Install dependencies
```bash
pip install mcp httpx
```
### 2. Start ComfyUI
Make sure ComfyUI is running on `http://localhost:8188`.
### 3. Configure OpenCode
Add to `~/.config/opencode/opencode.jsonc`:
```json
{
"mcp": {
"comfyui": {
"type": "local",
"command": ["python", "C:\\path\\to\\mcp_server.py"],
"enabled": true
}
}
}
```
Or for Claude Code (`~/.claude/settings.json`):
```json
{
"mcpServers": {
"comfyui": {
"command": "python",
"args": ["/path/to/mcp_server.py"]
}
}
}
```
### 4. Restart your AI tool
Restart OpenCode or Claude Code to pick up the new MCP server.
### 5. Start generating
Once connected, you can just talk naturally:
```
"Load the Counterfeit model, set prompt to a dark sci-fi room, 1920x1080, and run it."
```
## Requirements
- Python 3.8+
- ComfyUI (running on `localhost:8188`)
- An MCP-compatible client (OpenCode, Claude Code, etc.)
## How it works
```
┌──────────────┐ stdio/MCP ┌──────────────┐ HTTP REST ┌──────────┐
│ OpenCode │ ◄──────────────────────►│ MCP Server │ ◄────────────────────►│ ComfyUI │
│ (AI Agent) │ command/prompt │ (Python) │ localhost:8188 │ (Server) │
└──────────────┘ └──────────────┘ └──────────┘
```
The MCP server translates natural language commands from the AI agent into ComfyUI API calls, then streams results back.
## License
MIT — see [LICENSE](LICENSE)
## Credits
Original project: [ConstantineB6/comfy-pilot](https://github.com/ConstantineB6/comfy-pilot)
TDQS
A3.9/5.0
Scored across 14 tools
Disambiguation5/5
Each tool serves a distinct purpose: workflow editing, node inspection, custom node management, model downloading, execution, and image viewing. There is no overlap or ambiguity.
Naming Consistency5/5
All tool names follow a consistent lowercase verb_noun pattern (e.g., download_model, get_workflow, search_custom_nodes), with clear verbs indicating the action.
Tool Count5/5
14 tools is well-scoped for a ComfyUI interface, covering essential operations like editing, custom node management, model downloading, and execution without being excessive.
Completeness4/5
The tool set covers core workflows (edit, run, view) and custom node lifecycle, but lacks explicit workflow save/load and queue management, which are minor gaps.
Maintenance
ActivityStale
ResponsivenessNo issues