RelaySwitch
Every model on your RelaySwitch key as MCP tools for Claude Code, Claude Desktop and other coding agents: chat, compare, search, embed, rerank, transcribe and media generation.
Server MCP Terhosting
npx add-mcp 'https://api.relayswitch.io/mcp'Terpasang ke Claude Code, Codex, Cursor, dan lainnya
Dokumentasi
497Models as tools
351Chat models
136Image, video and speech models
$10Minimum top-up
Connect
One line in your client
Streamable HTTP with the key as a Bearer header, the shape the Claude Code docs describe. The server card at https://api.relayswitch.io/mcp/server-card says the same to a client that reads cards.
Claude Code
bash
1 claude mcp add --transport http relayswitch https://api.relayswitch.io/mcp \
.cursor/mcp.json
json
1 // .cursor/mcp.json
2 {
3 "mcpServers": {
4 "relayswitch": {
5 "url": "https://api.relayswitch.io/mcp",
6 "headers": { "Authorization": "Bearer sk-relay-live-..." }
7 }
8 }
9 }
Cline
json
1 // Cline > MCP Servers > Configure
2 {
3 "mcpServers": {
4 "relayswitch": {
5 "type": "streamableHttp",
6 "url": "https://api.relayswitch.io/mcp",
7 "headers": { "Authorization": "Bearer sk-relay-live-..." },
8 "autoApprove": ["list_media_models", "media_model", "media_quote", "generation", "generations"]
9 }
10 }
11 }
OpenCode
json
1 // opencode.json
2 {
3 "$schema": "https://opencode.ai/config.json",
4 "mcp": {
5 "relayswitch": {
6 "type": "remote",
7 "url": "https://api.relayswitch.io/mcp",
8 "enabled": true,
9 "oauth": false,
10 "headers": { "Authorization": "Bearer {env:RELAYSWITCH_KEY}" }
11 }
12 }
13 }
Codex: ~/.codex/config.toml
toml
1 [mcp_servers.relayswitch]
2 url = "https://api.relayswitch.io/mcp"
3 bearer_token_env_var = "RELAYSWITCH_KEY"
Hermes Agent
yaml
1 # ~/.hermes/config.yaml
2 mcp_servers:
3 relayswitch:
4 url: "https://api.relayswitch.io/mcp"
5 headers:
6 Authorization: "Bearer sk-relay-live-..."
Any client: list the tools
bash
1 curl https://api.relayswitch.io/mcp \
2 -H "Authorization: Bearer $RELAYSWITCH_KEY" \
3 -H "Content-Type: application/json" \
4 -H "Accept: application/json, text/event-stream" \
5 -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
Tools
15 tools, one key
One tool per kind of model the catalog sells. 5 answer without a key, so a client can read models and prices first; the rest run on the key your client sends.
| Tool | What it does | Key |
|---|---|---|
list_models | Every chat, embedding, rerank and transcription model with its type, the tool that runs it and its price. | none |
list_media_models | Every image, video, speech, music and 3D model with its price per unit at each setting. | none |
media_model | One media model’s settings (every parameter, its values, range and default) and price tiers. | none |
estimate | What a chat request costs on every model before it is sent. | none |
proof | The daily real-model check: stable, changed, failed or unchecked, per model. | none |
chat | A conversation to any chat model, with a system prompt, images for the models that see them, and web search. | Bearer |
compare | The same question to 2 to 5 models at once: every answer side by side with its cost and time. | Bearer |
search | One web search: titles, URLs, snippets and dates, up to 10 results. | Bearer |
embed | Text to vectors with any embedding model, up to 64 texts a call. | Bearer |
rerank | Up to 100 documents ordered by relevance to a query. | Bearer |
transcribe | Speech in an audio or video file at a URL to text, or translated into English. | Bearer |
media_quote | What generate would charge for exactly these settings, next to the developer’s price. Nothing runs. | Bearer |
generate | Runs any image, video, speech, music or 3D model and returns the files, a finished image inline. | Bearer |
generation | One generation by id, waiting for it to finish: the follow-up for a video. | Bearer |
generations | The organization’s generations, newest first, with status, files and charge. | Bearer |
Tool names and descriptions as the server lists them at tools/list; the OpenAPI document covers the HTTP routes behind them.
A second opinion
Ask several models the same question, from inside the chat
compare sends one question to two to five models at once and returns every answer with its cost and time. Priced live for a 2,000-token question and a 1,000-token answer from each.
| Model | Input / M | Output / M | This answer |
|---|---|---|---|
| Gemini 3.1 Pro Preview gemini-3.1-pro-preview | $1.20 | $7.20 | $0.0096 |
| Grok 4.6 grok-4.6 | $0.60 | $1.80 | $0.003 |
| DeepSeek V4 Pro 0423 deepseek-v4-pro | $0.792 | $2.376 | $0.004 |
| One compare call | $0.0166 |
Each model bills its own tokens; a model that fails is reported and not charged.
text
1 compare { "models": ["gemini-3.1-pro-preview", "grok-4.6", "deepseek-v4-pro"],
2 "prompt": "Is this migration safe to run on a live table? Answer yes or no, then why." }
A whole shot
Picture, clip, voice-over, without leaving the chat
Prices read from the catalog at render, at the setting named in each row. The agent quotes first, then runs, then passes each file into the next tool.
| Step | Model | Setting | Price | Developer’s list |
|---|---|---|---|---|
| Picture generate, 2K, one image | Nano Banana 2 nano-banana-2 | resolution 2K | $0.056 per image | $0.101 |
| Clip from that picture generate with image_urls, 720p | Veo 3.1 Fast veo-3.1-fast | resolution 720p | $0.48 per generation | $0.80 |
| Upscale generate | Image Upscaler image-upscaler | scale 2 | $0.002 per image | — |
| Voice-over generate, per 1,000 characters | Eleven v3 (text to speech) elevenlabs-v3 | any | $0.10 per 1,000 characters | — |
A clip model that takes image_urls animates the picture generate just made; a file URL from this API is all it needs. A failed step is refunded in full.
text
1 # What the agent sends, tool by tool. Every URL is a file on this API, kept 30 days.
2 media_quote { "model": "nano-banana-2", "input": { "prompt": "a red paper boat on a calm pond, morning light", "resolution": "2K" } }
3 generate { "model": "nano-banana-2", "input": { "prompt": "...", "resolution": "2K" } }
4 -> gen_…, 1 image inline + https://api.relayswitch.io/v1/files/2026-11-03/gen_…/0.png
5 generate { "model": "veo-3.1-fast", "input": { "prompt": "the boat drifts, ripples spread", "image_urls": ["https://api.relayswitch.io/v1/files/…/0.png"], "resolution": "720p" }, "wait_seconds": 120 }
6 -> still running: generation { "id": "gen_…", "wait_seconds": 120 } until it answers with the mp4
7 generate { "model": "elevenlabs-v3", "input": { "text": "A paper boat, and the morning it set out." } }
8 generations { "limit": 10 } # everything the key's organization made, newest first
Two details make this work as a loop rather than a hand-off. A finished image comes back as image content, so the model that asked for it sees the result and can ask for a different one before spending on the clip. And every output is a URL on this API for 30 days, so the next tool call takes it as an input with no upload step; the media API guide shows the same routes from a script.
Recipes
Four saved chains, one command each
The server also lists four MCP prompts. Pick one and your agent gets the whole chain as a script: price every step and say the total, then generate and pass each file to the next tool. Getting a recipe is free; the tools it runs bill your key.
| Recipe | What it chains | Arguments | At the defaults |
|---|---|---|---|
Picture to clip picture_to_clip | A picture on nano-banana-2, then veo-3.1-fast animates it from its URL; generation waits for the clip. | picture, motion, aspect_ratio, image_model, video_model, max_usd | $0.5202 |
Product shot set product_shot_set | One product prompt in 1:1, 4:5, 9:16 and 16:9 on nano-banana-2 at 2K, the shots run side by side. | product, ratios, model, resolution, max_usd | $0.224 |
Clip with voice-over clip_with_voiceover | A veo-3.1-fast clip and elevenlabs-v3 reading your script, made at once; with a shell, ffmpeg joins them. | scene, script, voice, aspect_ratio, video_model, voice_model, max_usd | $0.48 + $0.10 per 1,000 characters |
Upscale and animate upscale_and_animate | image-upscaler doubles the image, then veo-3.1-fast animates the sharper copy. | image_url, motion, scale, aspect_ratio, video_model, max_usd | $0.482 |
Every argument is optional: a recipe run bare takes the picture, script or image from the conversation. max_usd stops the agent before the first generate if the quotes add up to more. Prices read from the catalog at render.
Any client: read a recipe, no key needed
bash
1 curl https://api.relayswitch.io/mcp \
2 -H "Content-Type: application/json" \
3 -H "Accept: application/json, text/event-stream" \
4 -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get",
5 "params": {"name": "picture_to_clip",
6 "arguments": {"picture": "a red paper boat on a calm pond", "aspect_ratio": "9:16"}}}'
Claude Code lists each recipe in its / menu and passes arguments as single words, so say what you want in the chat first and run the command bare. A client with a prompt menu shows the arguments as fields. Either way the agent quotes before it spends, and a failed step is refunded in full.
Against a suite
A creative suite in your AI, not another app
Runway facts from runway.com and its API reference, read 2026-11-03.
| RelaySwitch MCP | Runway | |
|---|---|---|
| Where you work | Inside the AI client you already run: Claude Code, Cursor, Codex, Cline, OpenCode, any MCP client | Runway’s own app (Runway Creative) and its developer API |
| Models | Every model on the key: 351 chat, 10 embedding, rerank and transcription, and 136 image, video, speech and 3D models from 19 developers | Runway’s own models and partner models in its API (25 video ids listed on image_to_video) |
| Price | Per image, second, clip or thousand characters, read live, next to the developer’s list price where one is on record | Credits bought on a plan or in the developer portal, priced per second in credits |
| Before you spend | media_quote gives the exact charge for the settings; nothing runs | The task answer carries an estimated cost once it is created |
| Account | An email address; card or crypto; no identity check | A Runway account |
| Failed run | Refunded in full, automatically | Per Runway’s terms |
| Runway’s models | Gen-4.5 is on the key as runway-gen-4.5 | Gen-4.5 and Gen-4 Turbo |
Guides
Set it up in your client, or swap in for a server you use
[
Setup
Claude Code MCP
Add every AI model to Claude Code with one claude mcp add command: GPT, Gemini, Grok and DeepSeek second opinions, web search, images, video and speech on one key.
](https://relayswitch.io/mcp/claude-code)[
Setup
Codex MCP
Add every AI model to OpenAI Codex with four lines of config.toml: second opinions from Claude, Gemini and Grok, web search, images and video, on one prepaid key.
](https://relayswitch.io/mcp/codex)[
Setup
Cursor MCP
Add every AI model to Cursor with one mcp.json entry: ask GPT, Gemini, Grok or DeepSeek from Agent mode, search the web, make images and video, on one prepaid key.
](https://relayswitch.io/mcp/cursor)[
Setup
Claude Desktop MCP
Add every AI model to Claude Desktop as a custom connector with a request header, or through mcp-remote: second opinions, web search, images and video on one key.
](https://relayswitch.io/mcp/claude-desktop)[
Setup
OpenCode MCP
Add every AI model to OpenCode with one remote MCP entry in opencode.json: second opinions, web search, embeddings, images and video on one prepaid key.
](https://relayswitch.io/mcp/opencode)[
Setup
VS Code MCP
Add every AI model to VS Code and GitHub Copilot agent mode with one MCP entry: second opinions, web search, images and video, on one prepaid key.
](https://relayswitch.io/mcp/vscode)[
Setup
Gemini CLI MCP
Add every AI model to Gemini CLI or Antigravity CLI with one MCP entry: ask Claude, GPT or Grok for a second opinion, search the web, make images and video.
](https://relayswitch.io/mcp/gemini-cli)[
Setup
Windsurf MCP
Add every AI model to Windsurf, now Devin Desktop, with one MCP entry: second opinions from GPT, Gemini and Grok, web search, images and video on one key.
](https://relayswitch.io/mcp/windsurf)[
Setup
Cline MCP
Add every AI model to Cline with one streamableHttp entry: second opinions from GPT, Gemini and Grok, web search, images and video, on one prepaid key.
](https://relayswitch.io/mcp/cline)[
Alternative
OpenRouter MCP alternative
OpenRouter’s MCP server next to this one: OAuth with a key that expires in 7 days there, a Bearer key that works in any MCP client here, with compare, search and video.
](https://relayswitch.io/mcp/openrouter)[
Alternative
Zen MCP alternative
A hosted alternative to Zen MCP (PAL): ask Gemini, GPT, Grok and DeepSeek from Claude Code or Cursor on one prepaid key. No local install, no key per provider.
](https://relayswitch.io/mcp/zen-mcp-alternative)[
Alternative
Web search MCP
A hosted web search MCP server for Claude Code, Cursor and Codex: titles, URLs, snippets and dates per search, on the same key that runs every model. No install.
](https://relayswitch.io/mcp/web-search)[
Model
Nano Banana MCP
Generate and edit images with Nano Banana 2, Pro and Lite from Claude Code or Cursor through a hosted MCP server. One prepaid key, priced per image, no Gemini account.
](https://relayswitch.io/mcp/nano-banana)[
Model
ElevenLabs MCP
Text to speech and music with ElevenLabs v3, Turbo 2.5 and ElevenLabs Music from Claude Code or Cursor through a hosted MCP server, on the key that runs every model.
](https://relayswitch.io/mcp/elevenlabs)[
Model
DeepSeek MCP
Call DeepSeek V4 Pro, V4 Flash and R1 from Claude Code, Cursor or Codex through a hosted MCP server: chat, compare against other models, priced per token on one key.
](https://relayswitch.io/mcp/deepseek)[
Model
Grok MCP
Call Grok 4.6, 4.5 and 4.3 from Claude Code, Cursor or Codex through a hosted MCP server: chat, web search and compare on one prepaid key, no xAI account.
](https://relayswitch.io/mcp/grok)[
Model
Gemini MCP server
Call Gemini 3.1 Pro, Gemini 3 Flash and the Nano Banana image models from Claude Code or Cursor through a hosted MCP server, on one prepaid key with no Google account.
](https://relayswitch.io/mcp/gemini)
FAQs
The MCP server: questions
Models, billing and what the client sees.
Open the console
A key in under a minute
Or email hello@relayswitch.io
Every AI model as a tool in your AI
From $10 by card or in USDT, USDC, BTC, ETH, SOL. Prepaid per token or per unit, failed runs refunded. No KYC.