Named security schemes are non-empty and each scheme has a type and the fields that type requires, such as OAuth flows with their URLs and scopes. Unknown properties are rejected.
Requirement
Section titled “Requirement”securitySchemes is a non-empty map of Security Scheme Objects that contain their type-specific required fields and only defined properties.
Details
Section titled “Details”Rule ID: mcpdesc.security-scheme.members
Owner: mcpdesc
Surface: Security Scheme
Kind: structural
Requirement level: must
Protocol versions: independent of the MCP protocol version
Document schema locations: #/$defs/securitySchemeMap, #/$defs/securityScheme, #/$defs/oauthFlows, #/$defs/oauthFlow
Status: internal · Enforcement: internal
Required by
Section titled “Required by”- MCP Description 0.9.0, Sections 7.1 and 7.2
- 7. Security: req-security-scheme-fields
-
- Security: req-security-schemes-map
-
- Security: req-oauth-flows-fields
-
- Serialization: req-serialization-value-formats
Examples
Section titled “Examples”Invalid example
Section titled “Invalid example”Source: expected-invalid/empty-ordinary-root-collections.json · Selected: /securitySchemes
{}Invalid example
Section titled “Invalid example”Source: expected-invalid/invalid-security-scheme-name.json · Selected: /securitySchemes
{ "invalid name": { "type": "http", "scheme": "bearer" }}Invalid example
Section titled “Invalid example”Source: expected-invalid/discriminated-union-members.json · Selected: /securitySchemes/token
{ "type": "http", "shceme": "bearer"}Rule Source Code
Section titled “Rule Source Code”document.yaml at immutable tag v0.9.0-rc.3.