Apify
How it meets the 23 requirements of MCP Authorization.
- Supported
- 12
- Unsupported
- 2
- Unknown, recorded
- 0
- Not observed yet
- 9
- Endpoint
https://mcp.apify.com- Transport
- Streamable HTTP
- Access
- Public Anyone can connect; where an account is needed, anyone can create one by self-service sign-up. Manual check · jbspeakr (documentation pass with Claude Code) · · evidence · An Apify account, created by self-service sign-up, is the only prerequisite; some tools work without one.
- Auth
- OAuth An OAuth 2.x authorization obtained through the server's authorization server. Manual check · jbspeakr (documentation pass with Claude Code) · · evidence · The recommended hosted connection is Streamable HTTP with OAuth sign-in; an Apify API token as bearer header is the alternative.
- Why it is listed
- Listed because it appears in a public directory of MCP servers. Source
- Homepage
- https://apify.com
- Notes
- The directory labels this server API Key; Apify's docs now recommend OAuth, so the atlas records OAuth.
Against MCP Authorization 2026-07-28current
- Supported 12
- Unsupported 2
- Unknown 9
Passive scan · Requests
- MUST8 supported
- SHOULD3 supported, 1 unsupported
- MAY2 supported
Older revisions of the matrix: 2025-11-25
MCP server features 13
| Feature | Level | Status | Observed | Evidence |
|---|---|---|---|---|
| Protected Resource Metadata served | MUST | Supported | source | |
| PRM lists an authorization server | MUST | Supported | source | |
| PRM lists scopes_supported | MAY | Supported | source | |
| PRM reachable at a well-known URI | MUST | Supported | source | |
| resource_metadata in the 401 challenge | MUST | Unsupported | source | |
| 403 insufficient_scope for step-up | SHOULD | Unknown no observation | no observation yet | |
| Scope in the WWW-Authenticate challenge | SHOULD | Unsupported | source | |
| No offline_access in advertised scopes | SHOULD | Supported | source | |
| 401 for missing or invalid tokens | MUST | Unknown no observation | no observation yet | |
| Audience validation | MUST | Unknown no observation | no observation yet | |
| Bearer token only in the Authorization header | MUST | Unknown no observation | no observation yet | |
| No token passthrough to upstream APIs | MUST | Unknown no observation | no observation yet | |
| Per-client consent on proxy servers | MUST | Unknown no observation | no observation yet |
Authorization server features 10
| Feature | Level | Status | Observed | Evidence |
|---|---|---|---|---|
| Metadata issuer matches the discovery URL | MUST | Supported | source | |
| Authorization server metadata discoverable | MUST | Supported | source | |
| Client ID Metadata Documents supported | SHOULD | Supported | source | |
| Dynamic Client Registration offered | MAY | Supported | source | |
| Documented pre-registration path | SHOULD | Unknown no observation | no observation yet | |
| Issuer identifier in authorization responses | SHOULD | Supported | source | |
| PKCE with S256 advertised | MUST | Supported | source | |
| Refresh token rotation for public clients | MUST | Unknown no observation | no observation yet | |
| Resource indicators honoured | MUST | Unknown no observation | no observation yet | |
| All endpoints served over HTTPS | MUST | Supported | source |
This server's ledger
No status change on recordEvery cell of this server still shows the status of its first observation.
What the scanner asked
The requests behind the rows marked passive scan above, in the order the scanner makes them, each with the newest answer recorded. None carries a credential or a message.
- GEThttps://mcp.apify.com/.well-known/oauth-protected-resourceHTTP 200read resource, authorization_servers, scopes_supported
- GEThttps://mcp.apify.com/HTTP 401read status, WWW-Authenticate
- GEThttps://console-backend.apify.com/.well-known/oauth-authorization-serverHTTP 200read issuer, client_id_metadata_document_supported, registration_endpoint, authorization_response_iss_parameter_supported, code_challenge_methods_supported
- 14 checks, read into the tables above
resource_metadata in the 401 challenge counts as supported because PRM reachable at a well-known URI is supported; the specification asks for one of the two.
Newest scanner observation · letsauth-scanner/0.4.0 · reproduce with pnpm scan apify · scan JSON · data file · how the scanner works