Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion app/en/guides/mcp-gateways/create-via-dashboard/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,10 @@ The options available when configuring an MCP Gateway are:
- **Arcade Headers** (fallback): The client passes an Arcade API key in the `Authorization` header and the end user's ID in the `Arcade-User-ID` header. Pick this for MCP clients that can't run a browser-based OAuth flow.
- **Allowed Tools**: A selection of tools in the Arcade Tool Catalog that will be available to the MCP Gateway.

See [Skip consent for trusted MCP clients](/guides/mcp-gateways#skip-consent-for-trusted-mcp-clients) for the **Skip consent for trusted clients (optional)** field on this same form.

## After Creating a Gateway

Once you've created a gateway, you'll need to add it to your chat client. The assistant will provide the MCP URL (for example, `https://api.arcade.dev/mcp/<YOUR-GATEWAY-SLUG>`).
Once you've created a gateway, you'll need to add it to your chat client. The assistant will provide the MCP URL (for example, `https://api.arcade.dev/mcp/{YOUR-GATEWAY-SLUG}`).

See [Connect to MCP clients](/get-started/mcp-clients) for setup instructions specific to your client.
26 changes: 25 additions & 1 deletion app/en/guides/mcp-gateways/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Use remote MCP servers when your tools live outside Arcade. Register the server
Any MCP client that supports the Streamable HTTP transport can use an Arcade MCP Gateway. Use your gateway URL in the following format:

```
https://api.arcade.dev/mcp/<YOUR-GATEWAY-SLUG>
https://api.arcade.dev/mcp/{YOUR-GATEWAY-SLUG}
```

Learn how to [connect MCP Gateways to your preferred client](/get-started/mcp-clients).
Expand All @@ -71,6 +71,30 @@ When you create a gateway, you choose who its end users are. Arcade groups the o

See [User Sources](/guides/user-sources) for how to set up an OIDC identity provider and attach it to a gateway. See [Create via Dashboard](/guides/mcp-gateways/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 MCP client IDs that should bypass that consent screen. End users 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 **User Source**. It does not apply to Arcade Headers.

A client ID is what the MCP client sends to Arcade during OAuth registration. Clients that publish a [Client ID Metadata Document](https://datatracker.ietf.org/doc/draft-parecki-oauth-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](https://datatracker.ietf.org/doc/html/rfc7591) 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 MCP 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

- <SignupLink linkLocation="docs:mcp-gateways">Create an Arcade account</SignupLink> if you haven't already
Expand Down
Loading