MCP · Profile
MCP Authorization
The OAuth 2.1 profile that MCP clients and servers follow so that a client can obtain and present access tokens to an MCP server over HTTP transports.
Revisions
Deprecates Dynamic Client Registration in favour of Client ID Metadata Documents, requires RFC 9207 issuer validation on authorization responses, keys stored client credentials by issuer, requires application_type on DCR requests, and removes session identifiers from the transport. Splits the authorization text into separate pages for discovery, client registration and security considerations.
- 2025-11-25superseded
Makes OAuth Client ID Metadata Documents the recommended client registration method and adds Enterprise-Managed Authorization (ID-JAG) as an extension.
Relations 11
MCP Authorization builds on 5
- Proof Key for Code Exchange by OAuth Public Clients (PKCE)publishedPKCE with S256 is required for every authorization request.Source
- OAuth 2.0 Authorization Server MetadatapublishedClients discover the authorization server's endpoints from its metadata.Source
- Resource Indicators for OAuth 2.0publishedClients name the MCP server with the resource parameter so tokens are audience-bound.Source
- OAuth 2.0 Authorization Server Issuer IdentificationpublishedRevision 2026-07-28 requires clients to validate the iss parameter when present.Source
- OAuth 2.0 Protected Resource MetadatapublishedAn MCP server announces its authorization servers through protected resource metadata.Source
MCP Authorization profiles 1
- The OAuth 2.1 Authorization FrameworkWG draftMCP authorization is a profile of OAuth 2.1 for MCP clients and servers.Source
MCP Authorization references 3
- OAuth 2.0 Dynamic Client Registration ProtocolpublishedDynamic Client Registration remains an option, deprecated in revision 2026-07-28.Source
- OAuth Client ID Metadata DocumentWG draftClient ID Metadata Documents are the recommended registration method.Source
- OpenID Connect Discovery 1.0publishedAn authorization server may publish its metadata as an OpenID Provider configuration instead.Source
MCP Authorization is built on by 1
- MCP Enterprise-Managed AuthorizationpublishedAn extension of the base authorization flow for enterprise-managed MCP clients.Source
MCP Authorization is referenced by 1
- AuthZEN COAZ Binding for the Model Context ProtocolWG draftAdds a policy decision step for tool calls on top of the token-based authorization MCP defines.Source
Defines in the shared model
Features of revision 2026-07-28 that the MCP auth atlas observes, with the level the revision puts on them.
- Metadata issuer matches the discovery URLMUST
- Authorization server metadata discoverableMUST
- Protected Resource Metadata servedMUST
- PRM lists an authorization serverMUST
- PRM lists scopes_supportedMAY
- PRM reachable at a well-known URIMUST
- resource_metadata in the 401 challengeMUST
- Client ID Metadata Documents supportedSHOULD
- Dynamic Client Registration offeredMAY
- Documented pre-registration pathSHOULD
- Credentials stored per issuerMUST
- application_type on DCR requestsMUST
- Issuer identifier in authorization responsesSHOULD
- PKCE with S256 advertisedMUST
- Exact iss comparisonMUST
- PKCE on every authorization requestMUST
- Scope union on step-upSHOULD
- 403 insufficient_scope for step-upSHOULD
- Scope in the WWW-Authenticate challengeSHOULD
- Refresh token rotation for public clientsMUST
- Resource indicators honouredMUST
- resource parameter on token requestsMUST
- No offline_access in advertised scopesSHOULD
- 401 for missing or invalid tokensMUST
- Audience validationMUST
- Bearer token only in the Authorization headerMUST
- All endpoints served over HTTPSMUST
- No token passthrough to upstream APIsMUST
- Per-client consent on proxy serversMUST