Skip to Content
GuidesMCP GatewaysMCP Gateways

MCP Gateways

Gateways are a way to connect multiple MCP Servers to your agent, application, or IDE. allow you to federate the tools from multiple into a single collection for easier management, control, and access. You can mix and match tools from different MCP Servers in the same .

Why use MCP Gateways?

  • Federate tools - Combine tools from multiple servers into a single endpoint
  • Control access - Choose exactly which are available to each gateway
  • Mix and match - Use different combinations for different use cases
  • Simplify configuration - One gateway URL instead of multiple server configurations
  • Server Instructions - Set instructions for how the client should use your gateway to help the LLM better understand your use case

Create an MCP Gateway

You can create an Gateway in two ways:

Dashboard - Use the web interface for full control over gateway settings, authentication modes, and selection. Best for production configurations and when you need to use tools that you built yourself, or were not built by Arcade.

AI Assistant - Describe what you want in natural language and let AI select the right for you. Best for quickly creating a gateway without ever leaving your chat interface.

Add remote MCP servers

Use remote servers when your live outside Arcade. Register the server once, then select its tools in your gateways.

Connect to an MCP Gateway

Any client that supports the Streamable HTTP transport can use an Arcade . Use your gateway URL in the following format:

PLAINTEXT
https://api.arcade.dev/mcp/{your-gateway-slug}

Learn how to connect MCP Gateways to your preferred client.

Authentication

When you create a gateway, you choose who its end are. Arcade groups the options under “Who are the users of this Gateway?”:

ModeBest forHow it works
Arcade AuthDevelopment, testing, internal useEnd users sign in with Arcade as members of this project
User Source (recommended for production)Production agents whose end users have identities in your OIDC identity providerArcade redirects end users to your identity provider, then identifies them by a configured subject claim
Arcade Headers (fallback)MCP clients that can’t run a browser-based OAuth flowThe client passes Authorization: Bearer {your_api_key} and Arcade-User-ID: {end_user_id} on every request

See User Sources for how to set up an OIDC identity provider and attach it to a gateway. See Create via Dashboard for the rest of the gateway configuration.

When an end user signs in to a gateway, Arcade shows an OAuth consent screen before issuing a token. This feature lets you allowlist specific client IDs that should bypass that consent screen. End connecting through an allowlisted client go straight from sign-in to a working session.

The field is available on gateways that use Arcade Auth or a . It does not apply to Arcade Headers.

A client ID is what the client sends to Arcade during OAuth registration. Clients that publish a Client ID Metadata Document  (CIMD) use their published HTTPS URL as a stable client ID, and that URL is what goes in the allowlist. Clients that rely on Dynamic Client Registration  instead receive a fresh client ID per installation, so they don’t have a stable value to allowlist and aren’t suitable for this feature.

Known MCP client IDs

The values below are the literal client_id strings these clients send in their OAuth authorize requests to Arcade today.

MCP clientClient ID
Claude (Claude Desktop and Claude.ai)https://claude.ai/oauth/mcp-oauth-client-metadata
Claude Codehttps://claude.ai/oauth/claude-code-client-metadata
Visual Studio Codehttps://vscode.dev/oauth/client-metadata.json

Find the client ID for an unlisted client

If the client publishes a CIMD, its documentation will reference an https://...client-metadata URL or similar. That URL is the client ID, so paste it into the allowlist as-is.

If the client uses Dynamic Client Registration, it gets a new client ID per registration and that ID changes any time the client re-registers. Tracking the latest registered ID against your gateway rarely pays back the operational cost.

Next Steps

Last updated on