# Vercel MCP Pro [Health: Active]

**Category:** ☁️ Cloud Platforms  
**Repository:** https://github.com/helbertparanhos/vercel-mcp-pro  
**GitHub Stars:** 0  
**npm Downloads (last month):** 514  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/vercel-mcp-pro

## Description
Complete Vercel MCP: deploys, logs, projects, env, domains, DNS, certs via the full REST API

## Tools
Capabilities this server exposes over MCP:

- **list_deployments** — List deployments, most recent first. Filter by project, target (production/preview), state, or time window. Use this to see deploy history and find a deployment id.
- **get_deployment** — Get full details of one deployment by id or URL (state, build, meta, aliases).
- **create_deployment** — Create a new deployment. The simplest path is to deploy from a connected Git source: pass `name` (project) and a `gitSource` ({ type, repoId/org+repo, ref }). For file-based deploys, provide `files`. For most workflows the /vercel CLI skill is easier — use this when you need API-driven, headless deploys.
- **cancel_deployment** — Cancel an in-progress (BUILDING/QUEUED) deployment.
- **delete_deployment** — Delete a deployment by id (or by URL via the `url` param).
- **get_deployment_events** — Get the build/runtime event log of a deployment (this is where build logs and errors live). Use to diagnose failed builds and runtime bugs. Returns log lines with text, type and timestamps.
- **list_deployment_files** — List the file tree of a deployment.
- **get_deployment_file_contents** — Get the contents of a single file within a deployment by file id.
- **promote_deployment** — Promote an existing deployment to production for a project (instant promotion, no rebuild). This is how you ship a previously-built preview to prod.
- **rollback_deployment** — Roll a project's production back to a previous deployment (instant rollback). Pass the deployment id you want to roll back to.
- **get_promote_aliases** — Check the status of the most recent promote/rollback for a project (which aliases were assigned).
- **list_projects** — List projects in the account/team. Optionally filter by name or repo.
- **get_project** — Get a project's full configuration by id or name.
- **create_project** — Create a new project. Optionally connect a Git repo via `gitRepository` ({ type:'github', repo:'org/name' }) and set the framework/build settings.
- **update_project** — Update a project's settings (name, framework, build/install/dev commands, root/output directory, node version, etc.).
- **delete_project** — Delete a project permanently. This cannot be undone.
- **pause_project** — Pause a project (stops serving production traffic) by project id.
- **unpause_project** — Resume a previously paused project by project id.
- **list_env_vars** — List environment variables for a project. By default values are decrypted only where your token allows. Use `decrypt:true` to request decrypted values.
- **get_env_var** — Get a single environment variable (and its decrypted value where allowed) by id.
- **create_env_var** — Create an environment variable on a project. `target` is which environments it applies to (production/preview/development). `type` defaults to 'encrypted'.
- **bulk_create_env_vars** — Create multiple environment variables in one call. Pass an array of { key, value, target, type?, gitBranch?, comment? } objects. Set upsert:true to overwrite keys that already exist (otherwise existing keys cause a conflict).
- **update_env_var** — Update an existing environment variable (value, target, type, comment) by id.
- **delete_env_var** — Delete an environment variable from a project by id.
- **list_domains** — List all domains registered/owned in the account or team.
- **get_domain** — Get details for a single account-level domain by name.
- **get_domain_config** — Get the DNS/verification configuration Vercel expects for a domain (records to set at your registrar).
- **add_domain** — Add (register/move) a domain to the account or team.
- **verify_domain** — Trigger verification of a domain after you've set the required DNS/TXT records.
- **remove_domain** — Remove a domain from the account or team by name.
- **list_project_domains** — List the domains attached to a specific project.
- **add_project_domain** — Attach a domain to a project. Optionally set a redirect or assign it to a specific git branch.
- **remove_project_domain** — Detach a domain from a project (does not delete the domain from the account).
- **list_dns_records** — List the DNS records Vercel manages for a domain.
- **create_dns_record** — Create a DNS record for a domain. For MX set `mxPriority`; for SRV pass the `srv` object.
- **update_dns_record** — Update an existing DNS record by record id.
- **delete_dns_record** — Delete a DNS record from a domain by record id.
- **list_aliases** — List aliases (custom URLs) in the account/team, optionally filtered by project.
- **get_alias** — Get a single alias by id or alias name (e.g. my-app.vercel.app).
- **assign_alias** — Assign an alias (hostname) to a deployment — points the custom URL at that deployment.
- **delete_alias** — Remove an alias by id.
- **get_cert** — Get a TLS certificate by id.
- **issue_cert** — Issue (provision) a new TLS certificate for one or more domains. Vercel handles the ACME flow.
- **upload_cert** — Upload a custom TLS certificate (your own cert/key/CA chain) instead of having Vercel issue one.
- **remove_cert** — Delete a TLS certificate by id.
- **get_build_logs** — Get the BUILD logs of a deployment — what ran during the build and why it failed. Use this first when a deployment is in ERROR state.
- **get_runtime_logs** — Get RUNTIME logs/events of a deployment (serverless/edge function output, runtime errors). Use to debug a deployment that built fine but misbehaves in production.
- **list_checks** — List the checks (CI/quality gates) registered on a deployment.
- **get_check** — Get a single check on a deployment by id (status, conclusion, output).
- **create_check** — Register a new check on a deployment (for integrations that report CI/quality results).
- **update_check** — Update a check's status, conclusion or output by id.
- **rerequest_check** — Re-run a previously completed, rerequestable check by id.
- **list_webhooks** — List webhooks configured in the account/team.
- **create_webhook** — Create a webhook that POSTs to your endpoint on the chosen events. Optionally scope it to projects.
- **delete_webhook** — Delete a webhook by id.
- **list_edge_configs** — List all Edge Config stores in the account/team.
- **get_edge_config** — Get metadata for a single Edge Config store by id.
- **get_edge_config_items** — Read all key/value items stored in an Edge Config.
- **create_edge_config** — Create a new Edge Config store.
- **update_edge_config_items** — Upsert/delete items in an Edge Config in one PATCH. Pass operations [{ operation:'create'|'update'|'upsert'|'delete', key, value? }].
- **delete_edge_config** — Delete an Edge Config store by id.
- **get_user** — Get the authenticated user (account behind VERCEL_TOKEN).
- **list_teams** — List the teams the authenticated user belongs to.
- **get_team** — Get a single team by id or slug.
- **list_team_members** — List the members of a team.
- **list_integrations** — List installed integration configurations in the account/team.
- **list_log_drains** — List configurable log drains (where deployment logs are shipped).
- **create_log_drain** — Create a configurable log drain that ships logs to your endpoint. Choose the sources (build, edge, lambda, static, external) and delivery format.
- **delete_log_drain** — Delete a configurable log drain by id.
- **vercel_raw** — Call any Vercel REST endpoint directly (escape hatch for full API coverage). Provide the HTTP method and the FULL path INCLUDING the version segment (e.g. '/v9/projects' or '/v13/deployments/dpl_xxx'), plus optional query params and JSON body. The configured team scope (VERCEL_TEAM_ID) is auto-injected unless you pass teamId/slug in params. Use this only when no dedicated tool exists. Auth, retries and rate-limiting are handled for you. Reference: https://vercel.com/docs/rest-api

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "vercel-mcp-pro": {
    "command": "npx",
    "args": ["-y","vercel-mcp-pro"],
    "env": {
      "VERCEL_TOKEN": ""
    }
  }
}
```

**Requires environment variables:** `VERCEL_TOKEN` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What Vercel MCP Pro MCP server does

Vercel MCP Pro MCP server connects MCP clients to the Vercel REST API through a Node.js package that can be started with `npx` or built locally from the repository. Its tool set covers the main operational areas of a Vercel account: deployments, projects, environment variables, domains, DNS records, aliases, certificates, build and runtime logs, checks, webhooks, Edge Config, teams, integrations, and log drains.

The server supports both read and write operations. For example, an agent can list failed deployments, retrieve build logs, promote or roll back a deployment, add environment variables, manage project domains, or update DNS records. It also exposes user and team information, along with operations for deployment files and promotion aliases.

## How it works

Authentication uses a Vercel personal or team access token in the `VERCEL_TOKEN` environment variable. Requests can be scoped with either a team ID or team slug. The server handles authorization headers, retries for rate limits, server errors, and network failures, and applies a configurable request timeout.

The `vercel_raw` tool accepts an HTTP method, a versioned Vercel API path, parameters, and an optional body. This provides access to endpoints not represented by the named tools, including newer or niche REST API areas. Raw paths are restricted to Vercel's API host and must use an approved versioned path format.

Vercel MCP Pro MCP server can run in readonly mode by setting `VERCEL_READONLY=true`. That blocks write and delete tools and permits raw GET requests. The separate `VERCEL_DISABLE_RAW=true` option removes the raw endpoint tool altogether.

## Setup and configuration

Create a Vercel token, then start the package with:

```bash
npx -y vercel-mcp-pro
```

The repository can also be cloned, installed, and built with `npm install && npm run build`. Configure the MCP client to launch the package over its command and arguments, then provide the token through the client's environment settings. The README includes configurations for Claude Code, Claude Desktop, and Cursor.

`VERCEL_TEAM_ID` sets a default team scope by ID, while `VERCEL_TEAM_SLUG` provides the slug-based alternative. `VERCEL_TIMEOUT_MS` changes the request timeout from its 60-second default, and `VERCEL_MAX_RETRIES` changes the default retry count of three. The optional `/vercel` skill uses the official Vercel CLI for terminal commands such as deploy, logs, environment variables, and rollback.

## Tools and capabilities

The 70 named tools are organized by resource type. Deployment tools list, inspect, create, cancel, delete, promote, and roll back deployments, and can retrieve deployment events, files, and file contents. Project tools manage project records and pause or resume projects. Environment-variable tools create, update, bulk-create, inspect, and remove variables.

Additional groups handle domain verification and project-domain assignments; DNS record changes; alias assignment; certificate issuance, upload, and removal; build and runtime logs; checks; webhooks; Edge Config records; team membership; integrations; and log drains. The raw tool extends coverage beyond those groups.

## Limitations and notes

Readonly mode does not prevent reads of sensitive values. Tools such as `list_env_vars` with decryption enabled, `get_env_var`, and `get_edge_config_items` may return decrypted secrets to the model. Use the server only where that data exposure is acceptable, and disable raw access when unrestricted endpoint access is unnecessary.

The server requires a Vercel token; it does not use an OAuth flow. The bundled CLI skill is intended for Claude Code, while the MCP tools themselves are designed for MCP clients that can launch the package. ChatGPT is named as compatible in the README, but it is not one of the standardized client slugs used by this directory.

_Full upstream README: https://allmcps.com/mcp/vercel-mcp-pro/readme_

