MCP gateway

Every MCP server your agents use, behind one endpoint.

Register a server once with its token. Every agent adds one MCP endpoint on its own API key and gets all the tools, filtered by allowlists and the key’s tool policy, with every call logged.

Live
Endpoint
/mcp/org
Servers per organization
up to 20
Tool names
server__tool
Web search in a request
$0.01 a search
Web fetch in a request
$0.001 a fetch
Code sandbox in a request
$0.05 a container-hour, 1-minute minimum
Remote MCP in a request
no fee, tokens only

What it does for an agent

One endpoint per agent
Claude Code, OpenCode, Hermes Agent or any MCP client adds one URL and one header.
Tokens stored once
Server headers are sealed at rest and never returned; GET /v1/mcp-servers shows only their names.
Allowlists and tool policy
Limit a server’s tools for everyone, and each agent’s through its key’s deny and allow lists.
A call log
Time, server, tool, status and latency for every call; arguments only for keys that keep bodies.
Revoke in one place
Revoke an agent’s key and it loses every tool behind the gateway at the same moment.
Safe by address
Public https only, checked before every call, redirects never followed.

Copy, paste, run

Register once with an admin key, then point each agent at the endpoint.

curl: register a server
bash
1# Register a server once (admin key). Its tools appear as tickets__<tool>.
2curl https://api.relayswitch.io/v1/mcp-servers \
3 -H "Authorization: Bearer $ADMIN_KEY" -H "Content-Type: application/json" \
4 -d '{
5 "name": "tickets",
6 "url": "https://mcp.example.com/mcp",
7 "headers": {"Authorization": "Bearer TICKETS_TOKEN"},
8 "tool_allowlist": ["search_tickets", "get_ticket"]
9 }'
Claude Code
bash
1claude mcp add --transport http relayswitch https://api.relayswitch.io/mcp/org \
2 --header "Authorization: Bearer $RELAYSWITCH_API_KEY"
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/org",
8 "enabled": true,
9 "headers": { "Authorization": "Bearer {env:RELAYSWITCH_API_KEY}" }
10 }
11 }
12}
Hermes Agent
yaml
1# ~/.hermes/config.yaml
2mcp_servers:
3 relayswitch:
4 url: "https://api.relayswitch.io/mcp/org"
5 headers:
6 Authorization: "Bearer sk-relay-..."
curl: list tools, read the log
bash
1curl https://api.relayswitch.io/mcp/org \
2 -H "Authorization: Bearer $RELAYSWITCH_API_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"}'
6
7# Recent calls: server, tool, status, latency (admin key).
8curl "https://api.relayswitch.io/v1/mcp-servers/calls?limit=20" -H "Authorization: Bearer $ADMIN_KEY"

The MCP endpoints

EndpointWhat it doesKey
POST /mcp/orgYour registered servers’ tools, as server__toolAPI key
/v1/mcp-serversRegister, list, change and remove serversAdmin key
GET /v1/mcp-servers/callsRecent tool calls with status and latencyAdmin key
POST /mcplist_models, list_media_models, estimate, proof and chatNone, or an API key for chat
FAQs

Questions

For agent builders.

Open the console

A key in under a minute

Get a key

Or email hello@relayswitch.io

One MCP endpoint for every agent

Register your servers, hand each agent its key, read every call in one log.