Skip to main content
Glama
jaijia

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