Skip to content

Commit 68ec276

Browse files
committed
trim down
1 parent 7ac293c commit 68ec276

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

docs/specification/draft/basic/authorization.mdx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,5 @@ Authorization servers **SHOULD** only automatically redirect the user agent if i
301301

302302
Attackers can exploit MCP servers acting as intermediaries to third-party APIs, leading to confused deputy vulnerabilities. By using stolen authorization codes, they can obtain access tokens without user consent. See [Security Best Practices 2.1](/specification/draft/basic/security_best_practices) for details.
303303

304-
MCP proxy servers that use a static client ID for third-party services MUST require explicit
305-
approval for each dynamically registered client before forwarding requests to the
306-
third-party authorization server for user consent.
304+
MCP proxy servers using static client IDs **MUST** obtain user consent for each dynamically
305+
registered client before forwarding to third-party authorization servers (which may require additional consent).

docs/specification/draft/basic/security_best_practices.mdx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,20 @@ Attackers can exploit MCP servers proxying other resource servers, creating "[co
2121
#### 2.1.1 Terminology
2222

2323
**MCP Proxy Server**
24-
: An MCP server that acts as an intermediary between MCP clients and a protected
25-
third-party API. The MCP proxy server provides MCP functionality while delegating
26-
API operations to a third-party API server. The MCP proxy server acts as a single OAuth client to the third-party API server.
24+
: 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.
2725

2826
**Third-Party Authorization Server**
29-
: The authorization server that protects access to the third-party API. This server may not
30-
support dynamic client registration, requiring the MCP proxy server to use a single static
31-
client ID for all requests.
27+
: 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.
3228

3329
**Third-Party API**
3430
: The protected resource server that provides the actual API functionality. Access to this
3531
API requires tokens issued by the third-party authorization server.
3632

3733
**Static Client ID**
3834
: A fixed OAuth 2.0 client identifier used by the MCP proxy server when communicating with
39-
the third-party authorization server, shared across all MCP clients.
35+
the third-party authorization server. This Client ID refers to the MCP server acting as a client
36+
to the Third-Party API. It is the same value for all MCP server to Third-Party API interactions regardless of
37+
which MCP client initiated the request.
4038

4139
#### 2.1.2 Architecture and Attack Flow
4240

@@ -100,7 +98,5 @@ attack becomes possible:
10098

10199
#### 2.1.4 Mitigation
102100

103-
MCP proxy servers that use a static client ID for third-party services MUST require explicit
104-
approval for each dynamically registered client before forwarding requests to the
105-
third-party authorization server for user consent. This ensures that each MCP client's
106-
access is explicitly controlled at the proxy level.
101+
MCP proxy servers using static client IDs **MUST** obtain user consent for each dynamically
102+
registered client before forwarding to third-party authorization servers (which may require additional consent).

0 commit comments

Comments
 (0)