vercel-mcp-pro
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VERCEL_TOKEN | Yes | Personal or team access token. | |
| VERCEL_TEAM_ID | No | Default team scope (injected as ?teamId). Leave empty for personal account. | |
| VERCEL_READONLY | No | true blocks all write/delete tools (and only allows vercel_raw GETs). | |
| VERCEL_TEAM_SLUG | No | Scope by team slug (alternative to VERCEL_TEAM_ID). | |
| VERCEL_TIMEOUT_MS | No | Request timeout (default 60000). | |
| VERCEL_DISABLE_RAW | No | true removes the vercel_raw escape hatch. | |
| VERCEL_MAX_RETRIES | No | Retries on 429/5xx/network (default 3). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_deploymentsA | 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_deploymentA | Get full details of one deployment by id or URL (state, build, meta, aliases). |
| create_deploymentA | Create a new deployment. The simplest path is to deploy from a connected Git source: pass |
| cancel_deploymentB | Cancel an in-progress (BUILDING/QUEUED) deployment. |
| delete_deploymentB | Delete a deployment by id (or by URL via the |
| get_deployment_eventsA | 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_filesC | List the file tree of a deployment. |
| get_deployment_file_contentsB | Get the contents of a single file within a deployment by file id. |
| promote_deploymentA | 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_deploymentB | Roll a project's production back to a previous deployment (instant rollback). Pass the deployment id you want to roll back to. |
| get_promote_aliasesA | Check the status of the most recent promote/rollback for a project (which aliases were assigned). |
| list_projectsC | List projects in the account/team. Optionally filter by name or repo. |
| get_projectA | Get a project's full configuration by id or name. |
| create_projectB | Create a new project. Optionally connect a Git repo via |
| update_projectC | Update a project's settings (name, framework, build/install/dev commands, root/output directory, node version, etc.). |
| delete_projectA | Delete a project permanently. This cannot be undone. |
| pause_projectA | Pause a project (stops serving production traffic) by project id. |
| unpause_projectA | Resume a previously paused project by project id. |
| list_env_varsA | List environment variables for a project. By default values are decrypted only where your token allows. Use |
| get_env_varB | Get a single environment variable (and its decrypted value where allowed) by id. |
| create_env_varA | Create an environment variable on a project. |
| bulk_create_env_varsA | 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_varB | Update an existing environment variable (value, target, type, comment) by id. |
| delete_env_varB | Delete an environment variable from a project by id. |
| list_domainsB | List all domains registered/owned in the account or team. |
| get_domainA | Get details for a single account-level domain by name. |
| get_domain_configA | Get the DNS/verification configuration Vercel expects for a domain (records to set at your registrar). |
| add_domainC | Add (register/move) a domain to the account or team. |
| verify_domainA | Trigger verification of a domain after you've set the required DNS/TXT records. |
| remove_domainB | Remove a domain from the account or team by name. |
| list_project_domainsB | List the domains attached to a specific project. |
| add_project_domainB | Attach a domain to a project. Optionally set a redirect or assign it to a specific git branch. |
| remove_project_domainA | Detach a domain from a project (does not delete the domain from the account). |
| list_dns_recordsB | List the DNS records Vercel manages for a domain. |
| create_dns_recordB | Create a DNS record for a domain. For MX set |
| update_dns_recordC | Update an existing DNS record by record id. |
| delete_dns_recordC | Delete a DNS record from a domain by record id. |
| list_aliasesA | List aliases (custom URLs) in the account/team, optionally filtered by project. |
| get_aliasA | Get a single alias by id or alias name (e.g. my-app.vercel.app). |
| assign_aliasB | Assign an alias (hostname) to a deployment — points the custom URL at that deployment. |
| delete_aliasB | Remove an alias by id. |
| get_certB | Get a TLS certificate by id. |
| issue_certB | Issue (provision) a new TLS certificate for one or more domains. Vercel handles the ACME flow. |
| upload_certA | Upload a custom TLS certificate (your own cert/key/CA chain) instead of having Vercel issue one. |
| remove_certB | Delete a TLS certificate by id. |
| get_build_logsA | 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_logsA | 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_checksB | List the checks (CI/quality gates) registered on a deployment. |
| get_checkA | Get a single check on a deployment by id (status, conclusion, output). |
| create_checkB | Register a new check on a deployment (for integrations that report CI/quality results). |
| update_checkA | Update a check's status, conclusion or output by id. |
| rerequest_checkB | Re-run a previously completed, rerequestable check by id. |
| list_webhooksC | List webhooks configured in the account/team. |
| create_webhookB | Create a webhook that POSTs to your endpoint on the chosen events. Optionally scope it to projects. |
| delete_webhookB | Delete a webhook by id. |
| list_edge_configsA | List all Edge Config stores in the account/team. |
| get_edge_configA | Get metadata for a single Edge Config store by id. |
| get_edge_config_itemsB | Read all key/value items stored in an Edge Config. |
| create_edge_configB | Create a new Edge Config store. |
| update_edge_config_itemsA | Upsert/delete items in an Edge Config in one PATCH. Pass operations [{ operation:'create'|'update'|'upsert'|'delete', key, value? }]. |
| delete_edge_configB | Delete an Edge Config store by id. |
| get_userA | Get the authenticated user (account behind VERCEL_TOKEN). |
| list_teamsB | List the teams the authenticated user belongs to. |
| get_teamA | Get a single team by id or slug. |
| list_team_membersC | List the members of a team. |
| list_integrationsA | List installed integration configurations in the account/team. |
| list_log_drainsC | List configurable log drains (where deployment logs are shipped). |
| create_log_drainB | Create a configurable log drain that ships logs to your endpoint. Choose the sources (build, edge, lambda, static, external) and delivery format. |
| delete_log_drainB | Delete a configurable log drain by id. |
| vercel_rawA | 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 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/helbertparanhos/vercel-mcp-pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server