# Vercel — how to use (mcp.ai)

Connect your Vercel account and use 146 tools for developer tools straight from your AI agent. Connect with your own API key. Vercel is a platform for frontend frameworks and static sites, enabling developers to host websites and web services that deploy instantly, scale automatically, and require minimal configuration.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_vercel?ms=1787291520000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `vercel_add_environment_variable`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/vercel`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/vercel/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/vercel/add/environment/variable` — Tool to add an environment variable to a Vercel project. Variables only take effect in subsequent deployments — already-running deployments are not updated. Use after confirming the project exists and
  - body: { key: string, slug?: string, type: string, value: string, target: string[], teamId?: string, upsert?: boolean, comment?: string, idOrName: string, gitBranch?: string, customEnvironmentIds?: string[] }
- `POST https://api.mcp.ai/api/vercel/add/project/domain` — Tool to attach a custom domain to a Vercel project. Use when you need to add a domain to a project for production or branch-specific deployments. After adding, the domain must be verified by completin
  - body: { name: string, slug?: string, teamId?: string, idOrName: string, redirect?: string, gitBranch?: string, redirectStatusCode?: integer, customEnvironmentId?: string }
- `POST https://api.mcp.ai/api/vercel/assign/alias` — Tool to assign an alias to a specific Vercel deployment. Use when you need to associate a custom domain or subdomain with a deployment.
  - body: { id: string, slug?: string, alias: string, teamId?: string, redirect?: string }
- `POST https://api.mcp.ai/api/vercel/batch/remove/project/env` — Tool to batch remove environment variables from a Vercel project. Use when you need to delete multiple environment variables at once. More efficient than deleting variables one by one when removing mu
  - body: { ids: string[], slug?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/buy/domains` — Tool to purchase multiple domains through Vercel's domain registrar. Use when registering new domains after checking availability and price. Important: Always check domain availability and price befor
  - body: { slug?: string, teamId?: string, domains: object[], contactInformation: object }
- `POST https://api.mcp.ai/api/vercel/buy/single/domain` — Tool to purchase a domain through Vercel's domain registrar. Use when you need to register and buy a domain after confirming availability and pricing.
  - body: { years: integer, domain: string, teamId?: string, autoRenew: boolean, expectedPrice: number, contactInformation: object }
- `POST https://api.mcp.ai/api/vercel/check/cache/artifact/exists` — Tool to check if a cache artifact exists by its hash. Use when verifying whether a cache artifact is already stored before upload or when validating artifact availability.
  - body: { hash: string, slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/check/domain/availability` — Tool to check if a domain is available for registration. Read-only: does not reserve or purchase the domain. Use when you need to verify domain availability before purchase. Response field `available=
  - body: { slug?: string, domain: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/check/domain/price` — DEPRECATED: Use VERCEL_CHECK_DOMAIN_PRICE2 instead. Tool to check the price for a domain before purchase. Use when evaluating cost and availability prior to domain registration.
  - body: { years?: integer, domain: string }
- `POST https://api.mcp.ai/api/vercel/check/domain/price2` — Check pricing for a domain including purchase, renewal, and transfer costs. Use this to evaluate the cost of registering, renewing, or transferring a domain via Vercel. Returns pricing for the specifi
  - body: { years?: integer, domain: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/create/auth/token` — Tool to create a new authentication token. Use when you need to programmatically generate a new auth token with optional expiration. Returns both token metadata and the bearer token value (only provid
  - body: { name: string, slug?: string, teamId?: string, expiresAt?: integer }
- `POST https://api.mcp.ai/api/vercel/create/deployment` — DEPRECATED: Use VERCEL_CREATE_NEW_DEPLOYMENT instead. Create a new deployment on Vercel. Deploys static files or connects to a Git repository. **File-based deployments**: Provide `name` and `files` ar
  - body: { meta?: object, name: string, slug?: string, files?: object[], target?: string, teamId?: string, project?: string, forceNew?: string, gitSource?: object, gitMetadata?: object, deploymentId?: string, monorepoManager?: string, projectSettings?: object, withLatestCommit?: boolean, customEnvironmentSlugOrId?: string, skipAutoDetectionConfirmation?: string }
- `POST https://api.mcp.ai/api/vercel/create/dns/record` — Tool to create a new DNS record for a domain. Use when you need to add DNS records such as A, AAAA, CNAME, MX, TXT, SRV, or other record types to a domain managed in Vercel.
  - body: { srv?: object, ttl?: integer, name: string, slug?: string, type: string, https?: object, value?: string, domain: string, teamId?: string, comment?: string, mxPriority?: integer }
- `POST https://api.mcp.ai/api/vercel/create/edge/config` — Creates a new Edge Config for storing key-value data at the edge. Edge Configs enable ultra-low latency data reads from Vercel's edge network. Use this to store feature flags, A/B test configurations,
  - body: { slug: string, items?: object, teamId?: string, teamSlug?: string }
- `POST https://api.mcp.ai/api/vercel/create/edge/config/token` — Create a read access token for a specific Edge Config. The generated token is used to authenticate against the Edge Config's endpoint for high-volume, low-latency read operations. Use this when you ne
  - body: { slug?: string, label: string, teamId?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/create/new/deployment` — Tool to create a new deployment. Use when you need to deploy files or a Git commit to a Vercel project. Example for file deployment: { "name": "my-app", "files": [ {"file": "index.html", "data": "<htm
  - body: { meta?: object, name: string, slug?: string, files?: object[], target?: string, teamId?: string, project?: string, forceNew?: string, gitSource?: object, gitMetadata?: object, deploymentId?: string, projectSettings?: object, skipAutoDetectionConfirmation?: string }
- `POST https://api.mcp.ai/api/vercel/create/or/transfer/domain` — Tool to add an existing domain to the Vercel platform. Use when you need to add a domain to Vercel for DNS management or transfer a domain. Supports two methods: 'add' for adding existing domains and 
  - body: { name: string, slug?: string, zone?: boolean, token?: string, method?: string, teamId?: string, cdnEnabled?: boolean }
- `POST https://api.mcp.ai/api/vercel/create/project` — DEPRECATED: Use VERCEL_VERCEL_CREATE_PROJECT2 instead. Tool to create a new Vercel project. Use when automating project provisioning in CI/CD before deployment. Project names must be unique per team; 
  - body: { name: string, slug?: string, teamId?: string, gitRepository?: object, skipGitConnectDuringLink?: boolean, composio_execution_message?: string }
- `POST https://api.mcp.ai/api/vercel/create/project/env` — DEPRECATED: Use VERCEL_ADD_ENVIRONMENT_VARIABLE instead. Tool to create environment variables in a Vercel project. Use when you need to configure secrets or configuration values across environments.
  - body: { key: string, slug?: string, type: string, value: string, target?: string[], teamId?: string, upsert?: string, comment?: string, idOrName: string, gitBranch?: string, customEnvironmentIds?: string[], _sensitive_dev_removed?: boolean }
- `POST https://api.mcp.ai/api/vercel/create/project/transfer/request` — Tool to create a project transfer request. Use when you need to initiate a transfer of a Vercel project to another account or team.
  - body: { slug?: string, teamId?: string, idOrName: string, callbackUrl?: string, callbackSecret?: string }
- `POST https://api.mcp.ai/api/vercel/create/project2` — Tool to create a new Vercel project with comprehensive configuration options. Use when you need to create a project with specific settings like environment variables, framework selection, Git reposito
  - body: { name: string, slug?: string, teamId?: string, framework?: string, devCommand?: string, buildCommand?: string, publicSource?: boolean, gitRepository?: object, rootDirectory?: string, ssoProtection?: object, installCommand?: string, resourceConfig?: object, oidcTokenConfig?: object, outputDirectory?: string, environmentVariables?: object[], enablePreviewFeedback?: boolean, previewDeploymentSuffix?: string, enableProductionFeedback?: boolean, serverlessFunctionRegion?: string, skipGitConnectDuringLink?: boolean, previewDeploymentsDisabled?: boolean, commandForIgnoringBuildStep?: string, enableAffectedProjectsDeployments?: boolean, serverlessFunctionZeroConfigFailover?: boolean }
- `POST https://api.mcp.ai/api/vercel/create/shared/env/variable` — Tool to create one or more shared environment variables in Vercel. Use when you need to create environment variables that can be shared across multiple projects or applied to specific target environme
  - body: { evs: object[], slug?: string, type?: string, target?: string[], teamId?: string, projectId?: string[], applyToAllCustomEnvironments?: boolean }
- `POST https://api.mcp.ai/api/vercel/create/webhook` — Tool to create a webhook for receiving notifications about Vercel events. Use when you need to set up automated responses to deployment, domain, project, or other Vercel events.
  - body: { url: string, slug?: string, events: string[], teamId?: string, projectIds?: string[] }
- `POST https://api.mcp.ai/api/vercel/dangerously/delete/by/src/images` — Tool to dangerously delete edge cache by source image URLs. Use when you need to invalidate cached images from the edge network for a specific project.
  - body: { slug?: string, teamId?: string, srcImages: string[], projectIdOrName: string, revalidationDeadlineSeconds?: number }
- `POST https://api.mcp.ai/api/vercel/dangerously/delete/by/tags` — Tool to dangerously delete edge cache by tags. Use when you need to purge cached content for specific cache tags in a Vercel project. WARNING: This permanently deletes cached content and cannot be und
  - body: { slug?: string, tags: string[]|string, target?: string, teamId?: string, projectIdOrName: string, revalidationDeadlineSeconds?: number }
- `POST https://api.mcp.ai/api/vercel/delete/alias` — Tool to delete an alias from Vercel. Use when you need to remove a deployment alias or custom domain alias after confirming the alias ID.
  - body: { slug?: string, teamId?: string, aliasId: string }
- `POST https://api.mcp.ai/api/vercel/delete/auth/token` — Tool to delete an authentication token. Use when you need to revoke a token programmatically after confirming its validity. Example: "Delete auth token with id abc123"
  - body: { tokenId: string }
- `POST https://api.mcp.ai/api/vercel/delete/data/cache/purge/all` — Tool to purge all data cache entries for a specific project. Use when you need to clear the entire data cache for a project.
  - body: { teamId?: string, projectIdOrName: string }
- `POST https://api.mcp.ai/api/vercel/delete/deployment` — Permanently delete a Vercel deployment by its ID or URL. Use this action to remove a deployment from Vercel. The deployment can be identified either by its unique deployment ID (e.g., 'dpl_xxx') or by
  - body: { id: string, url?: string, slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/delete/dns/record` — Tool to delete a DNS record from a domain. Use when you need to remove an existing DNS record by its record ID and domain name.
  - body: { slug?: string, domain: string, teamId?: string, recordId: string }
- `POST https://api.mcp.ai/api/vercel/delete/domain` — Tool to remove a domain by name from Vercel. Use when you need to delete a domain that is no longer needed.
  - body: { slug?: string, domain: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/delete/edge/config` — Tool to delete an Edge Config by its unique identifier. Use when you need to permanently remove an Edge Config and all its associated data.
  - body: { slug?: string, teamId?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/delete/edge/config/tokens` — Tool to delete one or more Edge Config tokens. Use when you need to revoke access tokens from an Edge Config. Note: The tokens array must contain the actual token values, not token IDs.
  - body: { slug?: string, teamId?: string, tokens: string[], edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/delete/project` — Tool to delete a Vercel project by ID or name. Use after confirming the correct project identifier to permanently remove the project.
  - body: { slug?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/delete/project/env` — Tool to remove an environment variable from a Vercel project. Use when you need to delete a specific environment variable by its ID.
  - body: { id: string, slug?: string, teamId?: string, idOrName: string, customEnvironmentId?: string }
- `POST https://api.mcp.ai/api/vercel/delete/rolling/release/config` — Tool to delete rolling release configuration for a project. Use when you need to remove or disable rolling release configuration from a Vercel project.
  - body: { slug?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/delete/shared/env/variable` — Tool to delete one or more shared environment variables. Use when you need to remove shared env vars by their IDs (up to 50 at a time).
  - body: { ids: string[], slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/delete/webhook` — Delete a webhook by its unique ID to stop receiving event notifications. This action permanently removes the webhook configuration. Use VERCEL_GET_WEBHOOKS to find webhook IDs if needed. The deletion 
  - body: { id: string, slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/download/artifact` — Download a cache artifact from Vercel's Remote Cache by its hash. Use this to retrieve previously cached build artifacts generated by Turborepo or other build systems. Remote Caching must be enabled f
  - body: { hash: string, slug?: string, teamId?: string, xArtifactClientCi?: string, xArtifactClientInteractive?: integer }
- `POST https://api.mcp.ai/api/vercel/edit/project/env` — Tool to edit an environment variable in a Vercel project. Use when you need to update an existing environment variable's value, type, target environments, or other properties. Requires both the projec
  - body: { id: string, key?: string, slug?: string, type?: string, value?: string, target?: string[], teamId?: string, comment?: string, idOrName: string, gitBranch?: string, customEnvironmentIds?: string[] }
- `POST https://api.mcp.ai/api/vercel/filter/project/envs` — Tool to retrieve environment variables of a Vercel project by id or name. Use when you need to list and filter environment variables for a specific project.
  - body: { slug?: string, source?: string, teamId?: string, decrypt?: string, idOrName: string, gitBranch?: string, customEnvironmentId?: string, customEnvironmentSlug?: string }
- `POST https://api.mcp.ai/api/vercel/get/active/attack/status` — Tool to read active attack data from Vercel Firewall for a specific project. Use when you need to check if a project is under attack or retrieve security anomaly information.
  - body: { slug?: string, since?: integer, teamId?: string, projectId: string }
- `POST https://api.mcp.ai/api/vercel/get/alias` — Tool to retrieve information about a Vercel alias by ID or alias name. Use when you need to get details of a specific alias.
  - body: { from?: integer, slug?: string, since?: integer, until?: integer, teamId?: string, idOrAlias: string, projectId?: string }
- `POST https://api.mcp.ai/api/vercel/get/all/log/drains` — Tool to retrieve a list of all log drains (deprecated). Use when you need to list all log drains configured for your account, team, or project.
  - body: { slug?: string, teamId?: string, projectId?: string, includeMetadata?: boolean, projectIdOrName?: string }
- `POST https://api.mcp.ai/api/vercel/get/artifact/info` — Tool to query information about artifacts by their hashes. Use when you need to retrieve metadata about one or more artifacts, including size, processing duration, and tags.
  - body: { slug?: string, hashes: string[], teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/auth/token` — Tool to retrieve metadata for an authentication token. Use when you need to inspect details of a specific token or get information about the current token being used.
  - body: { tokenId: string }
- `POST https://api.mcp.ai/api/vercel/get/auth/user` — Tool to get the authenticated user's profile. Use when you need to retrieve details about the currently authenticated user.
- `POST https://api.mcp.ai/api/vercel/get/bulk/availability` — Tool to check availability for multiple domains at once. Use when you need to verify availability of multiple domain names efficiently in a single request. Supports checking up to 50 domains per reque
  - body: { teamId?: string, domains: string[] }
- `POST https://api.mcp.ai/api/vercel/get/cache/status` — Tool to get the status of Remote Caching for the principal. Use when you need to check if Remote Caching is enabled, disabled, over limit, or paused.
  - body: { slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/certs` — Tool to retrieve SSL/TLS certificates for the authenticated user or team. Use after authentication to list active certificates.
  - body: { slug?: string, limit?: integer, since?: integer, until?: integer, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/configurations` — Tool to get configurations for the authenticated user or team. Use when you need to list integration configurations installed on an account or team.
  - body: { slug?: string, view: string, teamId?: string, installationType?: string, integrationIdOrSlug?: string }
- `POST https://api.mcp.ai/api/vercel/get/contact/info/schema` — Tool to retrieve the contact information schema for a domain's top-level domain (TLD). Use when you need to understand what contact information fields are required for a specific domain registration o
  - body: { slug?: string, domain: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/deployment` — Tool to get a deployment by ID or URL. Use when you need to retrieve detailed information about a specific deployment.
  - body: { slug?: string, teamId?: string, idOrUrl: string, withGitRepoInfo?: string }
- `POST https://api.mcp.ai/api/vercel/get/deployment/details` — DEPRECATED: Use VERCEL_VERCEL_GET_DEPLOYMENT instead. Retrieves detailed information about a specific deployment. Use after triggering a deployment to inspect status and configuration. Poll with expon
  - body: { slug?: string, teamId?: string, idOrUrl: string, withGitRepoInfo?: boolean }
- `POST https://api.mcp.ai/api/vercel/get/deployment/events` — DEPRECATED: Use VERCEL_VERCEL_GET_DEPLOYMENT_EVENTS2 instead. Tool to retrieve events related to a specific deployment. Use when monitoring or debugging deployment history or streaming real-time event
  - body: { name?: string, slug?: string, limit?: integer, since?: integer, until?: integer, builds?: integer, follow?: integer, teamId?: string, idOrUrl: string, delimiter?: integer, direction?: string, statusCode?: string }
- `POST https://api.mcp.ai/api/vercel/get/deployment/events2` — Tool to get deployment events for a specific Vercel deployment by ID or URL. Use when you need to retrieve build logs, event streams, or monitor deployment progress.
  - body: { name?: string, slug?: string, limit?: integer, since?: integer, until?: integer, builds?: integer, follow?: integer, teamId?: string, idOrUrl: string, delimiter?: integer, direction?: string, statusCode?: string }
- `POST https://api.mcp.ai/api/vercel/get/deployment/file/contents` — Retrieve the contents of a specific file from a Vercel deployment. Returns the file content as a base64-encoded string. First use 'List Deployment Files' to get the file_id (uid), then use this action
  - body: { id: string, path?: string, slug?: string, fileId: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/deployment/logs` — DEPRECATED: Use VERCEL_VERCEL_GET_DEPLOYMENT_EVENTS2 instead. Tool to retrieve logs for a specific Vercel deployment. Use when monitoring deployment execution, debugging issues, or analyzing deploymen
  - body: { slug?: string, limit?: integer, since?: integer, until?: integer, builds?: integer, follow?: integer, teamId?: string, idOrUrl: string, direction?: string, statusCode?: string }
- `POST https://api.mcp.ai/api/vercel/get/deployment/logs2` — Tool to retrieve runtime logs for a specific Vercel deployment by project and deployment ID. Use when you need to debug or monitor deployment execution with detailed runtime information.
  - body: { slug?: string, teamId?: string, maxLogs?: integer, projectId: string, deploymentId: string }
- `POST https://api.mcp.ai/api/vercel/get/deployments` — Tool to list deployments from Vercel. Use when you need to retrieve deployment information for a project or team.
  - body: { to?: integer, app?: string, sha?: string, from?: integer, slug?: string, limit?: integer, since?: integer, state?: string, until?: integer, users?: string, branch?: string, target?: string, teamId?: string, projectId?: string, projectIds?: string[], rollbackCandidate?: boolean }
- `POST https://api.mcp.ai/api/vercel/get/domain` — Tool to retrieve complete information for a single domain. Use when you need to check domain details, ownership verification status, nameserver configuration, or domain service type.
  - body: { slug?: string, domain: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/domain/config` — Tool to get a domain's configuration details from Vercel. Use when you need to check how a domain is configured, what DNS records are recommended, or verify domain setup. Returns configuration status,
  - body: { slug?: string, domain: string, strict?: string, teamId?: string, projectIdOrName?: string }
- `POST https://api.mcp.ai/api/vercel/get/domain/transfer/info` — Tool to get information required to transfer a domain to Vercel. Use when you need to check transfer availability or current status before initiating a transfer.
  - body: { slug?: string, domain: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/drains` — Tool to retrieve a list of all drains. Use this to get all configured drains for an account or team, including their delivery configurations and sources.
  - body: { slug?: string, teamId?: string, projectId?: string, includeMetadata?: boolean }
- `POST https://api.mcp.ai/api/vercel/get/edge/config` — Tool to retrieve detailed information about a specific Edge Config by ID. Use when you need to inspect edge config metadata including transfer status, sync information, and purpose details.
  - body: { slug?: string, teamId?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/get/edge/config/backup` — Tool to retrieve a specific backup version of an Edge Config. Use when you need to inspect or restore a previous version of edge config data.
  - body: { slug?: string, teamId?: string, backupId: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/get/edge/config/item` — Tool to retrieve a specific item within an Edge Config. Use after obtaining the Edge Config ID and when you need to inspect or validate a particular configuration item by its key.
  - body: { slug?: string, teamId?: string, edgeConfigId: string, edgeConfigItemKey: string }
- `POST https://api.mcp.ai/api/vercel/get/edge/config/schema` — Tool to retrieve the JSON schema of a specific Edge Config. Use when you need to inspect the schema definition of an edge config.
  - body: { slug?: string, teamId?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/get/edge/config/token` — Tool to retrieve details of a specific token associated with an Edge Config. Use when you need metadata for an existing Edge Config token.
  - body: { slug?: string, token: string, teamId?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/get/firewall/config` — Tool to retrieve firewall configuration for a Vercel project. Use when you need to inspect current firewall rules and settings.
  - body: { slug?: string, teamId?: string, projectId: string, configVersion: string }
- `POST https://api.mcp.ai/api/vercel/get/git/namespaces` — Tool to list Git namespaces (organizations/users) by provider. Use this to discover available Git namespaces for integration with projects.
  - body: { host?: string, provider: string }
- `POST https://api.mcp.ai/api/vercel/get/project` — DEPRECATED: Use VERCEL_VERCEL_GET_PROJECT2 instead. Tool to retrieve information about a Vercel project by ID or name. Use when you need project metadata after obtaining its identifier.
  - body: { teamId?: string, projectIdOrName: string }
- `POST https://api.mcp.ai/api/vercel/get/project/domain` — Tool to retrieve details about a specific domain attached to a Vercel project. Use when you need to check domain configuration, verification status, redirect settings, or git branch associations.
  - body: { slug?: string, domain: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/get/project/domains` — Tool to retrieve all domains attached to a Vercel project. Use when you need to verify domain configuration, check verification status, audit redirect/branch bindings, or before performing domain oper
  - body: { slug?: string, limit?: integer, order?: string, since?: integer, until?: integer, target?: string, teamId?: string, idOrName: string, redirect?: string, verified?: boolean, gitBranch?: string, redirects?: boolean, production?: boolean, customEnvironmentId?: string }
- `POST https://api.mcp.ai/api/vercel/get/project/env` — Tool to retrieve the decrypted value of an environment variable from a Vercel project. Use when you need to access the actual value of a specific environment variable by its ID.
  - body: { id: string, slug?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/get/project2` — Tool to find a project by ID or name with comprehensive details. Use when you need complete project metadata including configuration, deployments, security settings, and analytics.
  - body: { slug?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/get/projects` — Tool to retrieve a list of projects from Vercel. Use this to get project information with optional filtering by repository, team, or other criteria.
  - body: { from?: string, repo?: string, slug?: string, limit?: string, repoId?: string, search?: string, teamId?: string, repoUrl?: string, deprecated?: boolean, edgeConfigId?: string, excludeRepos?: string, staticIpsEnabled?: string, buildMachineTypes?: string, edgeConfigTokenId?: string, gitForkProtection?: string, elasticConcurrencyEnabled?: string }
- `POST https://api.mcp.ai/api/vercel/get/promote/aliases` — Tool to get a list of aliases with status for the current promote operation. Use when you need to check the status of aliases during a promotion process for a specific project.
  - body: { slug?: string, limit?: integer, since?: integer, until?: integer, teamId?: string, projectId: string, failedOnly?: boolean }
- `POST https://api.mcp.ai/api/vercel/get/rolling/release` — Tool to retrieve active rolling release information for a Vercel project. Use when you need to check the status of a gradual deployment rollout.
  - body: { slug?: string, state?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/get/rolling/release/billing/status` — Tool to retrieve the rolling release billing status for a Vercel project. Use when you need to check if rolling releases are available for a project based on the team's plan.
  - body: { slug?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/get/rolling/release/config` — Tool to get rolling release configuration for a Vercel project. Use when you need to retrieve the project-level rolling release settings that define how deployments are gradually rolled out.
  - body: { slug?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/get/runtime/logs` — DEPRECATED: Use VERCEL_GET_DEPLOYMENT_LOGS2 instead. Tool to retrieve runtime logs for a specific Vercel deployment. Use when monitoring deployment execution, debugging runtime issues, or analyzing de
  - body: { slug?: string, teamId?: string, projectId: string, deploymentId: string }
- `POST https://api.mcp.ai/api/vercel/get/shared/env/var` — Tool to retrieve the decrypted value of a Shared Environment Variable by id. Use when you need to inspect a specific shared environment variable value.
  - body: { id: string, slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/shared/env/variables` — Tool to list all shared environment variables for a team. Use when you need to retrieve or inspect shared environment variables across projects.
  - body: { ids?: string, slug?: string, search?: string, teamId?: string, projectId?: string, exclude_ids?: string, exclude_projectId?: string }
- `POST https://api.mcp.ai/api/vercel/get/team` — Retrieves detailed information about a specific Vercel team by its ID or slug. Returns comprehensive team metadata including billing, membership, resource configuration, and settings. Use this to get 
  - body: { slug?: string, teamId: string }
- `POST https://api.mcp.ai/api/vercel/get/teams` — Tool to list all teams accessible to the authenticated user with detailed information. Use when you need comprehensive team data including membership, configuration, and settings.
  - body: { limit?: integer, since?: integer, until?: integer }
- `POST https://api.mcp.ai/api/vercel/get/tld/info` — Tool to get information about a specific top-level domain (TLD). Use when you need to check supported language codes for domain registration.
  - body: { tld: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/tld/price` — Tool to get pricing information for a specific top-level domain (TLD). Use when you need to check domain registration, renewal, or transfer costs.
  - body: { tld: string, years?: integer, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/get/user/events` — Tool to list user events. Use when you need to retrieve events generated by a user or team, such as logins, deployments, and team activities.
  - body: { slug?: string, limit?: integer, since?: string, types?: string, until?: string, teamId?: string, userId?: string, projectIds?: string, principalId?: string, withPayload?: string }
- `POST https://api.mcp.ai/api/vercel/get/webhook` — Tool to retrieve details of a specific webhook by ID. Use when you need to inspect webhook configuration, events, or metadata.
  - body: { id: string, slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/invalidate/cache/by/src/images` — Tool to invalidate edge cache by source image URLs. Use when you need to mark cached images as stale for specific source images. Invalidated images are revalidated in the background on the next reques
  - body: { slug?: string, teamId?: string, srcImages: string[], projectIdOrName: string }
- `POST https://api.mcp.ai/api/vercel/invalidate/cache/by/tags` — Tool to invalidate edge cache by tags. Use when you need to mark cached content as stale for specific cache tags. Invalidated content is revalidated in the background on the next request, ensuring zer
  - body: { slug?: string, tags: string[]|string, target?: string, teamId?: string, projectIdOrName: string }
- `POST https://api.mcp.ai/api/vercel/list/aliases` — Tool to list aliases from Vercel API. Use when you need to retrieve aliases with optional filtering by domain, project, or time range. Results are paginated; use `limit` with `since`/`until` to iterat
  - body: { from?: integer, slug?: string, limit?: integer, since?: integer, until?: integer, domain?: string, teamId?: string, projectId?: string, rollbackDeploymentId?: string }
- `POST https://api.mcp.ai/api/vercel/list/all/deployments` — DEPRECATED: Use VERCEL_GET_DEPLOYMENTS instead. Lists deployments under your user or team context. Results are cursor-paginated; follow `pagination.next` until null to retrieve all pages. In team cont
  - body: { app?: string, sha?: string, slug?: string, limit?: integer, since?: integer, state?: string, until?: integer, users?: string, branch?: string, target?: string, teamId?: string, projectId?: string, rollbackCandidate?: boolean }
- `POST https://api.mcp.ai/api/vercel/list/auth/tokens` — Tool to list authentication tokens. Use when you need to retrieve all tokens for the current user or an optional team.
  - body: { teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/deployment/aliases` — Tool to list all aliases assigned to a specific deployment. Use when you need to retrieve the aliases (custom domains or URLs) that point to a particular deployment.
  - body: { id: string, slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/deployment/checks` — Tool to retrieve a list of checks for a specific deployment. Use after a deployment to inspect check statuses and results.
  - body: { slug?: string, teamId?: string, deploymentId: string }
- `POST https://api.mcp.ai/api/vercel/list/deployment/files` — Tool to list all files in a specific deployment. Use when you need to inspect the file tree structure of a deployed application.
  - body: { id: string, slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/dns/records` — Tool to list existing DNS records for a domain. Use when you need to retrieve, audit, or verify DNS configuration for a domain managed in Vercel.
  - body: { slug?: string, limit?: string, since?: string, until?: string, domain: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/domains` — Tool to list all domains from Vercel. Use this to retrieve domain information including verification status, nameservers, and ownership details.
  - body: { slug?: string, limit?: integer, since?: integer, until?: integer, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/edge/config/backups` — Tool to retrieve backups for a specific Edge Config. Use when you need to list or inspect available backups for recovery purposes.
  - body: { next?: string, slug?: string, limit?: integer, teamId?: string, metadata?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/list/edge/config/items` — Tool to retrieve all items from a specific Edge Config. Use when you need to inspect all key-value pairs stored in an Edge Config.
  - body: { slug?: string, teamId?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/list/edge/config/tokens` — Tool to get all tokens of an Edge Config. Use when you need to retrieve the complete list of tokens associated with a specific Edge Config.
  - body: { slug?: string, teamId?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/list/edge/configs` — Tool to retrieve all Edge Configs for an account or team. Use when you need to list all Edge Config definitions.
  - body: { slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/env/variables` — DEPRECATED: Use FilterProjectEnvs instead. Tool to list environment variables for a specific project. Use when you need to inspect or page through the environment settings before deployment. Each retu
  - body: { limit?: integer, until?: integer, decrypt?: boolean, gitBranch?: string, projectId: string }
- `POST https://api.mcp.ai/api/vercel/list/firewall/events` — Retrieve firewall events and security actions for a specific Vercel project. Use this tool when you need to: - Monitor security events and blocked requests for a project - Analyze firewall actions (bl
  - body: { hosts?: string, teamId?: string, projectId: string, endTimestamp?: integer, startTimestamp?: integer }
- `POST https://api.mcp.ai/api/vercel/list/integration/log/drains` — Retrieves a list of Integration log drains for a team or account. Log drains forward logs from deployments to external endpoints. When using an OAuth2 token, results are limited to log drains created 
  - body: { slug?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/project/custom/environments` — Tool to retrieve custom environments for a Vercel project. Use when you need to list all custom environments or filter by git branch.
  - body: { slug?: string, teamId?: string, idOrName: string, gitBranch?: string }
- `POST https://api.mcp.ai/api/vercel/list/project/members` — Tool to list all members of a Vercel project. Use when you need to retrieve member information, check access permissions, or audit project membership.
  - body: { slug?: string, limit?: integer, since?: integer, until?: integer, search?: string, teamId?: string, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/list/projects` — DEPRECATED: Use GetProjects instead. Tool to list all projects accessible to the authenticated user or team. Use this to retrieve project IDs and metadata for further operations. Results are paginated
  - body: { limit?: integer, since?: integer, until?: integer, search?: string, teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/supported/tlds` — Tool to retrieve all TLDs (top-level domains) supported by Vercel for domain registration. Use when you need to verify if a specific TLD is supported or to display available domain extensions.
  - body: { teamId?: string }
- `POST https://api.mcp.ai/api/vercel/list/team/members` — Tool to list all members of a Vercel team. Use when you need to retrieve team member information, check team access permissions, or audit team membership.
  - body: { role?: string, limit?: integer, since?: integer, until?: integer, search?: string, teamId: string, excludeProject?: string, eligibleMembersForProjectId?: string }
- `POST https://api.mcp.ai/api/vercel/list/teams` — DEPRECATED: Use VERCEL_VERCEL_GET_TEAMS instead. Tool to list all teams accessible to the authenticated user. Use after authentication to retrieve team IDs and slugs; resolve the correct teamId or slu
  - body: { limit?: integer, since?: integer, until?: integer }
- `POST https://api.mcp.ai/api/vercel/list/webhooks` — Tool to retrieve a list of all webhooks for the authenticated account or team. Use this to discover configured webhooks and their event subscriptions.
  - body: { slug?: string, teamId?: string, projectId?: string }
- `POST https://api.mcp.ai/api/vercel/move/project/domain` — Tool to move a domain from one Vercel project to another. Use when you need to transfer domain ownership between projects.
  - body: { slug?: string, domain: string, teamId?: string, idOrName: string, redirect?: string, gitBranch?: string, projectId: string, redirectStatusCode?: integer }
- `POST https://api.mcp.ai/api/vercel/pause/project` — Tool to pause a Vercel project. Use when you need to temporarily disable a project to prevent new deployments and stop serving traffic.
  - body: { slug?: string, teamId?: string, projectId: string }
- `POST https://api.mcp.ai/api/vercel/read/firewall/config` — Tool to read firewall configuration for a Vercel project. Use when you need to inspect current firewall settings, IP rules, or custom security rules for a project.
  - body: { teamId?: string, projectId: string }
- `POST https://api.mcp.ai/api/vercel/record/events` — Tool to record artifacts cache usage events. Use when tracking cache hits and misses for artifact hashes to monitor remote caching performance.
  - body: { slug?: string, events: object[], teamId?: string, x_artifact_client_ci?: string, x_artifact_client_interactive?: integer }
- `POST https://api.mcp.ai/api/vercel/remove/project/domain` — Tool to remove a domain from a Vercel project. Use when you need to detach a domain from a project or clean up domain associations.
  - body: { slug?: string, domain: string, teamId?: string, idOrName: string, removeRedirects?: boolean }
- `POST https://api.mcp.ai/api/vercel/replace/firewall/config` — Tool to update firewall configuration for a Vercel project. Use when you need to enable/disable firewall, configure CRS rules, or manage custom firewall rules and IP restrictions.
  - body: { crs?: object, ips?: object[], slug?: string, rules?: object[], teamId?: string, projectId: string, botIdEnabled?: boolean, managedRules?: object, firewallEnabled: boolean }
- `POST https://api.mcp.ai/api/vercel/request/delete/user` — Tool to initiate user account deletion on Vercel. Use when a user wants to delete their account. This triggers a verification email to confirm the deletion request.
  - body: { reasons?: object[] }
- `POST https://api.mcp.ai/api/vercel/request/promote` — Tool to promote a deployment to production by pointing all production domains for a project to the given deployment. Use this when you need to make a specific deployment live without rebuilding. The d
  - body: { slug?: string, teamId?: string, projectId: string, deploymentId: string }
- `POST https://api.mcp.ai/api/vercel/search/repo` — Tool to search and list Git repositories linked to a namespace by provider. Use this to discover available repositories for integration with Vercel projects.
  - body: { host?: string, slug?: string, query?: string, teamId?: string, provider?: string, namespaceId?: string, installationId?: string }
- `POST https://api.mcp.ai/api/vercel/test/drain` — Tool to validate a drain delivery configuration by sending a test request. Use when you need to verify that a drain endpoint is properly configured and can receive events before creating the actual dr
  - body: { slug?: string, teamId?: string, schemas: object, delivery: object }
- `POST https://api.mcp.ai/api/vercel/transfer/in/domain` — Tool to transfer a domain to Vercel from another registrar. Use when you need to migrate domain registration to Vercel. Before transferring, obtain the authorization code from the current registrar an
  - body: { years: integer, domain: string, teamId?: string, authCode: string, autoRenew: boolean, expectedPrice: number, contactInformation: object }
- `POST https://api.mcp.ai/api/vercel/unlink/shared/env/variable` — Tool to disconnect a shared environment variable from a Vercel project. Use when you need to remove the linkage between a shared environment variable and a specific project without deleting the variab
  - body: { id: string, slug?: string, teamId?: string, projectId: string }
- `POST https://api.mcp.ai/api/vercel/unpause/project` — Tool to unpause a specific project by its ID. Use after identifying a paused project to enable auto assigning custom production domains and unblock the active Production Deployment.
  - body: { slug?: string, teamId?: string, projectId: string }
- `POST https://api.mcp.ai/api/vercel/update/attack/challenge/mode` — Tool to update Attack Challenge mode for a Vercel project. Use when you need to enable or disable enhanced security protection against potential attacks. Attack Challenge mode adds an extra verificati
  - body: { slug?: string, teamId?: string, projectId: string, attackModeEnabled: boolean, attackModeActiveUntil: integer }
- `POST https://api.mcp.ai/api/vercel/update/dns/record` — Tool to update an existing DNS record. Use when you need to modify DNS record properties such as value, name, type, TTL, or comment. Ensure you have the record ID before calling this action.
  - body: { srv?: object, ttl?: integer, name?: string, slug?: string, type?: string, https?: object, value?: string, teamId?: string, comment?: string, recordId: string, mxPriority?: integer }
- `POST https://api.mcp.ai/api/vercel/update/domain` — Tool to update or move an apex domain on Vercel. Use when you need to modify domain configuration (zone settings) or transfer a domain to another team. For 'update' operation, you can modify the zone 
  - body: { op: string, slug?: string, zone?: boolean, renew?: boolean, domain: string, teamId?: string, destination?: string, customNameservers?: string[] }
- `POST https://api.mcp.ai/api/vercel/update/edge/config` — Tool to update an Edge Config by changing its slug. Use when you need to rename an Edge Config to reflect a new purpose or organizational structure.
  - body: { slug: string, teamId?: string, teamSlug?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/update/edge/config/items` — Tool to update items within a specific Edge Config. Use when you need to batch modify, add, or remove key-value pairs in an existing Edge Config.
  - body: { slug?: string, items: object[], dryRun?: boolean, teamId?: string, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/update/edge/config/schema` — Tool to update the JSON Schema for an Edge Config. Use when you need to define or modify validation rules for Edge Config items.
  - body: { slug?: string, dryRun?: string, teamId?: string, requestBody: object, edgeConfigId: string }
- `POST https://api.mcp.ai/api/vercel/update/firewall/config` — Tool to incrementally update Vercel Firewall configuration for a project using PATCH. Use when you need to: enable/disable the firewall ('firewallEnabled'), add/remove IP blocking rules ('ip.insert'/'
  - body: { id?: string, slug?: string, value?: boolean|integer|object, action: string, teamId?: string, projectId: string }
- `POST https://api.mcp.ai/api/vercel/update/project` — DEPRECATED: Use VERCEL_VERCEL_UPDATE_PROJECT2 instead. Tool to update an existing project. Partial-update: omitted fields are preserved, but nullable fields explicitly set to null will be cleared. Cha
  - body: { name?: string, slug?: string, gitLFS?: boolean, teamId?: string, idOrName: string, framework?: string, devCommand?: string, nodeVersion?: string, buildCommand?: string, publicSource?: boolean, rootDirectory?: string, ssoProtection?: object, installCommand?: string, oidcTokenConfig?: object, outputDirectory?: string, directoryListing?: boolean, gitForkProtection?: boolean, passwordProtection?: object, autoExposeSystemEnvs?: boolean, autoAssignCustomDomains?: boolean, serverlessFunctionRegion?: string, previewDeploymentsDisabled?: boolean, commandForIgnoringBuildStep?: string, customerSupportCodeVisibility?: boolean, sourceFilesOutsideRootDirectory?: boolean, autoAssignCustomDomainsUpdatedBy?: string, enableAffectedProjectsDeployments?: boolean }
- `POST https://api.mcp.ai/api/vercel/update/project/data/cache` — Tool to update the data cache feature for a Vercel project. Use when you need to enable or disable data caching for a project's deployments.
  - body: { slug?: string, teamId?: string, disabled?: boolean, projectId: string }
- `POST https://api.mcp.ai/api/vercel/update/project/domain` — Tool to update a project domain in Vercel. Use when you need to modify domain settings such as git branch association, redirects, or redirect status codes for an existing project domain.
  - body: { slug?: string, domain: string, teamId?: string, idOrName: string, redirect?: string, gitBranch?: string, redirectStatusCode?: integer }
- `POST https://api.mcp.ai/api/vercel/update/project/protection/bypass` — Tool to update protection bypass for automation on a Vercel project. Use when you need to generate, revoke, or update automation bypass secrets for deployment protection.
  - body: { slug?: string, revoke?: object, teamId?: string, update?: object, generate?: object, idOrName: string }
- `POST https://api.mcp.ai/api/vercel/update/project2` — Tool to update an existing Vercel project configuration. Use when you need to modify project settings such as framework, build commands, environment configuration, or deployment protection settings.
  - body: { name?: string, slug?: string, gitLFS?: boolean, teamId?: string, idOrName: string, framework?: string, staticIps?: object, devCommand?: string, nodeVersion?: string, buildCommand?: string, publicSource?: boolean, rootDirectory?: string, ssoProtection?: object, installCommand?: string, resourceConfig?: object, oidcTokenConfig?: object, outputDirectory?: string, directoryListing?: boolean, gitForkProtection?: boolean, passwordProtection?: object, autoExposeSystemEnvs?: boolean, enablePreviewFeedback?: boolean, autoAssignCustomDomains?: boolean, previewDeploymentSuffix?: string, enableProductionFeedback?: boolean, serverlessFunctionRegion?: string, skipGitConnectDuringLink?: boolean, previewDeploymentsDisabled?: boolean, commandForIgnoringBuildStep?: string, customerSupportCodeVisibility?: boolean, sourceFilesOutsideRootDirectory?: boolean, autoAssignCustomDomainsUpdatedBy?: string, enableAffectedProjectsDeployments?: boolean, serverlessFunctionZeroConfigFailover?: boolean }
- `POST https://api.mcp.ai/api/vercel/update/shared/env/variable` — Tool to update one or more shared environment variables. Use when you need to modify shared env var properties like value, target environments, or project linkages using their IDs.
  - body: { slug?: string, teamId?: string, updates: object }
- `POST https://api.mcp.ai/api/vercel/update/static/ips` — Tool to configure Static IPs for a Vercel project. Use when you need to enable or configure Static IPs for builds or specific regions. Requires either 'builds' or 'regions' parameter to be provided.
  - body: { slug?: string, builds?: boolean, teamId?: string, regions?: string[], idOrName: string }
- `POST https://api.mcp.ai/api/vercel/update/team` — Tool to update a Vercel team's configuration. Use when you need to modify team settings like name, description, security policies, or deployment settings.
  - body: { name?: string, saml?: object, slug?: string, avatar?: string, teamId: string, new_slug?: string, description?: string, emailDomain?: string, remoteCaching?: object, hideIpAddresses?: boolean, regenerateInviteCode?: boolean, enablePreviewFeedback?: string, previewDeploymentSuffix?: string, enableProductionFeedback?: string, defaultExpirationSettings?: object, hideIpAddressesInLogDrains?: boolean, defaultDeploymentProtection?: object, sensitiveEnvironmentVariablePolicy?: string }
- `POST https://api.mcp.ai/api/vercel/update/url/protection/bypass` — Tool to update the protection bypass for a URL. Use when you need to configure shareable links with TTL, revoke/regenerate links, set user-scoped access permissions, or manage alias protection overrid
  - body: { id: string, ttl?: integer, slug?: string, scope?: object, revoke?: object, teamId?: string, override?: object }
- `POST https://api.mcp.ai/api/vercel/upload/artifact` — Tool to upload a cache artifact to Vercel. Use when you need to store build artifacts in Vercel's remote cache.
  - body: { hash: string, slug?: string, teamId?: string, artifact: object, x-artifact-tag?: string, x-artifact-duration?: integer, x-artifact-client-ci?: string, x-artifact-client-interactive?: integer }
- `POST https://api.mcp.ai/api/vercel/upload/file` — Tool to upload deployment files to Vercel. Use when preparing files for a Vercel deployment. The uploaded file is stored and returns CDN URLs for use in deployment creation.
  - body: { slug?: string, teamId?: string, xNowSize?: integer, xNowDigest?: string, contentLength?: integer, xVercelDigest?: string, file_to_upload: object }
- `POST https://api.mcp.ai/api/vercel/verify/project/domain` — Attempts to verify a project domain by checking if DNS challenges are correctly configured. Call this after adding a domain to a project and setting up the required DNS TXT records. Returns verified=t
  - body: { slug?: string, domain: string, teamId?: string, idOrName: string }

## Example prompts
- "What can I do in Vercel?"
- "Show me a summary of my Vercel account"

## More
- Page: https://mcp.ai/vercel
- Agent spec (llms.txt): https://mcp.ai/vercel/llms.txt
- Postman collection: https://mcp.ai/vercel/postman.json
