Skip to content

Commit 6bc554f

Browse files
committed
[spec] Define roles before we use them in the subsequent text
We move the role definition to be the first item. This helps readers to understand the participants before reading the rest of the specification
1 parent 500fde3 commit 6bc554f

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

docs/specification/draft/basic/authorization.mdx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,19 @@ while maintaining simplicity:
3939

4040
## Authorization Flow
4141

42+
### Roles
43+
44+
A protected *MCP server* acts as an [OAuth 2.1 resource server](https://www.ietf.org/archive/id/draft-ietf-oauth-v2-1-12.html#name-roles),
45+
capable of accepting and responding to protected resource requests using access tokens.
46+
47+
An *MCP client* acts as an [OAuth 2.1 client](https://www.ietf.org/archive/id/draft-ietf-oauth-v2-1-12.html#name-roles),
48+
making protected resource requests on behalf of a resource owner.
49+
50+
The *authorization server* is responsible for interacting with the user (if necessary) and issuing access tokens for use at the MCP server.
51+
The implementation details of the authorization server are beyond the scope of this specification. It may be hosted with the
52+
resource server or a separate entity. The [Authorization Server Discovery section](#authorization-server-discovery)
53+
specifies how an MCP server indicates the location of its corresponding authorization server to a client.
54+
4255
### Overview
4356

4457
1. MCP authorization servers **MUST** implement OAuth 2.1 with appropriate security
@@ -50,26 +63,13 @@ while maintaining simplicity:
5063
1. MCP servers **MUST** implement OAuth 2.0 Protected Resource Metadata ([RFC9728](https://datatracker.ietf.org/doc/html/rfc9728)).
5164
MCP clients **MUST** use OAuth 2.0 Protected Resource Metadata for authorization server discovery.
5265

53-
1. MCP authorization servers **MUST** provide at least one of the following discovery mechanisms:
66+
1. MCP authorization servers **MUST** provide *at least one* of the following discovery mechanisms:
5467

5568
- OAuth 2.0 Authorization Server Metadata ([RFC8414](https://datatracker.ietf.org/doc/html/rfc8414))
5669
- [OpenID Connect Discovery 1.0](https://openid.net/specs/openid-connect-discovery-1_0-final.html)
5770

5871
MCP clients **MUST** support both discovery mechanisms to obtain the information required to interact with the authorization server.
5972

60-
### Roles
61-
62-
A protected MCP server acts as an [OAuth 2.1 resource server](https://www.ietf.org/archive/id/draft-ietf-oauth-v2-1-12.html#name-roles),
63-
capable of accepting and responding to protected resource requests using access tokens.
64-
65-
An MCP client acts as an [OAuth 2.1 client](https://www.ietf.org/archive/id/draft-ietf-oauth-v2-1-12.html#name-roles),
66-
making protected resource requests on behalf of a resource owner.
67-
68-
The authorization server is responsible for interacting with the user (if necessary) and issuing access tokens for use at the MCP server.
69-
The implementation details of the authorization server are beyond the scope of this specification. It may be hosted with the
70-
resource server or a separate entity. The [Authorization Server Discovery section](#authorization-server-discovery)
71-
specifies how an MCP server indicates the location of its corresponding authorization server to a client.
72-
7373
### Authorization Server Discovery
7474

7575
This section describes the mechanisms by which MCP servers advertise their associated
@@ -304,7 +304,7 @@ requests that appear legitimate to resource servers.
304304
Clients and servers **MUST** implement secure token storage and follow OAuth best practices,
305305
as outlined in [OAuth 2.1, Section 7.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-12#section-7.1).
306306

307-
MCP authorization servers SHOULD issue short-lived access tokens to reduce the impact of leaked tokens.
307+
MCP authorization servers **SHOULD** issue short-lived access tokens to reduce the impact of leaked tokens.
308308
For public clients, MCP authorization servers **MUST** rotate refresh tokens as described in [OAuth 2.1 Section 4.3.1 "Refresh Token Grant"](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-12#section-4.3.1).
309309

310310
### Communication Security

0 commit comments

Comments
 (0)