关于 Vercel MCP Pro
Vercel MCP Pro 将涵盖部署、项目、配置和日志的工具提供给 MCP 客户端,用于操作 Vercel 账户和团队资源。它还提供 REST API 通用入口和只读模式,以控制访问与变更。
主要功能
- 01部署与项目管理
- 02环境变量操作
- 03域名、DNS、别名与证书
- 04日志、检查与 Webhook
- 05Edge Config 与团队工具
- 06REST API 通用入口和只读模式
适用场景
- 01根据日志排查部署失败
- 02提升或回滚部署
- 03管理项目环境变量
- 04以只读模式检查 Vercel 资源
MCP 相关
通过 MCP 工具向任意 MCP 客户端开放 Vercel REST API 操作,并使用 Vercel 令牌认证。`VERCEL_READONLY` 设置会阻止写入和删除工具;随附的 `/vercel` skill 则通过 Vercel CLI 执行操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y vercel-mcp-proVERCEL_TOKEN密钥Vercel access token from vercel.com/account/settings/tokensVERCEL_TEAM_IDDefault team scope (empty = personal account)VERCEL_READONLYSet to true to block all write/delete tools本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
70收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| app | string | 否 | 按部署应用名称筛选。 |
| slug | string | 否 | 用于限定请求范围的团队 slug(替代 teamId)。 |
| limit | integer | 否 | 要返回的条目数上限。 |
| since | number | 否 | 仅包含在此时间戳(ms)之后创建的部署。 |
| state | string | 否 | 以逗号分隔的状态:BUILDING、ERROR、INITIALIZING、QUEUED、READY、CANCELED。 |
| until | number | 否 | 仅包含在此时间戳(ms)之前创建的部署。 |
| target | enum | 否 | 按部署目标筛选。production | preview |
| teamId | string | 否 | 用于限定请求范围的 Team ID。省略时使用 VERCEL_TEAM_ID。 |
| projectId | string | 否 | 按项目 ID 或名称筛选。 |
详细介绍
Vercel MCP Pro ▲
最全面的 Vercel MCP 服务——70 个工具,涵盖整个 Vercel REST API(部署、项目、环境变量、域名、DNS、别名、证书、日志、检查、Webhooks、Edge Config、团队),还提供
vercel_raw备用入口和只读安全模式。
适用于任何 MCP 客户端——Claude Code、Claude Desktop、Cursor、ChatGPT——使用 Vercel 访问令牌即可(无需 OAuth 流程)。还可选配 /vercel 技能,通过 Vercel CLI 在终端部署。
为什么选择它,而不是官方版本?
官方 mcp.vercel.com | vercel-mcp-pro | |
|---|---|---|
| 身份验证 | OAuth(仅限获批的客户端) | 令牌(可在任何地方使用,可自托管) |
| 覆盖范围 | 文档搜索、管理项目/部署、分析日志 | 完整 REST API:环境变量、域名、DNS、别名、证书、Webhooks、Edge Config、检查、日志转发…… |
| 备用入口 | — | vercel_raw → 任意端点,覆盖率 100% |
| 安全性 | — | VERCEL_READONLY=true 会阻止所有写入操作 |
安装
npx -y vercel-mcp-pro
或克隆并在本地构建:
git clone https://github.com/helbertparanhos/vercel-mcp-pro
cd vercel-mcp-pro
npm install && npm run build
配置
- 在 https://vercel.com/account/settings/tokens 创建令牌。
- 复制
.env.example→.env并填写:
| 变量 | 必填 | 描述 |
|---|---|---|
VERCEL_TOKEN | ✅ | 个人或团队访问令牌。 |
VERCEL_TEAM_ID | — | 默认团队范围(注入为 ?teamId)。个人账户请留空。 |
VERCEL_TEAM_SLUG | — | 按团队 slug 指定范围(可替代 VERCEL_TEAM_ID)。 |
VERCEL_READONLY | — | true 会禁用所有写入/删除工具(并且只允许 vercel_raw 执行 GET 请求)。 |
VERCEL_DISABLE_RAW | — | true 会移除 vercel_raw 逃生通道。 |
VERCEL_TIMEOUT_MS | — | 请求超时时间(默认值为 60000)。 |
VERCEL_MAX_RETRIES | — | 遇到 429/5xx/网络错误时的重试次数(默认值为 3)。 |
添加到你的客户端
Claude Code
claude mcp add vercel-mcp-pro -- npx -y vercel-mcp-pro
或者在此项目的 .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
将相同的配置粘贴到 .cursor/mcp.json。
工具(70)
部署(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
项目(7)
list_projects · get_project · create_project · update_project · delete_project · pause_project · unpause_project
环境变量(6)
list_env_vars · get_env_var · create_env_var · bulk_create_env_vars · update_env_var · delete_env_var
域名(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
别名(4)
list_aliases · get_alias · assign_alias · delete_alias
证书(4)
get_cert · issue_cert · upload_cert · remove_cert
日志(2)
get_build_logs · get_runtime_logs
检查(5)
list_checks · get_check · create_check · update_check · rerequest_check
Webhook(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
团队与用户(4)
get_user · list_teams · get_team · list_team_members
集成与日志转储(4)
list_integrations · list_log_drains · create_log_drain · delete_log_drain
逃生通道(1)
vercel_raw — 调用 Vercel REST 端点中的任意一个(方法 + 完整版本化路径 + 参数 + 请求体)。即使是小众/新增端点(marketplace、sandboxes、feature-flags、access-groups、rolling-release…),也能保证 100% 覆盖。会自动注入你的团队范围;只读模式下允许执行 GET 请求。
常用操作示例
诊断部署失败
list_deployments(projectId:"my-app", state:"ERROR") → get_build_logs(idOrUrl:"dpl_...")
将预览版本发布到生产环境(无需重新构建)
promote_deployment(projectId:"my-app", deploymentId:"dpl_...")
快速回滚
rollback_deployment(projectId:"my-app", deploymentId:"dpl_previous")
向所有环境添加环境变量
create_env_var(projectId:"my-app", key:"API_KEY", value:"…", target:["production","preview","development"])
处理未覆盖的其他需求
vercel_raw(method:"GET", path:"/v1/security/firewall/config", params:{ projectId:"my-app" })
/vercel CLI 技能(内置)
对于通过终端驱动的部署,此仓库还附带一个 Claude Code 技能,位于 skill/,可调用官方 Vercel CLI(vercel deploy、vercel logs、vercel env、vercel rollback)。MCP 可在任何客户端中提供完整的 API 覆盖;该技能则能在终端中提供最顺畅的 git push → deploy 工作流。两者相辅相成 — 参见 skill/SKILL.md。
安全性
VERCEL_READONLY=true会阻止所有写入/删除工具运行——仅执行读取操作和vercel_rawGET 请求。非常适合审计和探索。vercel_raw路径会经过清理(必须以/v9/…这类版本段开头;不得包含协议/主机/路径遍历/控制字符),且仅限api.vercel.com。- 身份验证、重试(429 响应带有
Retry-After、5xx、网络错误)和速率限制均由系统为你处理。令牌只会通过Authorization标头传输——绝不会出现在查询字符串或日志中。
安全模型——信任这些防护机制前请先阅读
VERCEL_READONLY会阻止修改操作,而不是读取机密信息。list_env_vars(使用decrypt:true)、get_env_var和get_edge_config_items等读取工具会返回解密后的值,并且在只读模式下仍会运行——这正是它们的用途。如果你的环境绝不能向模型暴露机密信息,请勿开放这些工具,或使用遵循最小权限原则的令牌。VERCEL_TEAM_ID是便捷的作用域设置,不是安全边界。 它会设置默认团队,但调用方可以在每次调用时传入不同的teamId/slug(包括通过vercel_raw传入)。真正的边界是令牌自身的作用域——请使用仅限于你打算自动化的团队/项目的令牌。- 请将令牌视为生产环境凭据。 它授予的访问权限与你的 Vercel 账户/团队相同。请优先使用限定作用域的令牌,将其保存在
.env(已被 gitignore)或客户端的机密存储中;如果令牌曾被分享或粘贴到聊天中,请立即轮换。
许可证
MIT © Helbert Paranhos / Strat Academy
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。