# runcomfy-mcp MCP server

Remote MCP server for RunComfy Serverless API (ComfyUI): deployments and async inference.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-runcomfy-com-runcomfy-mcp
- Repository: https://github.com/runcomfy-com/runcomfy-mcp
- Website: https://www.runcomfy.com

## Install
- Endpoint: https://mcp.runcomfy.com/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://mcp.runcomfy.com/mcp
- Header: Authorization

## Tools
- list_deployments - List Serverless API deployments in the caller's account.

    Backs ``GET /prod/v2/deployments``.

    Args:
        ids: Optional list of deployment IDs to filter to.
        include_payload: Include workflow_api_json, overrides, and
            object_info_url for each deployment. Larger response.
        include_readme: Include the deployment's README markdown.
     Endpoint: https://mcp.runcomfy.com/mcp
- get_deployment - Get one deployment by ID.

    Backs ``GET /prod/v2/deployments/{deployment_id}``.

    Set include_payload=true to inspect the deployed workflow graph
    (workflow_api_json) and default overrides — use the node IDs and
    input names to build the ``overrides`` for ``submit_request``.
     Endpoint: https://mcp.runcomfy.com/mcp
- create_deployment - Create a Serverless API (ComfyUI) deployment.

    Backs ``POST /prod/v2/deployments``. For LoRA deployments, create
    via the runcomfy.com UI instead.

    Args:
        name: Human-readable name.
        workflow_id: UUID of the ComfyUI workflow.
        workflow_version: Version label, e.g. "v1".
        hardware: One of TURING_16, AMPERE_24, AMPERE_48, ADA_48_PLUS,
            AMPERE_80, ADA_80_PLUS, HOPPER_141.
        min_instances: 0..30. Warm instance floor (billable if > 0).
        max_instances: 1..60. Concurrency ceiling.
        queue_size: >= 0. Pending requests before scaling up.
        keep_warm_duration_in_seconds: >= 0. Idle timeout.
     Endpoint: https://mcp.runcomfy.com/mcp
- update_deployment - Partially update a deployment.

    Backs ``PATCH /prod/v2/deployments/{deployment_id}``. Only pass the
    fields you want to change. Set is_enabled=false to pause;
    true to re-enable.
     Endpoint: https://mcp.runcomfy.com/mcp
- delete_deployment - Permanently delete a deployment.

    Backs ``DELETE /prod/v2/deployments/{deployment_id}``. This cannot
    be undone. Consider ``update_deployment(is_enabled=false)`` to pause
    instead.
     Endpoint: https://mcp.runcomfy.com/mcp
- submit_request - Submit an async inference request to a deployment.

    Backs ``POST /prod/v1/deployments/{deployment_id}/inference``.

    Args:
        deployment_id: Target deployment.
        overrides: Partial graph keyed by node_id, e.g.
            ``{"6": {"inputs": {"text": "a cat"}}}``.
            Use ``get_deployment(include_payload=true)`` to discover
            node IDs and input names.
        workflow_api_json: Advanced — run a different workflow without
            updating the deployment. Omit ``overrides`` in this mode.
        extra_data: E.g. ``{"api_key_comfy_org": "comfyui-..."}`` for
            ComfyUI Core API nodes.
        webhook_url: Push-based updates instead of polling.
        webhook_intermediate_status: Fire webhooks on every status
            change, not just terminal.
        wait_for_completion: If true, poll until done and return the
            result inline.
        timeout_seconds: Max wait when wait_for_completion=true.

    File inputs: pass a public HTTPS URL or Base64 data URI directly
    in the overrides value, e.g.
    ``{"189": {"inputs": {"image": "https://example.com/photo.jpg"}}}``
    or ``{"189": {"inputs": {"image": "data:image/jpeg;base64,/9j..."}}}``.
     Endpoint: https://mcp.runcomfy.com/mcp
- get_request_status - Poll a request's current status.

    Backs ``GET /prod/v1/deployments/{deployment_id}/requests/{request_id}/status``.
    Lifecycle: ``in_queue`` → ``in_progress`` → ``completed`` / ``cancelled``.
     Endpoint: https://mcp.runcomfy.com/mcp
- get_request_result - Fetch a completed request's outputs.

    Backs ``GET /prod/v1/deployments/{deployment_id}/requests/{request_id}/result``.
    Output URLs are hosted for 7 days.
     Endpoint: https://mcp.runcomfy.com/mcp
- cancel_request - Cancel a queued or running request.

    Backs ``POST /prod/v1/deployments/{deployment_id}/requests/{request_id}/cancel``.
    Returns ``cancelled`` if accepted, ``not_cancellable`` if already done.
     Endpoint: https://mcp.runcomfy.com/mcp
- call_instance_proxy - Call a ComfyUI backend endpoint on a live instance.

    Backs ``POST /prod/v2/deployments/{deployment_id}/instances/{instance_id}/proxy/{path}``.

    Get the instance_id from ``get_request_status`` once the status is
    ``in_progress``. Common target: ``api/free`` with
    ``{"unload_models": true}`` to free GPU memory.
     Endpoint: https://mcp.runcomfy.com/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.runcomfy-com
- Version: 1.0.1
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 15, 2026
- Source: https://registry.modelcontextprotocol.io
