Skip to content
Scalekit Docs

Vercel MCP

Vendor MCP34 toolsOAuth 2.1Developer ToolsProductivity

Connect to Vercel MCP to manage deployments, projects, domains, environment variables, and team resources directly from your AI workflows.

Vercel MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Vercel MCP credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the Vercel MCP connector so Scalekit handles the OAuth flow and token lifecycle for your users. Follow every step below from start to finish — by the end you will have a working connection.

    1. Create a Vercel OAuth integration

      You need a Vercel OAuth integration to get the Client ID and Client Secret that Scalekit will use to authorize your users.

      Go to the Vercel Integrations Console:

      • Open vercel.com/dashboard/integrations/console in your browser and sign in.

      • Click Create Integration (top right of the page).

      • Fill in the form:

        FieldWhat to enter
        Integration NameA recognizable name, e.g. My Vercel MCP Agent
        URL SlugAuto-generated from the name — you can leave it as-is
        Website URLYour app’s public URL. For testing you can use https://localhost
        Short DescriptionBrief description of your integration
      • Leave the Redirects section empty for now. You will add the Scalekit callback URL in the next step.

      • Click Create →.

      After the integration is created, Vercel takes you to the integration’s settings page. Keep this tab open.

    2. Copy the redirect URI from Scalekit

      Scalekit gives you a callback URL that Vercel will redirect users back to after they authorize your app.

      In the Scalekit dashboard:

      • Go to app.scalekit.com and sign in.
      • In the left sidebar, click AgentKit > Connections > Create Connection.
      • Search for Vercel MCP and click Create.
      • A connection details panel opens. Find the Redirect URI field — it looks like:
        https://<YOUR_ENV>.scalekit.cloud/sso/v1/oauth/conn_<ID>/callback
      • Click the copy icon next to the Redirect URI.
    3. Add the redirect URI and copy credentials from Vercel

      Switch back to the Vercel integration tab you left open.

      Register the redirect URI:

      • In the left sidebar of your integration settings, click Credentials.
      • Scroll down to the Redirect URIs section.
      • Paste the redirect URI you copied from Scalekit into the input field.
      • Click Add URI, then click Save Changes.

      Copy your credentials:

      • Scroll up to the OAuth Credentials section.
      • Client ID — shown in plain text. Click Copy ID.
      • Client Secret — click Reveal to show the secret, then copy it.
    4. Configure permissions in Vercel

      • In the Vercel integration settings sidebar, click Permissions.

      • Enable the scopes your integration needs:

        ScopeAccess granted
        openidRequired to issue an ID token for user identification
        emailUser’s email address
        profileUser’s name, username, and profile picture
        offline_accessRefresh token for long-lived access without re-authorization
      • Click Save Changes.

    5. Add credentials in Scalekit

      Switch back to the Scalekit dashboard tab.

      • Go to AgentKit > Connections and click the Vercel MCP connection you created in step 2.

      • Fill in the credentials form:

        FieldValue
        Client IDPaste the Client ID from step 3
        Client SecretPaste the Client Secret from step 3
        ScopesEnter the scopes you enabled in step 4, e.g. openid profile email offline_access
      • Click Save.

      Your Vercel MCP connection is now configured. Scalekit will use these credentials to run the OAuth flow whenever a user connects their Vercel account.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'vercelmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Vercel MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'vercelmcp_deploytovercel',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Updateprojectdeploymentprotection records — Enable or disable password protection, Vercel Authentication, and Trusted IPs for a Vercel project
  • Listagentruns records — List Agent Runs for a project
  • Listagentrunprojects records — List projects that have Agent Runs, with counts
  • Getwebanalytics records — Query Web Analytics visits or custom events for a project, as a total count or aggregated by dimension
  • Getruntimeerrors records — Get grouped runtime error clusters for a project (error name, occurrence count, affected routes, sample messages, first/last seen)
  • Getpurchasequote records — Get a signed price quote for a Vercel Pro upgrade, credits top-up, add-on, or domain purchase, before executing it

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

vercelmcp_addtoolbarreaction#Add an emoji reaction to a message in a toolbar thread4 params

Add an emoji reaction to a message in a toolbar thread

