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:
https://api.arcade.dev/mcp/your-gateway-slugLearn 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?”:
| Mode | Best for | How it works |
|---|---|---|
| Arcade Auth | Development, testing, internal use | End 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 provider | Arcade 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 flow | The 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.
Skip consent for trusted MCP clients
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 client | Client ID |
|---|---|
| Claude (Claude Desktop and Claude.ai) | https://claude.ai/oauth/mcp-oauth-client-metadata |
| Claude Code | https://claude.ai/oauth/claude-code-client-metadata |
| Visual Studio Code | https://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
- Create an Arcade if you haven’t already
- Browse available integrations to see what you can add to your gateway