diff --git a/app/en/guides/mcp-gateways/create-via-dashboard/page.mdx b/app/en/guides/mcp-gateways/create-via-dashboard/page.mdx index 490334436..d0704fb3b 100644 --- a/app/en/guides/mcp-gateways/create-via-dashboard/page.mdx +++ b/app/en/guides/mcp-gateways/create-via-dashboard/page.mdx @@ -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/`). +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. diff --git a/app/en/guides/mcp-gateways/page.mdx b/app/en/guides/mcp-gateways/page.mdx index 3d4abd51d..b14f50f26 100644 --- a/app/en/guides/mcp-gateways/page.mdx +++ b/app/en/guides/mcp-gateways/page.mdx @@ -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/ +https://api.arcade.dev/mcp/{YOUR-GATEWAY-SLUG} ``` Learn how to [connect MCP Gateways to your preferred client](/get-started/mcp-clients). @@ -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 - Create an Arcade account if you haven't already