Skip to content

Commit 30c7afb

Browse files
authored
Merge pull request modelcontextprotocol#882 from ArcadeAI/nbarbettini/errata-1
docs: Fix typos, update links
2 parents 3eee44c + b647205 commit 30c7afb

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
This repo contains the specification and protocol schema for the Model Context Protocol.
44

5-
The schema is [defined in TypeScript](schema/2025-03-26/schema.ts) first, but
6-
[made available as JSON Schema](schema/2025-03-26/schema.json) as well, for wider
5+
The schema is [defined in TypeScript](schema/2025-06-18/schema.ts) first, but
6+
[made available as JSON Schema](schema/2025-06-18/schema.json) as well, for wider
77
compatibility.
88

99
The official MCP documentation is built using Mintlify and available at

docs/specification/draft/basic/authorization.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ A MCP server **MUST** follow the guidelines in [OAuth 2.1 - Section 5.2](https:/
367367

368368
MCP servers **MUST** only accept tokens specifically intended for themselves and **MUST** reject tokens that do not include them in the audience claim or otherwise verify that they are the intended recipient of the token. See the [Security Best Practices Token Passthrough section](/specification/draft/basic/security_best_practices#token-passthrough) for details.
369369

370-
If the MCP server makes requests to upstream APIs, it may act as an OAuth client to them. The access token used at the upstream API is a seperate token, issued by the upstream authorization server. The MCP server **MUST NOT** pass through the token it received from the MCP client.
370+
If the MCP server makes requests to upstream APIs, it may act as an OAuth client to them. The access token used at the upstream API is a separate token, issued by the upstream authorization server. The MCP server **MUST NOT** pass through the token it received from the MCP client.
371371

372372
MCP clients **MUST** implement and use the `resource` parameter as defined in [RFC 8707 - Resource Indicators for OAuth 2.0](https://www.rfc-editor.org/rfc/rfc8707.html)
373373
to explicitly specify the target resource for which the token is being requested. This requirement aligns with the recommendation in

docs/specification/draft/basic/security_best_practices.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ title: Security Best Practices
88

99
### Purpose and Scope
1010

11-
This document provides security considerations for the Model Context Protocol (MCP), complementing the MCP Authorization specification. This document identifies security risks, attack vectors, and best practices specific to MCP implementations.
11+
This document provides security considerations for the Model Context Protocol (MCP), complementing the [MCP Authorization](../basic/authorization.mdx) specification. This document identifies security risks, attack vectors, and best practices specific to MCP implementations.
1212

1313
The primary audience for this document includes developers implementing MCP authorization flows, MCP server operators, and security professionals evaluating MCP-based systems. This document should be read alongside the MCP Authorization specification and [OAuth 2.0 security best practices](https://datatracker.ietf.org/doc/html/rfc9700).
1414

@@ -26,7 +26,7 @@ Attackers can exploit MCP servers proxying other resource servers, creating "[co
2626
: An MCP server that connects MCP clients to third-party APIs, offering MCP features while delegating operations and acting as a single OAuth client to the third-party API server.
2727

2828
**Third-Party Authorization Server**
29-
: Authorization server that protects the third-party API. It may lack dynamic client registration support, requiring MCP proxy to use a static client ID for all requests.
29+
: Authorization server that protects the third-party API. It may lack dynamic client registration support, requiring the MCP proxy to use a static client ID for all requests.
3030

3131
**Third-Party API**
3232
: The protected resource server that provides the actual API functionality. Access to this
@@ -108,9 +108,9 @@ attack becomes possible:
108108
3. An attacker later sends the user a malicious link containing a crafted authorization request which contains a malicious redirect URI along with a new dynamically registered client ID
109109
4. When the user clicks the link, their browser still has the consent cookie from the previous legitimate request
110110
5. The third-party authorization server detects the cookie and skips the consent screen
111-
6. The MCP authorization code is redirected to the attacker's server (specified in the crafted redirect_uri during dynamic client registration)
111+
6. The MCP authorization code is redirected to the attacker's server (specified in the malicious `redirect_uri` parameter during [dynamic client registration](/specification/draft/basic/authorization#dynamic-client-registration))
112112
7. The attacker exchanges the stolen authorization code for access tokens for the MCP server without the user's explicit approval
113-
8. Attacker now has access to the third-party API as the compromised user
113+
8. The attacker now has access to the third-party API as the compromised user
114114

115115
#### Mitigation
116116

@@ -119,7 +119,7 @@ registered client before forwarding to third-party authorization servers (which
119119

120120
### Token Passthrough
121121

122-
"Token passthrough" is an anti-pattern where an MCP server accepts tokens from an MCP client without validating that the tokens were properly issued _to the MCP server_ and "passing them through" to the downstream API.
122+
"Token passthrough" is an anti-pattern where an MCP server accepts tokens from an MCP client without validating that the tokens were properly issued _to the MCP server_ and passes them through to the downstream API.
123123

124124
#### Risks
125125

docs/specification/draft/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Servers offer any of the following features to clients:
6464
Clients may offer the following features to servers:
6565

6666
- **Sampling**: Server-initiated agentic behaviors and recursive LLM interactions
67-
- **Roots**: Server-initiated inquiries into uri or filesystem boundaries to operate in
67+
- **Roots**: Server-initiated inquiries into URI or filesystem boundaries to operate in
6868
- **Elicitation**: Server-initiated requests for additional information from users
6969

7070
### Additional Utilities

0 commit comments

Comments
 (0)