GitHub MCP authentication: known deviations
Not OIDC at all: opaque tokens, no discovery, no JWKS, and scopes only in a response header.
How GitHub deviates from the MCP authorization spec
- Opaque tokens with no introspection endpoint, no JWKS, and no discovery document.
- Granted scopes are visible only in the X-OAuth-Scopes response header of an API call.
- Common integrations fall back to fabricated default scopes when the header comes back empty — scope enforcement becomes a no-op.
How to spot it without credentials
Authorize at github.com/login/oauth/authorize, and no jwks_uri anywhere in any metadata.
What it breaks in production
Any check built on OIDC discovery finds nothing, and default-scope fallbacks mean the scopes a server thinks it enforced were never granted.
Check a GitHub-backed MCP server
The free scanner runs the discovery and client-compatibility checks with no credentials, and every finding cites the spec requirement it violates:
npx mcpcomp https://your-mcp-server.example/mcp