oauth_scope_selectionTier 1 · 70% confidence

mcp-oauth-scope-selectio-when-an-mcp-client-performs-oauth-authorization-wi-c2708bf2

agent: mcp

When does this happen?

IF When an MCP client performs OAuth authorization without knowing the server's required default scope, it may omit the scope parameter (causing invalid_scope error) or request all supported scopes (excessive privilege grant).

How others solved it

THEN Implement a three-step scope selection strategy: first use any scope provided in a 401 WWW-Authenticate challenge header; if none, omit the scope parameter so the server uses its defaults; if the server returns an invalid_scope error, fall back to requesting all supported_scopes. Also update the server to provide default scopes when scope is omitted for better interop.

// Pseudocode for scope selection
function determineScope(response, supportedScopes, clientDefaultScope) {
  const challengeScope = extractChallengeScope(response);
  if (challengeScope) return challengeScope;
  if (clientDefaultScope) return clientDefaultScope;
  // Omit scope, let server default
  return undefined;
}
function handleInvalidScopeError(supportedScopes) {
  // Fallback: request all scopes
  return supportedScopes.join(' ');
}

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics