名称: vercel-automation 描述: “通过Rube MCP (Composio) 自动化Vercel任务:管理部署、域名、DNS、环境变量、项目和团队。始终首先搜索工具以获取当前架构。” 要求: mcp: [rube] 类别: devops
Vercel自动化 via Rube MCP
通过Composio的Vercel工具包 via Rube MCP自动化Vercel平台操作。
工具包文档: composio.dev/toolkits/vercel
前提条件
- Rube MCP必须已连接(RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS与工具包vercel建立活跃的Vercel连接 - 始终先调用
RUBE_SEARCH_TOOLS以获取当前工具架构
设置
获取Rube MCP: 在客户端配置中将https://rube.app/mcp添加为MCP服务器。无需API密钥——仅添加端点即可工作。
- 通过确认
RUBE_SEARCH_TOOLS响应来验证Rube MCP可用 - 使用工具包
vercel调用RUBE_MANAGE_CONNECTIONS - 如果连接未处于活跃状态,请跟随返回的认证链接完成Vercel OAuth
- 在运行任何工作流前确认连接状态显示为活跃
核心工作流程
1. 监控和检查部署
使用时机: 用户希望列出、检查或调试部署
工具序列:
VERCEL_LIST_ALL_DEPLOYMENTS或VERCEL_GET_DEPLOYMENTS- 使用过滤器列出部署 [必需]VERCEL_GET_DEPLOYMENT或VERCEL_GET_DEPLOYMENT_DETAILS- 获取特定部署信息 [可选]VERCEL_GET_DEPLOYMENT_LOGS或VERCEL_GET_RUNTIME_LOGS- 查看构建/运行时日志 [可选]VERCEL_GET_DEPLOYMENT_EVENTS- 获取部署事件时间线 [可选]VERCEL_LIST_DEPLOYMENT_CHECKS- 查看部署检查结果 [可选]
关键参数:
projectId: 按项目过滤部署state: 按部署状态过滤(例如,‘READY’, ‘ERROR’, ‘BUILDING’)limit: 返回的部署数量target: 按环境过滤(‘production’, ‘preview’)deploymentId或idOrUrl: 特定部署标识符
常见陷阱:
- 部署ID和URL在大多数端点中都可作为标识符接受
- 构建日志和运行时日志是分开的;使用适当的工具
VERCEL_GET_DEPLOYMENT_LOGS返回构建日志;VERCEL_GET_RUNTIME_LOGS返回无服务器函数日志- 部署事件包括状态转换,对于调试时序问题很有用
2. 创建和管理部署
使用时机: 用户希望触发新部署
工具序列:
VERCEL_LIST_PROJECTS- 查找目标项目 [先决条件]VERCEL_CREATE_NEW_DEPLOYMENT- 触发新部署 [必需]VERCEL_GET_DEPLOYMENT- 监控部署进度 [可选]
关键参数:
name: 部署的项目名称target: 部署目标(‘production’或’preview’)gitSource: Git仓库源,包含ref/分支信息files: 用于基于文件的部署的文件对象数组
常见陷阱:
- 必须提供
gitSource或files之一,不能同时提供 - 基于Git的部署需要正确的仓库集成
- 生产部署自动更新生产域别名
- 部署创建是异步的;使用GET_DEPLOYMENT轮询状态
3. 管理环境变量
使用时机: 用户希望添加、列出或删除项目的环境变量
工具序列:
VERCEL_LIST_PROJECTS- 查找项目ID [先决条件]VERCEL_LIST_ENV_VARIABLES- 列出现有环境变量 [必需]VERCEL_ADD_ENVIRONMENT_VARIABLE- 添加新环境变量 [可选]VERCEL_DELETE_ENVIRONMENT_VARIABLE- 删除环境变量 [可选]
关键参数:
projectId: 目标项目标识符key: 环境变量名称value: 环境变量值target: 环境数组(‘production’, ‘preview’, ‘development’)type: 变量类型(‘plain’, ‘secret’, ‘encrypted’, ‘sensitive’)
常见陷阱:
- 环境变量名称在目标环境中必须唯一
type: 'secret'变量创建后无法读取;仅返回ID- 删除环境变量需要
projectId和环境变量id(不是键名) - 更改需要新部署才能生效
4. 管理域名和DNS
使用时机: 用户希望配置自定义域名或管理DNS记录
工具序列:
VERCEL_GET_DOMAIN- 检查域名状态和配置 [必需]VERCEL_GET_DOMAIN_CONFIG- 获取DNS/SSL配置详细信息 [可选]VERCEL_LIST_PROJECT_DOMAINS- 列出附加到项目的域名 [可选]VERCEL_GET_DNS_RECORDS- 列出域名的DNS记录 [可选]VERCEL_CREATE_DNS_RECORD- 添加新DNS记录 [可选]VERCEL_UPDATE_DNS_RECORD- 修改现有DNS记录 [可选]
关键参数:
domain: 域名(例如,‘example.com’)name: DNS记录名称/子域名type: DNS记录类型(‘A’, ‘AAAA’, ‘CNAME’, ‘MX’, ‘TXT’, ‘SRV’)value: DNS记录值ttl: 存活时间(秒)
常见陷阱:
- 域名必须先添加到Vercel账户才能进行DNS管理
- SSL证书自动配置,但新域名可能需要时间
- 不支持apex域的CNAME记录;使用A记录代替
- MX记录需要优先级值
5. 管理项目
使用时机: 用户希望列出、检查或更新项目设置
工具序列:
VERCEL_LIST_PROJECTS- 列出所有项目 [必需]VERCEL_GET_PROJECT- 获取详细项目信息 [可选]VERCEL_UPDATE_PROJECT- 修改项目设置 [可选]
关键参数:
idOrName: 用于查找的项目ID或名称name: 更新的项目名称framework: 框架预设(例如,‘nextjs’, ‘vite’, ‘remix’)buildCommand: 自定义构建命令覆盖rootDirectory: 如果不是仓库根目录的根目录
常见陷阱:
- 项目名称在团队/账户内全局唯一
- 更改框架设置影响后续部署
rootDirectory相对于仓库根目录
6. 团队管理
使用时机: 用户希望查看团队信息或列出团队成员
工具序列:
VERCEL_LIST_TEAMS- 列出用户所属的所有团队 [必需]VERCEL_GET_TEAM- 获取详细团队信息 [可选]VERCEL_GET_TEAM_MEMBERS- 列出特定团队的成员 [可选]
关键参数:
teamId: 团队标识符limit: 每页结果数role: 按角色过滤成员
常见陷阱:
- 团队操作需要适当的团队级权限
- 个人账户没有团队;团队端点返回空结果
- 成员角色包括’OWNER’, ‘MEMBER’, ‘DEVELOPER’, ‘VIEWER’
常见模式
ID解析
项目名称 -> 项目ID:
1. 调用 VERCEL_LIST_PROJECTS
2. 在响应中按名称查找项目
3. 提取id字段用于后续操作
域名 -> DNS记录:
1. 使用域名调用 VERCEL_GET_DNS_RECORDS
2. 提取记录ID用于更新/删除操作
分页
- 使用
limit参数控制页面大小 - 检查响应中的分页令牌或
next字段 - 继续获取直到没有更多页面指示
已知陷阱
部署状态:
- 状态包括: INITIALIZING, ANALYZING, BUILDING, DEPLOYING, READY, ERROR, CANCELED, QUEUED
- 只有READY部署是活跃的并提供流量服务
- ERROR部署应通过日志检查失败详情
环境变量:
- 秘密类型变量是只写的;创建后无法检索值
- 环境变量作用于环境(production, preview, development)
- 环境变量更改需要重新部署才能生效
速率限制:
- Vercel API每个端点都有速率限制
- 在429响应上实现退避
- 尽可能批量操作以减少API调用
快速参考
| 任务 | 工具Slug | 关键参数 |
|---|---|---|
| 列出项目 | VERCEL_LIST_PROJECTS | limit |
| 获取项目详情 | VERCEL_GET_PROJECT | idOrName |
| 更新项目 | VERCEL_UPDATE_PROJECT | idOrName, name, framework |
| 列出部署 | VERCEL_LIST_ALL_DEPLOYMENTS | projectId, state, limit |
| 获取部署 | VERCEL_GET_DEPLOYMENT | idOrUrl |
| 创建部署 | VERCEL_CREATE_NEW_DEPLOYMENT | name, target, gitSource |
| 部署日志 | VERCEL_GET_DEPLOYMENT_LOGS | deploymentId |
| 运行时日志 | VERCEL_GET_RUNTIME_LOGS | deploymentId |
| 列出环境变量 | VERCEL_LIST_ENV_VARIABLES | projectId |
| 添加环境变量 | VERCEL_ADD_ENVIRONMENT_VARIABLE | projectId, key, value, target |
| 删除环境变量 | VERCEL_DELETE_ENVIRONMENT_VARIABLE | projectId, id |
| 获取域名 | VERCEL_GET_DOMAIN | domain |
| 获取域名配置 | VERCEL_GET_DOMAIN_CONFIG | domain |
| 列出DNS记录 | VERCEL_GET_DNS_RECORDS | domain |
| 创建DNS记录 | VERCEL_CREATE_DNS_RECORD | domain, name, type, value |
| 更新DNS记录 | VERCEL_UPDATE_DNS_RECORD | domain, recordId |
| 列出项目域名 | VERCEL_LIST_PROJECT_DOMAINS | projectId |
| 列出团队 | VERCEL_LIST_TEAMS | (无) |
| 获取团队 | VERCEL_GET_TEAM | teamId |
| 获取团队成员 | VERCEL_GET_TEAM_MEMBERS | teamId, limit |
由 Composio 提供支持