Secure Vercel access for AI agents

Manage Vercel projects, deployments, domains, and agent runs, search Vercel docs, and read/reply to Toolbar comment threads, using Vercel's official MCP server

Through Vercel, agents can inspect projects and deployments, read build and runtime logs, trigger deploys, check domains, and work with Toolbar comment threads — every call runs through your policies and is logged for audit.

Server URL: https://mcp.vercel.com

Setup

  1. Navigate to Resources and click Add Resource
  2. Select Vercel from the catalog
  3. Provide your Vercel custom OAuth app credentials (see Bring your own app)
  4. Click Add

Each user connects their own Vercel account via OAuth when they first use a Vercel tool. Vercel's own team and project-level permissions control what each user can reach — the gateway does not widen access beyond what the authenticated user could already do in Vercel. Navigate to Connections to manage linked accounts.

Credential modes

Vercel supports one mode:

  • Bring your own app: a custom OAuth app owned by your organization, registered through Vercel's integration console. This MCP server does not support dynamic client registration.

See Credential modes for the full comparison.

Bring your own app

A Vercel administrator registers a custom OAuth app (Account Settings → Integrations → Create Integration, OAuth2 authentication), then returns to SecureAuth with the Client ID and Client Secret.

In the Agent Authority console, go to Resources → Add Resource → Vercel → Bring your own app and copy the redirect URI shown on the page.

In the Vercel integration console, on the app's OAuth configuration:

  • Add the redirect URI you copied to the list of allowed redirect URIs; it must use HTTPS
  • Ensure the openid, email, profile, and offline_access scopes are enabled
  • Copy the Client ID and Client Secret

Paste both back into the Vercel configure page in the Agent Authority console, then click Add. Leave Token Endpoint Authentication on Auto-detect — Vercel works with the detected default.

Authorization goes through Vercel's global OAuth gateway (vercel.com / api.vercel.com) — the same endpoints for every Vercel account, with no per-org configuration needed.

Available tools

ToolDescription
search_vercel_documentationSearch Vercel's documentation
list_projects / get_projectList projects, or get details about a specific project
list_deployments / get_deploymentList deployments, or get details about a specific deployment
deploy_to_vercelTrigger a new deployment
get_deployment_build_logsGet build logs for a deployment
get_runtime_logsGet runtime logs for a deployment
get_runtime_errorsGet runtime errors for a deployment
list_agent_run_projectsList projects that have agent runs
list_agent_runs / get_agent_runList agent runs, or get details about a specific agent run
get_agent_run_traceGet the execution trace for an agent run
list_teamsList teams the authenticated user belongs to
check_domain_availability_and_priceCheck whether a domain is available to register and its price
get_access_to_vercel_urlMint a temporary link (valid 23 hours) that bypasses authentication for a protected Vercel deployment
web_fetch_vercel_urlFetch the contents of a Vercel-hosted URL
import-claude-design-from-urlImport a design (a self-contained HTML bundle) into Vercel from a publicly fetchable URL
list_toolbar_threads / get_toolbar_threadList Vercel Toolbar comment threads, or get a specific thread
change_toolbar_thread_resolve_statusResolve or reopen a Toolbar comment thread
reply_to_toolbar_threadReply to a Toolbar comment thread
edit_toolbar_messageEdit a message in a Toolbar comment thread
add_toolbar_reactionAdd a reaction to a Toolbar comment thread message

Required scopes

  • openid, email, profile: standard OIDC identity scopes
  • offline_access: allows the gateway to refresh the user's access token without re-prompting for login

Policy examples

Rules are evaluated top to bottom and the first match wins. Deny rules only bite when they sit above whatever would otherwise allow the call — including the seeded Allow all rule every org starts with — and allow rules on their own restrict nothing. New rules are inserted at the top of the list, so create them in reverse order or drag them into place. See Policies.

  • Read-only access. Deny deploy_to_vercel, import-claude-design-from-url, get_access_to_vercel_url, change_toolbar_thread_resolve_status, reply_to_toolbar_thread, edit_toolbar_message, and add_toolbar_reaction. import-claude-design-from-url writes a design into your Vercel account, and get_access_to_vercel_url mints a link that bypasses authentication on protected deployments — both are easy to miss when scanning for obvious write verbs.
  • Deployment visibility without deploys. Allow list_projects, get_project, list_deployments, get_deployment, get_deployment_build_logs, get_runtime_logs, and get_runtime_errors, then deny * below them so nothing else on Vercel falls through to Allow all.
  • Block Toolbar write actions. Deny change_toolbar_thread_resolve_status, reply_to_toolbar_thread, edit_toolbar_message, and add_toolbar_reaction.

Next steps

  • Create a policy — start from the read-only pattern in Policy examples above.
  • Policies — how rule order, scoping, and the seeded Allow all rule interact.
  • Connections — manage the Vercel accounts your users have linked.

On this page