@@ -50,9 +50,12 @@ while maintaining simplicity:
50501 . MCP servers ** MUST** implement OAuth 2.0 Protected Resource Metadata ([ RFC9728] ( https://datatracker.ietf.org/doc/html/rfc9728 ) ).
5151 MCP clients ** MUST** use OAuth 2.0 Protected Resource Metadata for authorization server discovery.
5252
53- 1 . MCP authorization servers ** MUST** provide OAuth 2.0 Authorization
54- Server Metadata ([ RFC8414] ( https://datatracker.ietf.org/doc/html/rfc8414 ) ).
55- MCP clients ** MUST** use the OAuth 2.0 Authorization Server Metadata.
53+ 1 . MCP authorization servers ** MUST** provide at least one of the following discovery mechanisms:
54+
55+ - OAuth 2.0 Authorization Server Metadata ([ RFC8414] ( https://datatracker.ietf.org/doc/html/rfc8414 ) )
56+ - [ OpenID Connect Discovery 1.0] ( https://openid.net/specs/openid-connect-discovery-1_0-final.html )
57+
58+ MCP clients ** MUST** support both discovery mechanisms to obtain the information required to interact with the authorization server.
5659
5760### Roles
5861
@@ -91,11 +94,6 @@ as described in [RFC9728 Section 5.1 "WWW-Authenticate Response"](https://datatr
9194
9295MCP clients ** MUST** be able to parse ` WWW-Authenticate ` headers and respond appropriately to ` HTTP 401 Unauthorized ` responses from the MCP server.
9396
94- #### Server Metadata Discovery
95-
96- MCP clients ** MUST** follow the OAuth 2.0 Authorization Server Metadata [ RFC8414] ( https://datatracker.ietf.org/doc/html/rfc8414 )
97- specification to obtain the information required to interact with the authorization server.
98-
9997#### Sequence Diagram
10098
10199The following diagram outlines an example flow:
@@ -114,7 +112,11 @@ sequenceDiagram
114112 M-->>C: Resource metadata with authorization server URL
115113 Note over C: Validate RS metadata,<br />build AS metadata URL
116114
117- C->>A: GET /.well-known/oauth-authorization-server
115+ alt OAuth 2.0 Authorization Server Metadata
116+ C->>A: GET /.well-known/oauth-authorization-server
117+ else OpenID Connect Discovery
118+ C->>A: GET /.well-known/openid-configuration
119+ end
118120 A-->>C: Authorization server metadata
119121
120122 Note over C,A: OAuth 2.1 authorization flow happens here
@@ -170,7 +172,11 @@ sequenceDiagram
170172
171173 Note over C: Parse metadata and extract authorization server(s)<br/>Client determines AS to use
172174
173- C->>A: GET /.well-known/oauth-authorization-server
175+ alt OAuth 2.0 Authorization Server Metadata
176+ C->>A: GET /.well-known/oauth-authorization-server
177+ else OpenID Connect Discovery
178+ C->>A: GET /.well-known/openid-configuration
179+ end
174180 A->>C: Authorization server metadata response
175181
176182 alt Dynamic client registration
0 commit comments