An independent lab for agent authorization
How MCP servers authorize AI agents
- Public MCP servers
- 52
- Spec requirements
- 23
All shows every requirement at a glance. A group shows its cells, and each cell opens its observation. A server's name opens its page with every requirement.
| Discovery | Registration | Authorization | Tokens | Transport | Delegation | Consent | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Server52 listed, A to Z · nightly scan | |||||||||||||||||||||||
| AirtableAccess: PublicAuth: OAuthAirtable scan | |||||||||||||||||||||||
| AmplitudeAccess: UnknownAuth: OAuthAmplitude scan | |||||||||||||||||||||||
| ApifyAccess: PublicAuth: OAuthApify scan | |||||||||||||||||||||||
| AsanaAccess: PublicAuth: OAuthAsana scan | |||||||||||||||||||||||
| AtlassianAccess: PublicAuth: OAuthAtlassian scan | |||||||||||||||||||||||
| AttioAccess: PublicAuth: OAuthAttio scan | |||||||||||||||||||||||
| AWS KnowledgeAccess: PublicAuth: No authenticationAWS Knowledge scan | |||||||||||||||||||||||
| BigQueryAccess: PublicAuth: OAuthBigQuery scan | |||||||||||||||||||||||
| BoxAccess: ClosedAuth: OAuthBox scan | |||||||||||||||||||||||
| BuildkiteAccess: PublicAuth: OAuthBuildkite scan | |||||||||||||||||||||||
| CalendlyAccess: UnknownAuth: OAuthCalendly scan | |||||||||||||||||||||||
| CanvaAccess: PublicAuth: OAuthCanva scan | |||||||||||||||||||||||
| ClickUpAccess: PublicAuth: OAuthClickUp scan | |||||||||||||||||||||||
| Cloudflare WorkersAccess: PublicAuth: OAuthCloudflare Workers scan | |||||||||||||||||||||||
| CloudinaryAccess: PublicAuth: OAuthCloudinary scan | |||||||||||||||||||||||
| DatadogAccess: UnknownAuth: OAuthDatadog scan | |||||||||||||||||||||||
| DeepWikiAccess: PublicAuth: No authenticationDeepWiki scan | |||||||||||||||||||||||
| FigmaAccess: PublicAuth: OAuthFigma scan | |||||||||||||||||||||||
| Fireflies.aiAccess: PublicAuth: OAuthFireflies.ai scan | |||||||||||||||||||||||
| GitHubAccess: PublicAuth: OAuthGitHub scan | |||||||||||||||||||||||
| GitLabAccess: PublicAuth: OAuthGitLab scan | |||||||||||||||||||||||
| GranolaAccess: PublicAuth: OAuthGranola scan | |||||||||||||||||||||||
| HubSpotAccess: PublicAuth: UnknownHubSpot scan | |||||||||||||||||||||||
| Hugging FaceAccess: PublicAuth: No authenticationHugging Face scan | |||||||||||||||||||||||
| IntercomAccess: PublicAuth: OAuthIntercom scan | |||||||||||||||||||||||
| LinearAccess: PublicAuth: OAuthLinear scan | |||||||||||||||||||||||
| Microsoft LearnAccess: PublicAuth: No authenticationMicrosoft Learn scan | |||||||||||||||||||||||
| MiroAccess: PublicAuth: OAuthMiro scan | |||||||||||||||||||||||
| MixpanelAccess: PublicAuth: OAuthMixpanel scan | |||||||||||||||||||||||
| monday.comAccess: PublicAuth: OAuthmonday.com scan | |||||||||||||||||||||||
| NeonAccess: PublicAuth: OAuthNeon scan | |||||||||||||||||||||||
| NetlifyAccess: PublicAuth: UnknownNetlify scan | |||||||||||||||||||||||
| NotionAccess: PublicAuth: OAuthNotion scan | |||||||||||||||||||||||
| PayPalAccess: PublicAuth: OAuthPayPal scan | |||||||||||||||||||||||
| PlaidAccess: ClosedAuth: OAuthPlaid scan | |||||||||||||||||||||||
| PostHogAccess: PublicAuth: OAuthPostHog scan | |||||||||||||||||||||||
| PostmanAccess: PublicAuth: OAuthPostman scan | |||||||||||||||||||||||
| Prisma PostgresAccess: PublicAuth: OAuthPrisma Postgres scan | |||||||||||||||||||||||
| RampAccess: UnknownAuth: OAuthRamp scan | |||||||||||||||||||||||
| SentryAccess: PublicAuth: OAuthSentry scan | |||||||||||||||||||||||
| SlackAccess: ClosedAuth: OAuthSlack scan | |||||||||||||||||||||||
| SquareAccess: PublicAuth: OAuthSquare scan | |||||||||||||||||||||||
| Stack OverflowAccess: PublicAuth: OAuthStack Overflow scan | |||||||||||||||||||||||
| StripeAccess: PublicAuth: OAuthStripe scan | |||||||||||||||||||||||
| StytchAccess: UnknownAuth: OAuthStytch scan | |||||||||||||||||||||||
| SupabaseAccess: PublicAuth: OAuthSupabase scan | |||||||||||||||||||||||
| TodoistAccess: PublicAuth: OAuthTodoist scan | |||||||||||||||||||||||
| VercelAccess: PublicAuth: OAuthVercel scan | |||||||||||||||||||||||
| WebflowAccess: PublicAuth: OAuthWebflow scan | |||||||||||||||||||||||
| WixAccess: PublicAuth: OAuthWix scan | |||||||||||||||||||||||
| ZapierAccess: PublicAuth: OAuthZapier scan | |||||||||||||||||||||||
| ZoomAccess: ClosedAuth: OAuthZoom scan | |||||||||||||||||||||||
- Supported
- Partial
- Unsupported
- Unknown
- Not applicable
- Unknown no observation
52 of 52 servers, 23 of 23 features
Revision 2026-07-28 currentEarlier: 2025-11-25What changed since 2025-11-25
MUST, SHOULD and MAY are the requirement levels the revision puts on the feature. RS and AS name the party the feature is observed on. The nightly scanner reads 14 of these requirements from public metadata; the trace marknext to a server's name opens what it asked. Rows are alphabetical. Nothing here is scored or ranked.
- Access
- public · closed · unknown: who can connect, as the server page's evidence says.
- Auth
- oauth · api key · no authentication · unknown: how the endpoint authenticates clients. A faint mark after a server's name is a class nobody has stated yet. Both come from the evidence on the server page. API-key and unauthenticated servers are not scanned.
- Servers
- 52
- Requirements
- 23
- Cells observed
- 779 / 1196
- Access
- 43 public, 4 closed, 5 unknown
- Auth
- 46 oauth, 4 no authentication, 2 unknown
The ledger, since the last run
124 status changes on record4 scan runs since the last change. No status changed.
NeonClient ID Metadata Documents supported
→Supported
Passive scan · observed 4 times · source
HTTP 200; client_id_metadata_document_supported: true
3 earlier observations
- · Unsupported · Passive scan
- · Unsupported · Passive scan
- · Unsupported · Passive scan
NeonIssuer identifier in authorization responses
→Supported
Passive scan · observed 4 times · source
HTTP 200; authorization_response_iss_parameter_supported: true
3 earlier observations
- · Unsupported · Passive scan
- · Unsupported · Passive scan
- · Unsupported · Passive scan
VercelClient ID Metadata Documents supported
→Supported
Passive scan · observed 4 times · source
HTTP 200; client_id_metadata_document_supported: true
3 earlier observations
- · Unsupported · Passive scan
- · Unsupported · Passive scan
- · Unsupported · Passive scan
BoxMetadata issuer matches the discovery URL
→Unsupported
Passive scan · observed 3 times · source
HTTP 200; issuer: https://api.box.com, PRM named https://api.box.com/
2 earlier observations
- · Supported · Passive scan
- · Supported · Passive scan
BoxPRM reachable at a well-known URI
→Unsupported
Passive scan · observed 4 times · source
HTTP 200; not at either well-known location (root HTTP 200, root HTTP 200)
3 earlier observations
- · Supported · Passive scan
- · Supported · Passive scan
- · Supported · Vendor claim
BuildkiteNo offline_access in advertised scopes
→Unknown
Passive scan · observed 3 times · source
HTTP 200; scopes_supported: absent, so no scope is advertised to judge
2 earlier observations
- · Supported · Passive scan
- · Unknown · Passive scan