npm vercel-mcp-prostdioMITupdated 2mo ago
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 vercelraw escape hatch and a readonly safety mode.
O que dá para fazer com Vercel MCP Pro?
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 mcp.vercel.com |
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 | — | vercel_raw → any endpoint, 100% coverage |
| Safety | — | VERCEL_READONLY=true blocks all writes |
Install
npx -y vercel-mcp-pro
Or clone and build locally:
git clone https://github.com/helbertparanhos/vercel-mcp-pro
cd vercel-mcp-pro
npm install && npm run build
Configuration
- Create a token at https://vercel.com/account/settings/tokens.
- Copy
.env.example→.envand fill it in:
| Variable | Required | Description |
|---|---|---|
VERCEL_TOKEN |
✅ | Personal or team access token. |
VERCEL_TEAM_ID |
— | Default team scope (injected as ?teamId). Leave empty for personal account. |
VERCEL_TEAM_SLUG |
— | Scope by team slug (alternative to VERCEL_TEAM_ID). |
VERCEL_READONLY |
— | true blocks all write/delete tools (and only allows vercel_raw GETs). |
VERCEL_DISABLE_RAW |
— | true removes the vercel_raw escape hatch. |
VERCEL_TIMEOUT_MS |
— | Request timeout (default 60000). |
VERCEL_MAX_RETRIES |
— | Retries on 429/5xx/network (default 3). |
Add to your client
Claude Code
claude mcp add vercel-mcp-pro -- npx -y vercel-mcp-pro
Or 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
Instalação
Adicione Vercel MCP Pro ao seu cliente. Escolha o que você usa.
claude mcp add vercel-mcp-pro -- npx -y vercel-mcp-procodex mcp add vercel-mcp-pro -- npx -y vercel-mcp-proamp mcp add vercel-mcp-pro -- npx -y vercel-mcp-pro{
"mcpServers": {
"vercel-mcp-pro": {
"command": "npx",
"args": [
"-y",
"vercel-mcp-pro"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"vercel-mcp-pro": {
"command": "npx",
"args": [
"-y",
"vercel-mcp-pro"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"vercel-mcp-pro","command":"npx","args":["-y","vercel-mcp-pro"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"vercel-mcp-pro": {
"command": "npx",
"args": [
"-y",
"vercel-mcp-pro"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"vercel-mcp-pro": {
"command": "npx",
"args": [
"-y",
"vercel-mcp-pro"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"vercel-mcp-pro": {
"command": "npx",
"args": [
"-y",
"vercel-mcp-pro"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"vercel-mcp-pro": {
"type": "local",
"command": "npx",
"args": [
"-y",
"vercel-mcp-pro"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"vercel-mcp-pro": {
"command": {
"path": "npx",
"args": [
"-y",
"vercel-mcp-pro"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y vercel-mcp-proRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Pontuação
39 / 100
Incompleta
- Documentação25/25
- Manutenção16/25
- Confiança13/20
- Capacidade0/15
- Instalação12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 81 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Histórico de versões
| Versões | Publicada |
|---|---|
| 1.0.0Mais recente | 10 de jun. de 2026 |