vercel-mcp-pro
Integrates with Vercel's full REST API, providing 70 tools for managing deployments, projects, environment variables, domains, DNS, aliases, certificates, logs, checks, webhooks, edge config, teams, and more, plus a raw escape hatch for any endpoint.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vercel-mcp-prolist my latest deployments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Vercel MCP Pro ▲
The most complete Vercel MCP server — 70 tools covering the entire Vercel REST API (deployments, projects, env vars, domains, DNS, aliases, certs, logs, checks, webhooks, edge config, teams) plus a
vercel_rawescape hatch and a readonly safety mode.
Works in any MCP client — Claude Code, Claude Desktop, Cursor, ChatGPT — using a Vercel access token (no OAuth flow required). Ships with an optional /vercel skill that drives the Vercel CLI for terminal deploys.
Why this and not the official one?
Official | vercel-mcp-pro | |
Auth | OAuth (approved clients only) | Token (works everywhere, self-hosted) |
Coverage | Docs search, manage projects/deployments, analyze logs | Full REST API: env, domains, DNS, aliases, certs, webhooks, edge config, checks, log drains… |
Escape hatch | — |
|
Safety | — |
|
Related MCP server: Vercel MCP
Install
npx -y vercel-mcp-proOr clone and build locally:
git clone https://github.com/helbertparanhos/vercel-mcp-pro
cd vercel-mcp-pro
npm install && npm run buildConfiguration
Create a token at https://vercel.com/account/settings/tokens.
Copy
.env.example→.envand fill it in:
Variable | Required | Description |
| ✅ | Personal or team access token. |
| — | Default team scope (injected as |
| — | Scope by team slug (alternative to |
| — |
|
| — |
|
| — | Request timeout (default 60000). |
| — | Retries on 429/5xx/network (default 3). |
Add to your client
Claude Code
claude mcp add vercel-mcp-pro -- npx -y vercel-mcp-proOr in this project's .claude/settings.json → mcpServers:
"vercel": {
"command": "node",
"args": ["projects/vercel-mcp-pro/dist/index.js"],
"env": {
"VERCEL_TOKEN": "your_token",
"VERCEL_TEAM_ID": "team_xxx"
}
}Claude Desktop
%APPDATA%\Claude\claude_desktop_config.json (Windows) / ~/Library/Application Support/Claude/claude_desktop_config.json (Mac):
{
"mcpServers": {
"vercel": {
"command": "npx",
"args": ["-y", "vercel-mcp-pro"],
"env": { "VERCEL_TOKEN": "your_token", "VERCEL_TEAM_ID": "team_xxx" }
}
}
}Cursor
Paste the same config into .cursor/mcp.json.
Tools (70)
Deployments (11)
list_deployments · get_deployment · create_deployment · cancel_deployment · delete_deployment · get_deployment_events · list_deployment_files · get_deployment_file_contents · promote_deployment · rollback_deployment · get_promote_aliases
Projects (7)
list_projects · get_project · create_project · update_project · delete_project · pause_project · unpause_project
Environment Variables (6)
list_env_vars · get_env_var · create_env_var · bulk_create_env_vars · update_env_var · delete_env_var
Domains (9)
list_domains · get_domain · get_domain_config · add_domain · verify_domain · remove_domain · list_project_domains · add_project_domain · remove_project_domain
DNS (4)
list_dns_records · create_dns_record · update_dns_record · delete_dns_record
Aliases (4)
list_aliases · get_alias · assign_alias · delete_alias
Certificates (4)
get_cert · issue_cert · upload_cert · remove_cert
Logs (2)
get_build_logs · get_runtime_logs
Checks (5)
list_checks · get_check · create_check · update_check · rerequest_check
Webhooks (3)
list_webhooks · create_webhook · delete_webhook
Edge Config (6)
list_edge_configs · get_edge_config · get_edge_config_items · create_edge_config · update_edge_config_items · delete_edge_config
Teams & User (4)
get_user · list_teams · get_team · list_team_members
Integrations & Log Drains (4)
list_integrations · list_log_drains · create_log_drain · delete_log_drain
Escape hatch (1)
vercel_raw — call any Vercel REST endpoint (method + full versioned path + params + body). Guarantees 100% coverage even for niche/new endpoints (marketplace, sandboxes, feature-flags, access-groups, rolling-release…). Auto-injects your team scope; honored by readonly mode for GETs.
Common recipes
Diagnose a failed deploy
list_deployments(projectId:"my-app", state:"ERROR") → get_build_logs(idOrUrl:"dpl_...")Ship a preview to production (no rebuild)
promote_deployment(projectId:"my-app", deploymentId:"dpl_...")Roll back fast
rollback_deployment(projectId:"my-app", deploymentId:"dpl_previous")Add an env var to all environments
create_env_var(projectId:"my-app", key:"API_KEY", value:"…", target:["production","preview","development"])Anything not covered
vercel_raw(method:"GET", path:"/v1/security/firewall/config", params:{ projectId:"my-app" })The /vercel CLI skill (bundled)
For terminal-driven deploys, this repo also ships a Claude Code skill in skill/ that drives the official Vercel CLI (vercel deploy, vercel logs, vercel env, vercel rollback). The MCP gives full API coverage in any client; the skill gives the smoothest git push → deploy loop in the terminal. They complement each other — see skill/SKILL.md.
Safety
VERCEL_READONLY=trueblocks every write/delete tool — only reads andvercel_rawGETs run. Ideal for audits and exploration.The
vercel_rawpath is sanitized (must start with a version segment like/v9/…; no scheme/host/traversal/control chars) and constrained toapi.vercel.com.Auth, retries (429 with
Retry-After, 5xx, network) and rate-limiting are handled for you. The token only ever travels in theAuthorizationheader — never in a query string or log.
Security model — read this before trusting the guards
VERCEL_READONLYblocks mutations, not reads of secrets. Read tools likelist_env_vars(withdecrypt:true),get_env_varandget_edge_config_itemsreturn decrypted values and still run in readonly mode — that's their purpose. If your environment must never surface secrets to the model, don't expose those tools / run against a least-privilege token.VERCEL_TEAM_IDis a convenience scope, not a security boundary. It sets the default team, but a caller can pass a differentteamId/slugper call (including viavercel_raw). The real boundary is the token's own scope — use a token limited to the team/projects you intend to automate.Treat the token as production credentials. It grants the same access as your Vercel account/team. Prefer a scoped token, keep it in
.env(gitignored) or your client's secret store, and rotate it if it's ever shared or pasted into a chat.
License
MIT © Helbert Paranhos / Strat Academy
This server cannot be installed
Maintenance
Latest Blog Posts
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