NameTypeRequiredDescription
emojistringrequiredThe emoji character to use as the reaction (e.g. '👍', '❤️')
messageIdstringrequiredThe ID of the message to react to
teamIdstringrequiredThe ID of the team that owns the thread
threadIdstringrequiredThe ID of the toolbar thread containing the message
vercelmcp_buyaddon#Execute an add-on purchase previously quoted by get_purchase_quote. Requires a prior quote and confirm:true5 params

Execute an add-on purchase previously quoted by get_purchase_quote. Requires a prior quote and confirm:true

NameTypeRequiredDescription
productAliasstringrequiredThe add-on to purchase. Only "siem" is available today.
quantityintegerrequiredNumber of units to purchase.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
confirmbooleanoptionalSet true to execute the charge; requires the idempotencyKey from get_purchase_quote.
idempotencyKeystringoptionalThe idempotencyKey returned by get_purchase_quote.
vercelmcp_buycredits#Execute a credits top-up previously quoted by get_purchase_quote. Requires a prior quote and confirm:true5 params

Execute a credits top-up previously quoted by get_purchase_quote. Requires a prior quote and confirm:true

NameTypeRequiredDescription
amountintegerrequiredAmount to purchase, in whole US dollars (1-1000).
creditTypestringrequiredWhich credit balance to top up: v0, gateway (AI Gateway), or agent (Vercel Agent).
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
confirmbooleanoptionalSet true to execute the charge; requires the idempotencyKey from get_purchase_quote.
idempotencyKeystringoptionalThe idempotencyKey returned by get_purchase_quote.
vercelmcp_buydomain#Execute a single-domain registration previously quoted by get_purchase_quote (product:domain). Requires a prior quote and confirm:true8 params

Execute a single-domain registration previously quoted by get_purchase_quote (product:domain). Requires a prior quote and confirm:true

NameTypeRequiredDescription
domainstringrequiredThe domain to register, e.g. "example.com".
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
autoRenewbooleanoptionalWhether to auto-renew at the end of the term. Defaults to true.
confirmbooleanoptionalSet true to execute the purchase; requires the idempotencyKey from get_purchase_quote.
contactobjectoptionalRegistrant (WHOIS) contact. Not needed for the quote; REQUIRED on confirm. All fields must be provided.
expectedPricenumberoptionalRequired on confirm: the purchasePrice (USD) from the quote. The server rejects the order if it no longer matches the live price.
idempotencyKeystringoptionalThe idempotencyKey returned by get_purchase_quote.
yearsintegeroptionalRegistration term in years. Required on confirm — must match the term shown in the quote.
vercelmcp_buypro#Execute a Vercel Pro upgrade previously quoted by get_purchase_quote. Requires a prior quote and confirm:true3 params

Execute a Vercel Pro upgrade previously quoted by get_purchase_quote. Requires a prior quote and confirm:true

NameTypeRequiredDescription
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
confirmbooleanoptionalSet true to execute the upgrade; requires the idempotencyKey from get_purchase_quote.
idempotencyKeystringoptionalThe idempotencyKey returned by get_purchase_quote.
vercelmcp_changetoolbarthreadresolvestatus#Change the resolve status of a toolbar thread3 params

Change the resolve status of a toolbar thread

NameTypeRequiredDescription
resolvedbooleanrequiredSet to true to mark the thread as resolved, false to mark it as unresolved
teamIdstringrequiredThe ID of the team that owns the thread
threadIdstringrequiredThe ID of the toolbar thread to update
vercelmcp_checkdomainavailabilityandprice#Check if domain names are available for purchase and get pricing information1 param

Check if domain names are available for purchase and get pricing information

NameTypeRequiredDescription
namesarrayrequiredList of domain names to check for availability and pricing
vercelmcp_creategitproject#Create (or link) a Vercel project from a Git repository6 params

Create (or link) a Vercel project from a Git repository

NameTypeRequiredDescription
repostringrequiredRepository as "owner/name", or a repository URL such as https://github.com/owner/name.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
deploybooleanoptionalWhether to create a preview deployment from the linked repository's production branch.
projectNamestringoptionalVercel project to create or reuse. Defaults to the lowercased repository name.
providerstringoptionalGit provider to link. Inferred from the repository URL; defaults to "github".
rootDirectorystringoptionalRoot-relative directory to build in a monorepo. Only applied when creating the project.
vercelmcp_deploytovercel#Deploy the current project to Vercel0 params

Deploy the current project to Vercel

vercelmcp_edittoolbarmessage#Edit an existing message in a toolbar thread4 params

Edit an existing message in a toolbar thread

NameTypeRequiredDescription
markdownstringrequiredThe updated message content in Markdown format
messageIdstringrequiredThe ID of the message to edit
teamIdstringrequiredThe ID of the team that owns the thread
threadIdstringrequiredThe ID of the toolbar thread containing the message
vercelmcp_getaccesstovercelurl#Creates a temporary shareable link that bypasses authentication for a Vercel deployment URL1 param

Creates a temporary shareable link that bypasses authentication for a Vercel deployment URL

NameTypeRequiredDescription
urlstringrequiredThe Vercel deployment URL to create a temporary shareable access link for
vercelmcp_getagentrun#Get details for a single Agent Run7 params

Get details for a single Agent Run

NameTypeRequiredDescription
projectIdstringrequiredThe project ID to scope the request to. Alternatively the project slug can be used.
runIdstringrequiredThe Agent Run ID to inspect.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
environmentstringoptionalAgent run environment, usually "production" or "preview". Defaults to "production".
fromstringoptionalStart time as ISO 8601, Unix seconds, Unix milliseconds, or a relative duration. Must be used with to.
periodstringoptionalPreset time range. Ignored when both from and to are provided.
tostringoptionalEnd time as ISO 8601, Unix seconds, Unix milliseconds, a relative duration, or "now". Must be used with from.
vercelmcp_getagentruntrace#Get the execution trace for a single Agent Run8 params

Get the execution trace for a single Agent Run

NameTypeRequiredDescription
projectIdstringrequiredThe project ID to scope the request to. Alternatively the project slug can be used.
runIdstringrequiredThe Agent Run ID to inspect.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
environmentstringoptionalAgent run environment, usually "production" or "preview". Defaults to "production".
fromstringoptionalStart time as ISO 8601, Unix seconds, Unix milliseconds, or a relative duration. Must be used with to.
maxFieldLengthnumberoptionalMaximum length for individual string fields in the returned trace. Defaults to 8000; use 0 to disable truncation.
periodstringoptionalPreset time range. Ignored when both from and to are provided.
tostringoptionalEnd time as ISO 8601, Unix seconds, Unix milliseconds, a relative duration, or "now". Must be used with from.
vercelmcp_getdeployment#Get a specific deployment by ID or URL2 params

Get a specific deployment by ID or URL

NameTypeRequiredDescription
idOrUrlstringrequiredThe deployment ID or URL to retrieve
teamIdstringrequiredThe ID of the team that owns the deployment
vercelmcp_getdeploymentbuildlogs#Get the build logs of a deployment by deployment ID or URL2 params

Get the build logs of a deployment by deployment ID or URL

NameTypeRequiredDescription
idOrUrlstringrequiredThe deployment ID or URL whose build logs to retrieve
teamIdstringrequiredThe ID of the team that owns the deployment
vercelmcp_getdomainorder#Get the status of a domain purchase order returned by buy_domain, to confirm whether the registration completed2 params

Get the status of a domain purchase order returned by buy_domain, to confirm whether the registration completed

NameTypeRequiredDescription
orderIdstringrequiredThe orderId returned by buy_domain.
teamIdstringoptionalThe team ID to scope the request to. Alternatively the team slug can be used.
vercelmcp_getproject#Get a specific project in Vercel2 params

Get a specific project in Vercel

NameTypeRequiredDescription
projectIdstringrequiredThe ID of the project to retrieve
teamIdstringrequiredThe ID of the team that owns the project
vercelmcp_getprojectdeploymentprotection#Get the effective password protection, Vercel Authentication, and Trusted IP settings for a Vercel project2 params

Get the effective password protection, Vercel Authentication, and Trusted IP settings for a Vercel project

NameTypeRequiredDescription
projectIdstringrequiredThe project ID to scope the request to. Alternatively the project slug can be used.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
vercelmcp_getpurchasequote#Get a signed price quote for a Vercel Pro upgrade, credits top-up, add-on, or domain purchase, before executing it9 params

Get a signed price quote for a Vercel Pro upgrade, credits top-up, add-on, or domain purchase, before executing it

NameTypeRequiredDescription
productstringrequiredWhich purchase to quote.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
amountintegeroptionalRequired for product:credits — amount in whole US dollars (1-1000).
autoRenewbooleanoptionalFor product:domain — whether to auto-renew at term end. Defaults to true.
creditTypestringoptionalRequired for product:credits — which credit balance to top up.
domainstringoptionalRequired for product:domain — the domain to register.
productAliasstringoptionalRequired for product:addon — the add-on to quote. Only "siem" is available today.
quantityintegeroptionalRequired for product:addon — number of units.
yearsintegeroptionalFor product:domain — registration term in years (defaults to the TLD minimum).
vercelmcp_getruntimeerrors#Get grouped runtime error clusters for a project (error name, occurrence count, affected routes, sample messages, first/last seen)5 params

Get grouped runtime error clusters for a project (error name, occurrence count, affected routes, sample messages, first/last seen)

NameTypeRequiredDescription
projectIdstringrequiredThe project ID to scope the request to. Alternatively the project slug can be used.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
routesstringoptionalComma-separated route paths to filter by.
sincestringoptionalStart of the window as an ISO date or relative lookback from now. Defaults to 24h ago; max lookback is 7d.
untilstringoptionalOptional end of the window as an ISO date, relative lookback, or "now".
vercelmcp_getruntimelogs#Get runtime logs for a project or deployment4 params

Get runtime logs for a project or deployment

NameTypeRequiredDescription
projectIdstringrequiredThe ID of the project whose runtime logs to retrieve
teamIdstringrequiredThe ID of the team that owns the project
deploymentIdstringoptionalOptional deployment ID to filter runtime logs to a specific deployment
limitnumberoptionalMaximum number of log entries to return
vercelmcp_gettoolbarthread#Get a specific toolbar thread by ID2 params

Get a specific toolbar thread by ID

NameTypeRequiredDescription
teamIdstringrequiredThe ID of the team that owns the thread
threadIdstringrequiredThe ID of the toolbar thread to retrieve
vercelmcp_getwebanalytics#Query Web Analytics visits or custom events for a project, as a total count or aggregated by dimension9 params

Query Web Analytics visits or custom events for a project, as a total count or aggregated by dimension

NameTypeRequiredDescription
projectIdstringrequiredThe project ID to scope the request to. Alternatively the project slug can be used.
byarrayoptionalOne or two dimensions for aggregate mode (e.g. day, country, deviceType, requestPath).
datasetstringoptionalData to query: visits for automatically tracked pageviews, or events for custom events sent with track(). Defaults to visits.
filterstringoptionalOData filter expression, for example requestPath eq '/pricing' and country eq 'US'.
limitintegeroptionalMaximum distinct results in aggregate mode. Remaining values are grouped into Others. Defaults to 10.
modestringoptionalCount returns one total. Aggregate returns rows grouped by one or two by dimensions and requires since, until, and by. Defaults to count.
sincestringoptionalStart of the date range as a date string, ISO 8601 timestamp, or Unix timestamp in milliseconds. Since and until must be provided together.
teamIdstringoptionalThe team ID to scope the request to. Alternatively the team slug can be used.
untilstringoptionalEnd of the date range as a date string, ISO 8601 timestamp, or Unix timestamp in milliseconds. Since and until must be provided together.
vercelmcp_importclaudedesignfromurl#Import a design into Vercel from a publicly fetchable URL3 params

Import a design into Vercel from a publicly fetchable URL

NameTypeRequiredDescription
teamIdstringrequiredThe ID of the team to import the design into
urlstringrequiredThe publicly fetchable URL of the design to import
projectIdstringoptionalThe ID of the project to associate the design with (optional)
vercelmcp_listagentrunprojects#List projects that have Agent Runs, with counts5 params

List projects that have Agent Runs, with counts

