@@ -118,17 +118,42 @@ version.
118
118
119
119
For example: ` MCP-Protocol-Version: 2024-11-05 `
120
120
121
- #### 2.3.1 Fallbacks for Servers without Metadata Discovery
121
+ #### 2.3.2 Authorization Base URL
122
+
123
+ The authorization base URL ** MUST** be determined from the [ SSE
124
+ endpoint] ({{< ref "specification/draft/basic/transports#http-with-sse" >}}) URL by
125
+ discarding any existing ` path ` component. For example:
126
+
127
+ If the SSE endpoint is ` https://api.example.com/v1/sse ` , then:
128
+
129
+ - The authorization base URL is ` https://api.example.com `
130
+ - The metadata endpoint ** MUST** be at
131
+ ` https://api.example.com/.well-known/oauth-authorization-server `
132
+
133
+ This ensures authorization endpoints are consistently located at the root level of the
134
+ domain serving the SSE endpoint, regardless of any path components in the SSE endpoint
135
+ URL.
136
+
137
+ #### 2.3.3 Fallbacks for Servers without Metadata Discovery
122
138
123
139
For servers that do not implement OAuth 2.0 Authorization Server Metadata, clients
124
- ** MUST** use the following default endpoint paths relative to the server's base URL:
140
+ ** MUST** use the following default endpoint paths relative to the authorization base URL
141
+ (as defined in [ Section
142
+ 2.3.2] ({{< ref "specification/draft/basic/authorization#232-authorization-base-url" >}})):
125
143
126
144
| Endpoint | Default Path | Description |
127
145
| ---------------------- | ------------ | ------------------------------------ |
128
146
| Authorization Endpoint | /authorize | Used for authorization requests |
129
147
| Token Endpoint | /token | Used for token exchange & refresh |
130
148
| Registration Endpoint | /register | Used for dynamic client registration |
131
149
150
+ For example, with an SSE endpoint of ` https://api.example.com/v1/sse ` , the default
151
+ endpoints would be:
152
+
153
+ - ` https://api.example.com/authorize `
154
+ - ` https://api.example.com/token `
155
+ - ` https://api.example.com/register `
156
+
132
157
Clients ** MUST** first attempt to discover endpoints via the metadata document before
133
158
falling back to default paths. When using default paths, all other protocol requirements
134
159
remain unchanged.
0 commit comments