Skip to content

feat(mcp): add ComfyUI MCP server image - #43

Merged
ductiletoaster merged 3 commits into
mainfrom
feat/mcp-server
May 2, 2026
Merged

feat(mcp): add ComfyUI MCP server image#43
ductiletoaster merged 3 commits into
mainfrom
feat/mcp-server

Conversation

@ductiletoaster

Copy link
Copy Markdown
Member

Summary

Adds a standalone Docker image for joenorton/comfyui-mcp-server — an HTTP MCP server that bridges AI agents to ComfyUI via the Model Context Protocol.

What's included

  • services/mcp/dockerfile.comfy.mcp — standalone Python 3.12 image (not runtime-based); clones comfyui-mcp-server@v1.1.1 and patches the FastMCP constructor to bind 0.0.0.0 (required for container networking — upstream defaults to 127.0.0.1)
  • docker-bake.hcl — new mcp target + mcp group; added to the all group
  • .github/workflows/ci.ymltest-bake-targets validates the mcp target

Image details

Property Value
Base python:3.12-slim
Upstream joenorton/comfyui-mcp-server@v1.1.1 (Apache-2.0)
Port 9000
Transport Streamable HTTP (/mcp)
Published as ghcr.io/pixeloven/comfyui/mcp:latest

Usage

# Kubernetes deployment env
- name: COMFYUI_URL
  value: "http://comfyui.comfyui.svc.cluster.local:8188"
# Local test
docker run --rm -p 9000:9000 -e COMFYUI_URL=http://host.docker.internal:8188 \
  ghcr.io/pixeloven/comfyui/mcp:latest

Source patch note

The upstream server.py calls FastMCP("...", port=9000) which defaults host="127.0.0.1". FastMCP passes this as an explicit kwarg to its pydantic-settings Settings, meaning the FASTMCP_HOST env var is ignored. A one-line sed patch changes port=9000,port=9000, host="0.0.0.0", in the Dockerfile — zero Harmony application logic.

This was validated end-to-end in ductiletoaster/harmony before creating this PR (deployed to Kubernetes, confirmed Uvicorn running on http://0.0.0.0:9000).

🤖 Generated with Claude Code

@ductiletoaster
ductiletoaster merged commit f7a6d76 into main May 2, 2026
4 checks passed
@ductiletoaster
ductiletoaster deleted the feat/mcp-server branch May 2, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant