Offline MCP authorization conformance matrix¶
Synthetic, offline regression coverage for authorization boundaries. This is not a certification claim.
| Case | Protocol behavior | Boundary | Declared outcome |
|---|---|---|---|
| negative-insufficient-tool-scope | reject a tool call when its required scope is absent | tool_authorization | insufficient_tool_scope |
| negative-invalid-pkce | reject an authorization code exchange with mismatched PKCE references | authorization_code_exchange | invalid_pkce |
| negative-missing-resource-indicator | reject authorization without a protected resource indicator | authorization_request | missing_resource_indicator |
| negative-oversized-payload | reject a tool payload above the local MCP policy limit | payload_policy | oversized_payload |
| negative-redirect-mismatch | reject a callback URI not registered by the authorization client | redirect_validation | redirect_mismatch |
| negative-token-passthrough | reject forwarding the bearer credential to a downstream tool | transport_policy | token_passthrough |
| negative-unapproved-state-change | reject a state-changing tool call without explicit approval | state_change_policy | unapproved_state_change |
| negative-wrong-audience | reject a token issued for another resource | token_validation | wrong_audience |
| positive-approved-state-change | explicitly approved state-changing tool authorization | state_change_policy | pass |
| positive-read-tool | valid read-only tool authorization | tool_authorization | pass |