# Relay (remote · mcp.relaygpu.com)

Run any Relay model (image, video, audio, LLM), poll tasks, upload files and search Relay's docs.

- Trust score: 37/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.relaygpu.com`: 37/100 (this document), [markdown](https://verifymcp.io/servers/com-relaygpu-mcp/mcp.md), [page](https://verifymcp.io/servers/com-relaygpu-mcp/mcp)
- npm · `@relaygpu/mcp`: 74/100, [markdown](https://verifymcp.io/servers/com-relaygpu-mcp/relaygpu-mcp.md), [page](https://verifymcp.io/servers/com-relaygpu-mcp/relaygpu-mcp)

## Channel facts

- Endpoint: `https://mcp.relaygpu.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `0.1.8`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 92/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 0/100
  - Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http.
- **Schema Quality & AI Usability**: 0/100
  - Schema blocked by authentication: the endpoint requires auth we don't have to read it.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Tool Safety**: 0/100
  - Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Capabilities**: 0/100
  - Capabilities blocked by authentication: the endpoint requires auth we don't have to read them.

**Unverified: 6 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Relay MCP server?

Relay is a hosted endpoint at https://mcp.relaygpu.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-relaygpu-mcp 'https://mcp.relaygpu.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-relaygpu-mcp": {
      "url": "https://mcp.relaygpu.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-relaygpu-mcp": {
      "type": "http",
      "url": "https://mcp.relaygpu.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-relaygpu-mcp]
url = "https://mcp.relaygpu.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-relaygpu-mcp": {
      "type": "remote",
      "url": "https://mcp.relaygpu.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-relaygpu-mcp --url 'https://mcp.relaygpu.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-relaygpu-mcp:
    url: "https://mcp.relaygpu.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-relaygpu-mcp": {
      "Transport": "http",
      "Url": "https://mcp.relaygpu.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-relaygpu-mcp -t streamable-http -u 'https://mcp.relaygpu.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-relaygpu-mcp": {
      "type": "http",
      "url": "https://mcp.relaygpu.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-15 (score 37, −30)

- [security regression] Endpoint reachability: reachable → behind authorisation
- [security regression] Tool safety: pass → unverified
- [security regression] Stability: 0.07 → unverified
- [security regression] Transport: pass → unverified
- [security regression] HSTS header: pass → fail
- [security improvement] Authorization: fail → pass
- [security] First check of Authorization: pass
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional] First check of Schema quality: unverified

### 2026-10-14 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-13 (score 66, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-12 (score 66)

First indexed and scored.

## MCP tools (14)

### `search_models` (~147 tokens)

Search Relay models

Lists Relay models by tag and/or text. Common tags: text-to-image, image-to-image, text-to-video, image-to-video, video-to-video, text-to-speech, speech-to-text, text-to-text, text-to-embedding. Returns name, tag and route per model (at most 50). Then call get_model with a name for its input schema.

Input parameters:

- `query` (string): Words to match, case-insensitive; every word must appear in the name, display name or tag (e.g. 'kling v3').
- `tag` (string): Model type tag, e.g. text-to-image or image-to-video. Omit for every tag.

### `get_model` (~66 tokens)

Get a Relay model

Returns one model's route, request_schema (what run_model's input must follow), request_example, pricing and availability. Then call run_model with an input shaped like request_example.

Input parameters:

- `model` (string, required): Exact model name from search_models, e.g. Qwen/qwen-image.

### `get_pricing` (~88 tokens)

Get Relay pricing

Returns Relay's public list prices (USD), optionally for one model, plus media_storage: the per-file fees of the store_output / upload retention SKUs (relay1d, relay7d, …). Then estimate_cost for a number.

Input parameters:

- `model` (string): Model name (e.g. Qwen/qwen-image) to keep only its rows. Omit for every model.

### `estimate_cost` (~179 tokens)

Estimate a Relay cost

Estimates the USD cost of a call from the public price list: an estimate, not an invoice (the bill uses provider-reported usage and any custom pricing on your account). Pass only the usage fields the model's billing_type (see get_model or get_pricing) reads: per_token: input_tokens, output_tokens, cached_input_tokens; per_image: image_count, resolution_tier; per_second_video: duration_seconds, quality_mode, sound; per_second_audio: duration_seconds; per_character: character_count; per_media_token: media_input_tokens, media_output_tokens. Add store_output / retention / file_count for storage fees.

Input parameters:

- `model` (string, required): Exact model name, e.g. KlingTeam/v3-T2V.
- `usage` (object, required): What the call uses; only the fields of the model's billing type matter.

### `run_model` (~296 tokens)

Run a Relay model

Runs any Relay model by name (billed to your key). input follows get_model's request_schema (request_example runs as is). Waits up to 45 s; past that it returns a task_id — do not resubmit, call check_task. Result links expire 1 h after completion unless store_output names a media_storage SKU from get_pricing. Pass an idempotency_key if you may retry the same submit. Needs a Relay credential.

Input parameters:

- `idempotency_key` (string): Your key for this submit: a retry with the same key replays the first task instead of starting (and billing) a new one.
- `inline_images` (boolean): Also return images ≤ 1 MB as image content blocks (default false: links only).
- `input` (object, required): Request body per get_model's request_schema, without model (added for you). Pass media as *_url links (upload_file makes one).
- `model` (string, required): Exact model name from search_models / get_model, e.g. Qwen/qwen-image.
- `store_output` (string): Keep result media longer: a media_storage SKU from get_pricing (e.g. relay7d, adds its per-file fee), or provider (default, 1 h).
- `wait_seconds` (integer): Seconds to wait for it to finish (0–45, default 45); 0 returns the task_id at once.

### `check_task` (~148 tokens)

Check a Relay task

Checks a task run_model returned (no key needed: the task_id is the capability). Waits up to 30 s for it to finish; returns the result when completed, else its status: then call check_task again, never resubmit. Task results are kept 1 h after they finish.

Input parameters:

- `inline_images` (boolean): Also return images ≤ 1 MB as image content blocks (default false: links only).
- `task_id` (string, required): The task_id from run_model, e.g. direct:2f9c…
- `wait_seconds` (integer): Seconds to wait for it to finish (0–30, default 30); 0 just reads the status.

### `upload_file` (~233 tokens)

Upload a file to Relay

Hosts an image, video or audio file on Relay and returns its url: pass that url to any *_url input of run_model. Give exactly one of path (local server only, ≤ 100 MB), base64 (≤ 4 MB) or url (a public link Relay copies). retention: relay1h (default, free within a daily quota) or a media_storage SKU from get_pricing. Needs a Relay credential.

Input parameters:

- `base64` (string): File content as base64 or a data: URI, at most 4 MB decoded. Larger files: pass url.
- `filename` (string): File name to record (defaults to the path's base name).
- `path` (string): Local file path (stdio server only; the hosted server cannot read your disk). Max 100 MB.
- `retention` (string): How long the link lives: relay1h (default, free within a daily quota) or a media_storage SKU from get_pricing (relay1d, relay7d, …).
- `url` (string): Public http(s) link to copy onto Relay.

### `list_workflows` (~61 tokens)

List workflows

List Relay's workflow templates: multi-step pipelines (e.g. script → voiceover) run as one call. Each entry has workflow_id, input_schema and its steps (step_id + model). Run one with run_workflow; inputs follow input_schema.

### `run_workflow` (~298 tokens)

Run a workflow

Start a workflow run (one submit) and wait up to wait_seconds (≤ 45) for it to finish. Completed → the final output; still running → run_id: call check_workflow_run with it, never resubmit (a new run bills again). Each step is billed as an ordinary request. webhook_url gets ONE signed workflow.completed / workflow.failed delivery when the run ends. Get workflow_id and the inputs shape from list_workflows. Needs a Relay credential.

Input parameters:

- `idempotency_key` (string): Idempotency-Key for the submit: the same key and inputs within 24 h return the same run_id instead of a new run. Generated when omitted.
- `inputs` (object, required): Template inputs, an object matching the workflow's input_schema.
- `store_output` (string): Run-level storage for every media step: `provider` (default, 1 h link) or `relay1d` / `relay7d` / `relay30d` (billed per file, see get_pricing).
- `wait_seconds` (integer): Seconds to wait for it to finish (0–45, default 45); 0 returns the run_id at once.
- `webhook_url` (string): HTTPS URL for one signed workflow.completed / workflow.failed delivery when the run ends.
- `workflow_id` (string, required): Workflow template id from list_workflows, e.g. `script-voiceover`.

### `check_workflow_run` (~126 tokens)

Check a workflow run

Poll a workflow run by run_id, waiting up to wait_seconds (≤ 30) for it to end. Completed → the final output; failed / cancelled → the error; still running → its steps so far: call check_workflow_run again. No key needed: the run_id is the access token.

Input parameters:

- `run_id` (string, required): The run id returned by run_workflow (`wf:…`).
- `wait_seconds` (integer): Seconds to wait for it to finish (0–30, default 30); 0 answers the current state at once.

### `cancel_workflow_run` (~71 tokens)

Cancel a workflow run

Cancel a workflow run. Cancels between steps only: a step already running completes and bills. A run that has already ended answers WORKFLOW_RUN_NOT_CANCELLABLE. Needs a Relay credential.

Input parameters:

- `run_id` (string, required): The run id returned by run_workflow (`wf:…`).

### `get_credits` (~50 tokens)

Get credit balance

Read the account's credit balance, active promo credits and consumption. Needs a dashboard JWT or a custom-tier superkey; a plain inference key gets PERMISSION_DENIED (403). Needs a Relay credential.

### `get_usage` (~140 tokens)

Get usage

Read the account's usage and spend per API key. Pass period (e.g. 7d) for a by-date breakdown, or from + to. Needs a dashboard JWT or a custom-tier superkey; a plain inference key gets PERMISSION_DENIED (403). Needs a Relay credential.

Input parameters:

- `from` (string): Start date `YYYY-MM-DD`; use together with `to`.
- `period` (string): Time period shorthand, e.g. `7d` or `30d` (max 30 days); adds a by-date breakdown.
- `to` (string): End date `YYYY-MM-DD`; use together with `from`.

### `search_docs` (~126 tokens)

Search the Relay docs

Search Relay's public docs (bundled, offline) for how-to, auth, errors, limits, retries, webhooks, files and pricing rules. Returns the best-matching sections: page, heading, docs path with anchor and an excerpt. For a model's input fields use get_model instead; to find a model use search_models.

Input parameters:

- `limit` (integer): How many sections to return (1–10, default 5).
- `query` (string, required): What to look for, in plain words, e.g. `idempotency key` or `file retention`.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-relaygpu-mcp/mcp#diagnostics

## Score history

- 2026-11-05: 37
- 2026-11-04: 37
- 2026-11-03: 37
- 2026-11-02: 37
- 2026-11-01: 37
- 2026-10-31: 37
- 2026-10-30: 37
- 2026-10-29: 37
- 2026-10-28: 37
- 2026-10-27: 37
- 2026-10-26: 37
- 2026-10-25: 37
- 2026-10-24: 37
- 2026-10-23: 37
- 2026-10-22: 37
- 2026-10-21: 37
- 2026-10-20: 37
- 2026-10-19: 37
- 2026-10-18: 37
- 2026-10-17: 37
- 2026-10-16: 37
- 2026-10-15: 37
- 2026-10-14: 67
- 2026-10-13: 66
- 2026-10-12: 66

## Common questions

### What is the Relay MCP server?

Relay is an MCP server listed in the public MCP registry as com.relaygpu/mcp. Run any Relay model (image, video, audio, LLM), poll tasks, upload files and search Relay's docs. This page covers its hosted endpoint (https://mcp.relaygpu.com/mcp).

### Is the Relay MCP server safe to use?

Relay scores 37 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Relay MCP server expose?

Relay exposes 14 tools: search_models, get_model, get_pricing, estimate_cost, run_model, and 9 more. Their descriptions and schemas cost roughly 2,029 tokens of context every time the server is loaded.

### Does the Relay MCP server require authentication?

Yes. Relay asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Relay MCP server still maintained?

Relay is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the Relay MCP server?

VerifyMCP ran 5 checks on Relay, covering TLS certificate, Authorization, HTTPS, HSTS header and 1 more. 6 items could not be completed, a gap on our side rather than a finding about Relay: Transport, Schema quality, Stability, Tool coverage and 2 more. 6 categories score 0 for that reason, because we only credit what we can confirm. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://mcp.relaygpu.com/mcp
- Authorisation metadata: https://mcp.relaygpu.com/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/OpenGPU-Network/relaygpu-mcp
- Website: https://docs.relaygpu.com/sdk/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-relaygpu-mcp/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-relaygpu-mcp/mcp/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/com-relaygpu-mcp/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-relaygpu-mcp/mcp
