Scan report

Square

https://mcp.squareup.com/sse against MCP Authorization 2026-07-28 · newest scanner observation

Atlas pageJSONData file

Grade C

  • SHOULD-level check unsupported: Scope in the WWW-Authenticate challenge
  • SHOULD-level check unsupported: Client ID Metadata Documents supported
  • SHOULD-level check unsupported: Issuer identifier in authorization responses
MCP server requirements
RequirementLevelStatusEvidenceObserved
Protected Resource Metadata served mcp.prm · Authorization Server Discovery › Authorization Server LocationMUST Supportedsource HTTP 200; resource: https://mcp.squareup.com/sse
PRM lists an authorization server mcp.prm.authorization-servers · Authorization Server Discovery › Authorization Server LocationMUST Supportedsource HTTP 200; authorization_servers: [https://mcp.squareup.com]
PRM lists scopes_supported mcp.prm.scopes-supported · Authorization › Scope Selection StrategyMAY Unsupportedsource HTTP 200; scopes_supported: absent
PRM reachable at a well-known URI mcp.prm.well-known · Authorization Server Discovery › Protected Resource Metadata Discovery RequirementsMUST Supportedsource HTTP 200; found at the path-aware location
resource_metadata in the 401 challenge mcp.prm.www-authenticate · Authorization Server Discovery › Protected Resource Metadata Discovery RequirementsMUST Supportedsource HTTP 401; WWW-Authenticate resource_metadata: https://mcp.squareup.com/.well-known/oauth-protected-resource/sse
Scope in the WWW-Authenticate challenge mcp.rs.scope-challenge · Authorization › Scope Selection StrategySHOULD Unsupportedsource HTTP 401; WWW-Authenticate: Bearer realm="OAuth", resource_metadata="https://mcp.squareup.com/.well-known/oauth-protected-resource/sse", error="invalid_token", error_description="Missing or invalid access token", no scope parameter
No offline_access in advertised scopes mcp.prm.no-offline-access · Authorization › Refresh TokensSHOULD Unknownsource HTTP 200; scopes_supported: absent, so no scope is advertised to judge
Authorization server requirements
RequirementLevelStatusEvidenceObserved
Metadata issuer matches the discovery URL mcp.as.issuer-match · Authorization Server Discovery › Authorization Server Metadata DiscoveryMUST Supportedsource HTTP 200; issuer: https://mcp.squareup.com equals the issuer the PRM named
Authorization server metadata discoverable mcp.as.metadata · Authorization Server Discovery › Authorization Server Metadata DiscoveryMUST Supportedsource HTTP 200; issuer: https://mcp.squareup.com
Client ID Metadata Documents supported mcp.as.cimd · Client Registration › Client ID Metadata DocumentsSHOULD Unsupportedsource HTTP 200; client_id_metadata_document_supported: false
Dynamic Client Registration offered mcp.as.dcr · Client Registration › Dynamic Client RegistrationMAY Supportedsource HTTP 200; registration_endpoint: https://mcp.squareup.com/register
Issuer identifier in authorization responses mcp.as.iss-param · Authorization › Authorization Response ValidationSHOULD Unsupportedsource HTTP 200; authorization_response_iss_parameter_supported: absent
PKCE with S256 advertised mcp.as.pkce-s256 · Security Considerations › Authorization Code ProtectionMUST Supportedsource HTTP 200; code_challenge_methods_supported: [plain, S256]
All endpoints served over HTTPS mcp.as.https · Security Considerations › Communication SecurityMUST Supportedsource HTTP 200; all 4 endpoints use https

Judged against MCP Authorization 2026-07-28 · newest scanner observation · method passive scan · letsauth-scanner/0.4.0

How the grade is derived

  1. F when a MUST-level check is unsupported or partial.
  2. Withheld (no letter) when a MUST-level check is unknown: the scanner could not establish it.
  3. C when every MUST-level check is supported and a SHOULD-level check is unsupported or partial.
  4. B when every MUST-level check is supported, no SHOULD-level check fails, and a SHOULD-level check is unknown.
  5. A when every MUST-level and SHOULD-level check is supported.
  6. A MUST the server may meet in either of two ways is met when either way is supported, and counts as unknown, not unsupported, while the other way is unknown: protected resource metadata may be served at a well-known location or announced in the WWW-Authenticate challenge the endpoint returns to an unauthenticated request; the scanner reads both.
  7. MAY-level and deprecated requirements are listed and never change the grade.
  8. Servers whose auth class is API key or no authentication are not graded: there is no OAuth authorization to check. The class is an evidenced statement on the server, not the directory's claim.

Derived from the statuses above at build time; never used to sort or rank servers. About the scanner.

Not checked by the scanner

These requirements need a token, a scope or a reading of the implementation. Their cells on the atlas page come from documentation and manual checks.