Added Descope MCP Server auth#848
Conversation
| mcpAuthMetadataRouter({ | ||
| oauthMetadata: { | ||
| issuer: env.SERVER_URL, | ||
| authorization_endpoint: `${DESCOPE_MCP_BASE}/authorize`, |
There was a problem hiding this comment.
Add audience parameter to this after next week.
There was a problem hiding this comment.
Audience should be the MCP server URL (aka the audience of the resource)
| "client_secret_post", | ||
| ], | ||
| grant_types_supported: ["authorization_code", "refresh_token"], | ||
| scopes_supported: ["openid", "email"], |
There was a problem hiding this comment.
This I don't think should be statically defined. This will change depending on the MCP server configuration in Descope right?
@csonigo how would we fetch this from Descope dynamically, if you're serving the AS metadata on our behalf? Is there a way to do this within Skybridge or should the developer just manage this themselves?
|
Hi @mrunankpawar @gaokevin1, thanks for the PR! Looking forward to merge it! |
|
Hey @mrunankpawar @gaokevin1 , happy to help get this merge soon. |
Our changes finally were deployed and we're doing a final review today. After that we can take it out of draft for you guys to review. Thanks! |
|
Hi @mrunankpawar, hi @gaokevin1, thanks a lot for this, and sorry for the slow turnaround. Your Descope example was genuinely useful and it directly informed where we landed. We've folded Descope into a broader PR, #879. For consistency we're going to favor that implementation, so we'd like to close this PR in favor of #879, but your contribution is carried over and will still be credited there. A few notes on how it compares, in the spirit of full transparency:
Would you be up for reviewing #879 (especially the Descope bits). Really appreciate the contribution either way. 🙏 |
Adds
examples/auth-descope, a complete MCP server example that uses Descope as the auth provider, along with accompanying documentation.Developers can configure an MCP Server in the Agentic Identity Hub and point it to their MCP server URL. The example implements the complete OAuth 2.1 flow, including server discovery, Dynamic Client Registration (DCR), token exchange, and JWT verification using Descope's JWKS endpoint.