Skip to content

Commit b55f2ae

Browse files
authored
Merge branch 'main' into elicitation/expect-server-flag
2 parents 1f9f641 + 48d9c77 commit b55f2ae

File tree

2 files changed

+11
-16
lines changed

2 files changed

+11
-16
lines changed

docs/clients.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ This page provides an overview of applications that support the Model Context Pr
1111

1212
{/* prettier-ignore-start */}
1313

14+
1415
| Client | [Resources] | [Prompts] | [Tools] | [Discovery] | [Sampling] | [Roots] | [Elicitation] | [Instructions] |
1516
| ------------------------------------------------ | ----------- | --------- | ------- | ---------------------- | ---------- | ----- | ------------ | -------------- |
1617
| [5ire][5ire] |||||||||
@@ -48,7 +49,7 @@ This page provides an overview of applications that support the Model Context Pr
4849
| [Genkit][Genkit] | ⚠️ ||||||||
4950
| [Glama][Glama] |||||||||
5051
| [Gemini CLI][Gemini CLI] |||||||||
51-
| [GenAIScript][GenAIScript] | ||||||||
52+
| [GenAIScript][GenAIScript] | ||||||||
5253
| [GitHub Copilot coding agent][GitHubCopilotCodingAgent] |||||||||
5354
| [goose][goose] |||||||||
5455
| [gptme][gptme] |||||||||

docs/specification/draft/basic/authorization.mdx

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,13 @@ MCP supports three client registration mechanisms. Choose based on your scenario
203203
- **Pre-registration**: When client and server have an existing relationship
204204
- **Dynamic Client Registration**: For backwards compatibility or specific requirements
205205

206+
Clients supporting all options **SHOULD** follow the following priority order:
207+
208+
1. Use pre-registered client information for the server if the client has it available
209+
2. Use Client ID Metadata Documents if the Authorization Server indicates if the server supports it (via `client_id_metadata_document_supported` in OAuth Authorization Server Metadata)
210+
3. Use Dynamic Client Registration as a fallback if the Authorization Server supports it (via `registration_endpoint` in OAuth Authorization Server Metadata)
211+
4. Prompt the user if no other option is available
212+
206213
### Client ID Metadata Documents
207214

208215
MCP clients and authorization servers **SHOULD** support OAuth Client ID Metadata Documents as specified in
@@ -630,21 +637,8 @@ The authorization server takes a URL as input from an unknown client and fetches
630637
A malicious client could use this to trigger the authorization server to make requests to arbitrary URLs,
631638
such as requests to private administration endpoints the authorization server has access to.
632639

633-
Authorization servers fetching metadata documents **MUST** protect against
634-
[Server-Side Request Forgery (SSRF)](https://developer.mozilla.org/docs/Web/Security/Attacks/SSRF) attacks,
635-
as well as against being used as Denial of Service (DoS) amplifiers:
636-
637-
- Validate URLs and resolved IP addresses before fetching
638-
- Limit response size (recommended 5 kilobytes)
639-
- Implement request timeouts
640-
- Implement aggressive caching of metadata documents (respecting HTTP cache headers)
641-
- Never cache error responses or invalid documents
642-
- Rate limit metadata fetch requests per client
643-
- Monitor and alert on unusual metadata fetch patterns
644-
- Only fetch client metadata after authenticating the user
645-
646-
While there is no amplification in the fetch request bandwidth, aggressive caching minimizes
647-
the risk of authorization servers being used in distributed denial of service attacks.
640+
Authorization servers fetching metadata documents **SHOULD** consider
641+
[Server-Side Request Forgery (SSRF)](https://developer.mozilla.org/docs/Web/Security/Attacks/SSRF) risks, as described in [OAuth Client ID Metadata Document: Server Side Request Forgery (SSRF) Attacks](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-client-id-metadata-document-00#name-server-side-request-forgery).
648642

649643
#### Localhost Redirect URI Risks
650644

0 commit comments

Comments
 (0)