Skip to content

feat(mcp): add Comfy Cloud to the MCP catalog (remote HTTP + native OAuth 2.1) - #57308

Closed
mattmillerai wants to merge 1 commit into
NousResearch:mainfrom
mattmillerai:feat/comfy-cloud-mcp-catalog
Closed

feat(mcp): add Comfy Cloud to the MCP catalog (remote HTTP + native OAuth 2.1)#57308
mattmillerai wants to merge 1 commit into
NousResearch:mainfrom
mattmillerai:feat/comfy-cloud-mcp-catalog

Conversation

@mattmillerai

Copy link
Copy Markdown
Contributor

What

Adds Comfy Cloud to the Nous-approved MCP catalog (optional-mcps/comfy-cloud/manifest.yaml), so users can:

hermes mcp install comfy-cloud

Comfy Cloud ships a first-party hosted remote MCP server at https://cloud.comfy.org/mcp — Streamable HTTP with native MCP OAuth 2.1 (Dynamic Client Registration + PKCE + refresh), i.e. the exact same shape as the existing linear catalog entry. Nothing to install locally; Hermes's MCP client handles discovery and the browser flow on first connect.

The server exposes ~30 tools for AI generation on Comfy Cloud:

  • Generationpartner_generate (Flux, Kling, Veo, Ideogram, ElevenLabs, …), submit_workflow (arbitrary ComfyUI graphs: OSS models, LoRA, ControlNet, multi-step pipelines), run_template (curated comfy.org templates)
  • Job lifecycleget_job_status, wait_for_job, get_output, get_queue, cancel_job
  • Assetsupload_file, use_previous_output
  • Discoverysearch_templates, search_models, search_nodes

tools.default_enabled is left unset (all pre-checked at install, users prune), mirroring the linear entry's reasoning.

Also adds the per-entry data-files target in pyproject.toml, per the one-target-per-entry pattern documented there.

Why

This is the clean replacement for the local ComfyUI REST-wrapper approaches previously discussed in #11143 (closed) and #13271 — a first-party hosted MCP server maintained by Comfy (Comfy-Org/comfy-cloud-mcp-server), instead of a skill teaching the agent to script a local ComfyUI instance. We (Comfy) have been coordinating with the Nous team on this integration.

How to test

hermes mcp install comfy-cloud
# browser opens → sign in with a Comfy account (OAuth 2.1)
# restart the Hermes session, then ask it to generate an image

Notes for testers: discovery tools (search_*) work with any Comfy account; generation tools consume Comfy Cloud credits (subscription — https://www.comfy.org/cloud). The post_install text says the same to users.

Server-side OAuth discovery is live and verifiable without an account:

curl https://cloud.comfy.org/mcp/health                          # 200
curl https://cloud.comfy.org/.well-known/oauth-protected-resource # RFC 9728 metadata

Validation

  • Manifest parses through hermes_cli.mcp_catalog._parse_manifest (name/transport/auth/tools all validated)
  • tests/hermes_cli/test_mcp_catalog.py — 35 passed
  • tests/test_packaging_metadata.py — 11 passed
  • Tested on macOS

Scope

Manifest + one pyproject.toml line only — zero core code changes.

🤖 Generated with Claude Code

…Auth 2.1)

New catalog entry for Comfy Cloud's hosted remote MCP server at
https://cloud.comfy.org/mcp — Streamable HTTP with native MCP OAuth 2.1
(Dynamic Client Registration + PKCE), the same shape as the linear entry.
Nothing to install locally; Hermes's MCP client handles discovery and the
browser flow on first connect.

The server exposes ~30 tools for AI generation on Comfy Cloud: image /
video / audio / 3D via ComfyUI workflows (submit_workflow), curated
templates (run_template), and partner models like Flux, Kling, and Veo
(partner_generate), plus job lifecycle and discovery tools.
tools.default_enabled is left unset so the install-time checklist starts
all-on, mirroring the linear entry.

Also adds the per-entry data-files target in pyproject.toml per the
one-target-per-entry pattern documented there.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mattmillerai
mattmillerai requested a review from a team July 2, 2026 19:18
@alt-glitch alt-glitch added type/feature New feature or request comp/tools Tool registry, model_tools, toolsets tool/mcp MCP client and OAuth P3 Low — cosmetic, nice to have labels Jul 2, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

@christian-byrne Tagging you on this ComfyUI item.

@GottZ GottZ left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was generated by AI during triage.

Summary

Two PRs address the same Comfy Cloud catalog integration: #57308 adds the remote OAuth MCP manifest with all tools enabled by default plus a pyproject.toml data-files entry, while #66112 adds the same endpoint and authentication shape but curates a 20-tool default and also changes scripts/release.py.

Related pull requests

  • #57308 related — (+43/-0) — supersede: Adds the core Comfy Cloud manifest, leaving the full server tool surface enabled by default, and adds a per-entry packaging declaration in pyproject.toml. #66112 covers the same catalog integration with an explicit default-tool policy, but the packaging difference must be checked against current repository requirements rather than assumed obsolete.
  • #66112 related — (+83/-0) — preferred: Adds the same Comfy Cloud MCP endpoint and native OAuth configuration while limiting the default surface to 20 operational tools and excluding telemetry and specialized workflows from automatic enablement; it also adds an AUTHOR_MAP entry whose attribution relationship is asserted by its inline comment but is not independently established by the supplied evidence. This preference is consistent with the visible approved review on #66112 and with the contributor's observation that its curated defaults make it more than an exact duplicate of #57308.

Duplicates

#57308 and #66112 substantially overlap on the Comfy Cloud catalog entry, but they are not exact duplicates: #66112 adds curated defaults and a release-author mapping, whereas #57308 includes a pyproject.toml packaging entry that #66112 omits.

Suggested consolidation

Merge #66112 after confirming whether the pyproject.toml data-files entry present in #57308 is currently required and validating the scripts/release.py attribution mapping. Then close #57308 as superseded by the consolidated implementation, not as an exact duplicate; this addresses the contributor's documented distinction while retaining the more deliberate default-tool and telemetry policy.

Cross-PR triage: Reviewed 2 pull requests and 0 issues in this complex. Each diff was read against this issue; Assessment working set: 7 kB of PR diffs, 5 kB of issue/PR text, 1 kB of discussion (4 comments), 0 verify verdicts. verdicts reflect diff content, not PR titles. Part of an automated triage batch.

@teknium1

Copy link
Copy Markdown
Contributor

Merged via #66112 (rebase-merge) — your catalog-entry commit landed on main with authorship preserved (bd7b622295 → main @ 0524ecc), plus a curated 20-tool default on top to keep the per-call token footprint down. Thanks @mattmillerai! hermes mcp install comfy-cloud now works from the official catalog.

@teknium1 teknium1 closed this Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/tools Tool registry, model_tools, toolsets P3 Low — cosmetic, nice to have sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users tool/mcp MCP client and OAuth type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants