Skip to content

Feat: Add Descope as an MCP authentication provider#2376

Merged
howardjohn merged 4 commits into
agentgateway:mainfrom
joshwertheim:feat/add-descope-mcp-provider
Jul 2, 2026
Merged

Feat: Add Descope as an MCP authentication provider#2376
howardjohn merged 4 commits into
agentgateway:mainfrom
joshwertheim:feat/add-descope-mcp-provider

Conversation

@joshwertheim

Copy link
Copy Markdown
Contributor

Add Descope as an MCP authentication provider

Description

Update Agentgateway with a new Descope provider similarly to the Okta, Keycloak, and Auth0 providers.

Changes

  1. Authorization Server Metadata (mcp/auth.rs): Routes Descope to the OIDC Discovery endpoint (/.well-known/openid-configuration) rather than RFC 8414's path-based format like Keycloak/Okta. Rewrites the registration_endpoint in the AS metadata to proxy DCR through agentgateway (same CORS workaround as other providers).
  2. DCR (Dynamic Client Registration) (mcp/auth.rs): Derives the Descope DCR URL from its agentic issuer format: https://api.descope.com/v1/apps/agentic/{project-id}/{server-id} -> https://api.descope.com/v1/mgmt/mcp/client/{project-id}/{server-id}/register. Will return a clear error if the issuer URL doesn't match the expected agentic format.
  3. JWKS URL (types/agent.rs): Descope's JWKS lives at the project level, not the issuer level. For agentic issuers the JWKS URL is derived as https://api.descope.com/{project-id}/.well-known/jwks.json
  4. Proto: resource.proto is modified to add DESCOPE = 4 to the McpIDP enum, and api/resource.pb.go is the regenerated Go protobuf output reflecting that change.
  5. Config/Schema/Docs: McpIDP::Descope {} added as a new enum variant, schema/config.json and schema/config.md updated to expose descope: {} as a valid provider option, examples/mcp-authentication/config.yaml gets a fully commented-out Descope example block, including a note that setting up a client in the Descope Console and using its clientId is recommended over DCR because DCR requires a management key.

@joshwertheim joshwertheim marked this pull request as ready for review July 2, 2026 00:46
@joshwertheim joshwertheim requested a review from a team as a code owner July 2, 2026 00:46
@joshwertheim joshwertheim force-pushed the feat/add-descope-mcp-provider branch from 504e195 to 1a1d0d7 Compare July 2, 2026 00:47
@joshwertheim

Copy link
Copy Markdown
Contributor Author

Apologies @howardjohn but if you could take one more look for the workflows that would be great.

@howardjohn howardjohn enabled auto-merge (squash) July 2, 2026 14:56
auto-merge was automatically disabled July 2, 2026 16:09

Head branch was pushed to by a user without write access

@joshwertheim joshwertheim force-pushed the feat/add-descope-mcp-provider branch from 2f6e950 to 3f95eb4 Compare July 2, 2026 16:09
@joshwertheim joshwertheim force-pushed the feat/add-descope-mcp-provider branch from 3f95eb4 to b8b2d70 Compare July 2, 2026 16:19
@joshwertheim

joshwertheim commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

@howardjohn sorry there was a conflict, so I pushed one more rebase to handle it...

@howardjohn howardjohn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤞

Initial commit

Signed-off-by: Joshua Wertheim <joshua.wertheim@descope.com>
Signed-off-by: Joshua Wertheim <joshua.wertheim@descope.com>
Signed-off-by: Joshua Wertheim <joshua.wertheim@descope.com>
Signed-off-by: Joshua Wertheim <joshua.wertheim@descope.com>
@joshwertheim joshwertheim force-pushed the feat/add-descope-mcp-provider branch from 1c67868 to d5e7552 Compare July 2, 2026 17:10
@howardjohn howardjohn merged commit d845d29 into agentgateway:main Jul 2, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants