You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Five baseline scenarios cover scope acquisition strategies the client must follow when constructing authorize/token requests:
auth/scope-from-www-authenticate — parse scope="<list>" from WWW-Authenticate insufficient_scope challenges and request those scopes on next authorize.
auth/scope-from-scopes-supported — when no challenge hint, fall back to scopes_supported from AS metadata.
auth/scope-omitted-when-undefined — when neither source provides scopes, omit the scope parameter entirely (do not send empty string).
auth/scope-step-up — on 403/401 with error=insufficient_scope, restart auth flow requesting the augmented scope set.
auth/scope-retry-limit — bound step-up retries to one to prevent infinite loops.
Scope
Mcp\Client\Auth\ScopeResolver consulted by AuthCoordinator before every authorize/token request.
Cross-reference: the client-side accumulation portion of this work implements SEP-2350 for the MCP Spec 2026-07-28 release.
Per RFC 6750 §3.1, servers report only scopes needed for the current operation in insufficient_scope 403 responses — clients are responsible for computing the union of (previously requested ∪ newly challenged) scopes when initiating step-up re-authorization. The client must track previously-requested scopes per AS (persist alongside tokens in #315).
The matching server-side change is tracked as #362. See umbrella #338.
Activity
chr-hertel commentedon May 26, 2026
Cross-reference: the client-side accumulation portion of this work implements SEP-2350 for the MCP Spec 2026-07-28 release.
Per RFC 6750 §3.1, servers report only scopes needed for the current operation in
insufficient_scope403 responses — clients are responsible for computing the union of (previously requested ∪ newly challenged) scopes when initiating step-up re-authorization. The client must track previously-requested scopes per AS (persist alongside tokens in #315).The matching server-side change is tracked as #362. See umbrella #338.
[Client] Add OAuth authorization to the HTTP transport
[Client] Add OAuth authorization to the HTTP transport