1. Get your API token
Copy your API token from your Profile page.2. Connect your client
- Claude Code
- Claude.ai
- ChatGPT
- Cursor
- VS Code
- Windsurf
- Hermes Agent
- OpenClaw
- Other clients
Run this in your terminal, replacing Then confirm it worked:You should see Want it in every project? By default the server is added only to the
current directory. Add Prefer not to keep a token in your config? Omit the header and sign in
through your browser instead:Then run
YOUR_RUNCOMFY_TOKEN:runcomfy: ... - ✓ Connected.The transport is
http, not streamable-http. Claude Code names the
Streamable HTTP transport http, and rejects any other value before it
ever contacts the server. Flags also need two dashes — -transport and
-header are not valid.--scope user to make it available everywhere:/mcp inside Claude Code, choose runcomfy, and select
Authenticate. A RunComfy page opens where you paste your token once.3. Verify the connection
Ask your assistant:“List my RunComfy deployments”It will call
list_deployments. If you get back deployment names and IDs, you’re connected.
4. Your first inference
With a deployment available, try:“Run my [deployment name] with the prompt: a futuristic cityscape at sunset”The assistant will:
- Call
get_deploymentto inspect the workflow’s node IDs - Call
submit_requestwith the appropriate overrides - Call
get_request_statusto poll progress - Call
get_request_resultto return the output URL
Troubleshooting
401 — RunComfy rejected this API token
401 — RunComfy rejected this API token
The token reached the server and RunComfy did not recognize it. Almost
always one of:
- Truncated on copy. Re-copy the whole token from your Profile.
- Regenerated. Generating a new token invalidates the old one everywhere. Update every client that used it.
- Extra characters. Quotes, a trailing space, or a line break pasted along with the token.
200 means the token is good and the problem is in your client config.
401 means the token itself is bad.401 with no explanation in the body
401 with no explanation in the body
No Without the quotes the shell splits it at the space and the header is
dropped.
Authorization header arrived. The header has to be a single argument,
so keep it quoted:Claude Code rejects the command before connecting
Claude Code rejects the command before connecting
If you see an error about the transport, or the flags aren’t recognized,
check the command shape:
- Transport is
http— notstreamable-http. - Flags take two dashes —
--transport,--header, not-transport,-header. - The order is
claude mcp add [flags] NAME URL.
The server was there yesterday and is gone now
The server was there yesterday and is gone now
claude mcp add defaults to local scope — the current directory only.
If you moved to another project, re-add it with --scope user so it
follows you everywhere.Hermes doesn't see the tools after editing config.yaml
Hermes doesn't see the tools after editing config.yaml
Hermes loads
~/.hermes/config.yaml at startup. After editing it, run
/reload-mcp in the session, or restart the gateway.If it reloads but the tools still aren’t there, check for a tools.include
allowlist on the entry — anything not listed is hidden, including tools
added since you wrote the list. hermes mcp list shows N selected when a
filter is active and all when it isn’t.Ignore the RUNCOMFY_API_TOKEN is not set warning if you’re using
${env:...} — it prints even when the variable resolves fine.OpenClaw can't reach the server
OpenClaw can't reach the server
Probe it — this connects for real and reports what came back:If the failure is That output contains your token in the clear — redact it before sharing.
To test the token on its own, use the
MCP error -32001: Request timed out within a few
seconds of running openclaw mcp add, it’s the probe deadline, not the
network — re-run with --timeout 10, or use openclaw mcp set, which
saves without probing.Otherwise check two things in the entry:transportisstreamable-http. RunComfy does not serve the older SSE transport.urlis exactlyhttps://mcp.runcomfy.com/mcp, with no trailing slash.
curl check in 401 — RunComfy
rejected this API token above.invalid_target during browser sign-in
invalid_target during browser sign-in
The URL must be exactly
https://mcp.runcomfy.com/mcp, with no trailing
slash. The access token is bound to that exact address, so
.../mcp/ is treated as a different resource.invalid_client_metadata during browser sign-in
invalid_client_metadata during browser sign-in
Your client registered a redirect URI that isn’t a loopback address and
isn’t on the allowlist of hosted clients. Use the API token header instead
— it works with every Streamable HTTP client. If you maintain a hosted MCP
client and want its callback allowlisted, email
hi@runcomfy.com.
503 with a Retry-After header
503 with a Retry-After header
RunComfy’s API couldn’t be reached to verify your token. This is temporary
— retry after the number of seconds in the
Retry-After header.429 — too many requests
429 — too many requests
More than 600 token-authenticated requests in a minute from one IP address.
Normal assistant use never reaches this. Wait a minute and retry.
Next steps
- Tool Reference — Detailed parameters and examples for all 31 tools
- FAQ — Common questions
- Serverless API docs — Understand deployments, workflows, and the async queue
