MCP-AUT-009
offline_access absent from scopes_supported / challenge scope
“MCP Servers (Protected Resources) SHOULD NOT include offline_access in WWW-Authenticate scope or Protected Resource Metadata scopes_supported.” — spec anchor
How to fix this
Remove `offline_access` from `scopes_supported` and from the challenge scope. Requesting it grants refresh tokens the resource server does not need.
How the validator checks this
Probe P8.2, against a streamable-http server on the modern protocol. What it reports:
- pass
- offline_access is not advertised in the challenge
- info
- Challenge advertises offline_access. Refresh-token lifetime is the authorization server's concern; a resource server SHOULD NOT ask for it.
Quoted from the probe that runs this check, so it cannot drift from what the validator actually reports.
This rule is checked deterministically: a fail here is a certain violation, not an inference.
Checked in the same request as MCP-AUT-002, MCP-AUT-003.
Check your own server against this rule
The validator makes real protocol requests and reports this rule as pass, warn or fail alongside the other 78. Validate a server or read how the check works.
Other Authorization rules
- MCP-AUT-001Unauthenticated request returns 401 with WWW-Authenticate resource_metadata
- MCP-AUT-002RFC 9728 Protected Resource Metadata is served and valid
- MCP-AUT-003PRM resource equals the canonical server URI
- MCP-AUT-004Each listed authorization server exposes RFC 8414 or OIDC discovery metadata
- MCP-AUT-005AS advertises authorization_response_iss_parameter_supported: true
- MCP-AUT-006WWW-Authenticate includes a scope parameter
- MCP-AUT-007Insufficient scope returns 403 with error="insufficient_scope"
- MCP-AUT-008Tokens with a foreign audience are rejected
- MCP-AUT-010AS advertises S256 in code_challenge_methods_supported
- MCP-AUT-011AS supports Client ID Metadata Documents, not DCR alone