AWS Cognito MCP authentication: known deviations

Access tokens carry client_id instead of aud, so a standard audience check passes vacuously.

How AWS Cognito deviates from the MCP authorization spec

How to spot it without credentials

Discovery lives at cognito-idp.{region}.amazonaws.com/{pool}/.well-known/openid-configuration.

What it breaks in production

A generic JWT verifier accepts any token minted anywhere in the user pool: a token for server A works on server B — cross-server replay inside one pool, structural rather than accidental.

Check a AWS Cognito-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

Other providers