Server

Vercel

Endpoint
https://mcp.vercel.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 · Any Vercel account connects through an AI client reviewed and approved by Vercel; a new client must submit a review form, which restricts client authors, not the person connecting.
Auth
OAuth An OAuth 2.x authorization obtained through the server's authorization server. Manual check · jbspeakr (documentation pass with Claude Code) · · evidence · Remote MCP with OAuth and a mandatory consent screen per the MCP Authorization spec.
Why it is listed
Listed because it appears in a public directory of MCP servers. Source
Homepage
https://vercel.com

Against MCP Authorization 2026-07-28current

  • Supported 12
  • Partial 1
  • Unsupported 3
  • Unknown 7

Passive scanGrade C · · Report

Contribute a correctionWithdraw this serverJSON

Older revisions of the matrix: 2025-11-25

MCP server features 13

FeatureLevelStatusObservedEvidence
Protected Resource Metadata servedmcp.prm · Discovery · Authorization Server Discovery › Authorization Server LocationMUSTSupportedPassive scan · scanner@0.3.0source— HTTP 200; resource: https://mcp.vercel.com/
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
PRM lists an authorization servermcp.prm.authorization-servers · Discovery · Authorization Server Discovery › Authorization Server LocationMUSTSupportedPassive scan · scanner@0.3.0source— HTTP 200; authorization_servers: [https://vercel.com]
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
PRM lists scopes_supportedmcp.prm.scopes-supported · Discovery · Authorization › Scope Selection StrategyMAYSupportedPassive scan · scanner@0.3.0source— HTTP 200; scopes_supported: [openid]
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
PRM reachable at a well-known URImcp.prm.well-known · Discovery · Authorization Server Discovery › Protected Resource Metadata Discovery RequirementsMUSTSupportedPassive scan · scanner@0.3.0source— HTTP 200; found at the root location
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
resource_metadata in the 401 challengemcp.prm.www-authenticate · Discovery · Authorization Server Discovery › Protected Resource Metadata Discovery RequirementsMUSTSupportedPassive scan · scanner@0.3.0source— HTTP 401; WWW-Authenticate resource_metadata: https://mcp.vercel.com/.well-known/oauth-protected-resource
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
403 insufficient_scope for step-upmcp.rs.insufficient-scope · Authorization · Authorization › Scope Challenge HandlingSHOULDUnknown no observationno observation yet
Scope in the WWW-Authenticate challengemcp.rs.scope-challenge · Authorization · Authorization › Scope Selection StrategySHOULDUnsupportedPassive scan · scanner@0.3.0source— HTTP 401; WWW-Authenticate: Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://mcp.vercel.com/.well-known/oauth-protected-resource", no scope parameter
No offline_access in advertised scopesmcp.prm.no-offline-access · Tokens · Authorization › Refresh TokensSHOULDSupportedPassive scan · scanner@0.3.0source— HTTP 200; scopes_supported without offline_access: [openid]
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
401 for missing or invalid tokensmcp.rs.401-on-invalid · Tokens · Authorization › Token HandlingMUSTUnknown no observationno observation yet
Audience validationmcp.rs.audience-validation · Tokens · Security Considerations › Access Token Privilege RestrictionMUSTUnknown no observationno observation yet
Bearer token only in the Authorization headermcp.rs.bearer-header · Tokens · Authorization › Access Token UsageMUSTUnknown no observationno observation yet
No token passthrough to upstream APIsmcp.rs.no-passthrough · Delegation · Security Considerations › Access Token Privilege RestrictionMUSTUnknown no observationno observation yet
Per-client consent on proxy serversmcp.proxy.consent · Consent · Security Considerations › Confused Deputy ProblemMUSTSupportedVendor claim · jbspeakr (documentation pass with Claude Code)source— "Vercel MCP protects against confused deputy attacks by requiring explicit user consent for each client connection" (Vercel acts as its own authorization server rather than a proxy; recorded because the per-client consent behaviour is explicitly stated. The blog post also states: 'We maintain an allowlist of approved clients and require an OAuth consent screen on every connection.' (https://vercel.com/blog/introducing-vercel-mcp-connect-vercel-to-your-ai-tools))

Authorization server features 10

FeatureLevelStatusObservedEvidence
Metadata issuer matches the discovery URLmcp.as.issuer-match · Discovery · Authorization Server Discovery › Authorization Server Metadata DiscoveryMUSTSupportedPassive scan · scanner@0.3.0source— HTTP 200; issuer: https://vercel.com equals the issuer the PRM named
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
Authorization server metadata discoverablemcp.as.metadata · Discovery · Authorization Server Discovery › Authorization Server Metadata DiscoveryMUSTSupportedPassive scan · scanner@0.3.0source— HTTP 200; issuer: https://vercel.com
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
Client ID Metadata Documents supportedmcp.as.cimd · Registration · Client Registration › Client ID Metadata DocumentsSHOULDUnsupportedPassive scan · scanner@0.3.0source— HTTP 200; client_id_metadata_document_supported: absent
1 earlier observation
  1. Unsupported · Passive scan · scanner@0.2.0 · evidence
Dynamic Client Registration offeredmcp.as.dcr · Registration · Client Registration › Dynamic Client RegistrationMAYSupportedPassive scan · scanner@0.3.0source— HTTP 200; registration_endpoint: https://api.vercel.com/login/oauth/register
2 earlier observations
  1. Supported · Passive scan · scanner@0.2.0 · evidence
  2. Unknown · Vendor claim · jbspeakr · evidence
Documented pre-registration pathmcp.as.preregistration · Registration · Client Registration › Pre-registrationSHOULDPartialVendor claim · jbspeakr (documentation pass with Claude Code)source— "To ensure secure access, Vercel MCP only supports AI clients that have been reviewed and approved by Vercel. If you're building an MCP client and want it included in the supported clients list below, submit the client review form." (The documented path is a manual allowlist review, not self-service issuance of client credentials; docs do not say whether approved clients receive credentials or are allowlisted by redirect URI.)
Issuer identifier in authorization responsesmcp.as.iss-param · Authorization · Authorization › Authorization Response ValidationSHOULDUnsupportedPassive scan · scanner@0.3.0source— HTTP 200; authorization_response_iss_parameter_supported: absent
1 earlier observation
  1. Unsupported · Passive scan · scanner@0.2.0 · evidence
PKCE with S256 advertisedmcp.as.pkce-s256 · Authorization · Security Considerations › Authorization Code ProtectionMUSTSupportedPassive scan · scanner@0.3.0source— HTTP 200; code_challenge_methods_supported: [S256]
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence
Refresh token rotation for public clientsmcp.as.refresh-rotation · Tokens · Security Considerations › Token TheftMUSTUnknown no observationno observation yet
Resource indicators honouredmcp.as.resource-indicator · Tokens · Security Considerations › Token Audience Binding and ValidationMUSTUnknown no observationno observation yet
All endpoints served over HTTPSmcp.as.https · Transport · Security Considerations › Communication SecurityMUSTSupportedPassive scan · scanner@0.3.0source— HTTP 200; all 8 endpoints use https
1 earlier observation
  1. Supported · Passive scan · scanner@0.2.0 · evidence