NameTypeRequiredDescription
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
environmentstringoptionalAgent run environment, usually "production" or "preview". Defaults to "production".
fromstringoptionalStart time as ISO 8601, Unix seconds, Unix milliseconds, or a relative duration. Must be used with to.
periodstringoptionalPreset time range. Ignored when both from and to are provided.
tostringoptionalEnd time as ISO 8601, Unix seconds, Unix milliseconds, a relative duration, or "now". Must be used with from.
vercelmcp_listagentruns#List Agent Runs for a project9 params

List Agent Runs for a project

NameTypeRequiredDescription
projectIdstringrequiredThe project ID to scope the request to. Alternatively the project slug can be used.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
environmentstringoptionalAgent run environment, usually "production" or "preview". Defaults to "production".
fromstringoptionalStart time as ISO 8601, Unix seconds, Unix milliseconds, or a relative duration. Must be used with to.
pagenumberoptional1-based page number. Defaults to 1.
pageSizenumberoptionalNumber of runs per page. The dashboard endpoint caps this at 100.
periodstringoptionalPreset time range. Ignored when both from and to are provided.
searchstringoptionalServer-side title search for Agent Runs.
tostringoptionalEnd time as ISO 8601, Unix seconds, Unix milliseconds, a relative duration, or "now". Must be used with from.
vercelmcp_listdeployments#List all deployments for a project4 params

List all deployments for a project

NameTypeRequiredDescription
projectIdstringrequiredThe ID of the project whose deployments to list
teamIdstringrequiredThe ID of the team that owns the project
limitnumberoptionalMaximum number of deployments to return
statestringoptionalFilter deployments by state (e.g. READY, ERROR, BUILDING, QUEUED, CANCELED)
vercelmcp_listprojects#List all Vercel projects for a user (with a max of 50)3 params

List all Vercel projects for a user (with a max of 50)

NameTypeRequiredDescription
teamIdstringrequiredThe ID of the team whose projects to list
limitnumberoptionalMaximum number of projects to return (max 50)
searchstringoptionalSearch query to filter projects by name
vercelmcp_listteams#List the user's teams0 params

List the user's teams

vercelmcp_listtoolbarthreads#List Vercel toolbar comment threads for a team3 params

List Vercel toolbar comment threads for a team

NameTypeRequiredDescription
teamIdstringrequiredThe ID of the team whose toolbar threads to list
deploymentIdstringoptionalFilter threads by deployment ID (optional)
projectIdstringoptionalFilter threads by project ID (optional)
vercelmcp_replytotoolbarthread#Add a reply message to an existing toolbar thread3 params

Add a reply message to an existing toolbar thread

NameTypeRequiredDescription
markdownstringrequiredThe reply message content in Markdown format
teamIdstringrequiredThe ID of the team that owns the thread
threadIdstringrequiredThe ID of the toolbar thread to reply to
vercelmcp_searchverceldocumentation#Search the Vercel documentation for information about a topic2 params

Search the Vercel documentation for information about a topic

NameTypeRequiredDescription
topicstringrequiredThe topic or query to search for in the Vercel documentation
limitnumberoptionalMaximum number of documentation results to return
vercelmcp_updateprojectdeploymentprotection#Enable or disable password protection, Vercel Authentication, and Trusted IPs for a Vercel project5 params

Enable or disable password protection, Vercel Authentication, and Trusted IPs for a Vercel project

NameTypeRequiredDescription
projectIdstringrequiredThe project ID to scope the request to. Alternatively the project slug can be used.
teamIdstringrequiredThe team ID to scope the request to. Alternatively the team slug can be used.
passwordProtectionstringoptionalEnable or disable password protection. Omit to preserve the current setting.
ssoProtectionstringoptionalEnable or disable Vercel Authentication. Omit to preserve the current setting.
trustedIpsstringoptionalEnable or disable Trusted IPs. Omit to preserve the current setting.
vercelmcp_webfetchvercelurl#Fetches a Vercel deployment URL and returns the response body1 param

Fetches a Vercel deployment URL and returns the response body

NameTypeRequiredDescription
urlstringrequiredThe Vercel deployment URL to fetch