Vercel Automation via Rube MCP
Automate Vercel platform operations through Composio's Vercel toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/vercel
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Vercel connection via
RUBE_MANAGE_CONNECTIONS with toolkit vercel
- Always call
RUBE_SEARCH_TOOLS first to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit vercel
- If connection is not ACTIVE, follow the returned auth link to complete Vercel OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Monitor and Inspect Deployments
When to use: User wants to list, inspect, or debug deployments
Tool sequence:
VERCEL_LIST_ALL_DEPLOYMENTS or VERCEL_GET_DEPLOYMENTS - List deployments with filters [Required]
VERCEL_GET_DEPLOYMENT or VERCEL_GET_DEPLOYMENT_DETAILS - Get specific deployment info [Optional]
VERCEL_GET_DEPLOYMENT_LOGS or VERCEL_GET_RUNTIME_LOGS - View build/runtime logs [Optional]
VERCEL_GET_DEPLOYMENT_EVENTS - Get deployment event timeline [Optional]
VERCEL_LIST_DEPLOYMENT_CHECKS - View deployment check results [Optional]
Key parameters:
projectId: Filter deployments by project
state: Filter by deployment state (e.g., 'READY', 'ERROR', 'BUILDING')
limit: Number of deployments to return
target: Filter by environment ('production', 'preview')
deploymentId or idOrUrl: Specific deployment identifier
Pitfalls:
- Deployment IDs and URLs are both accepted as identifiers in most endpoints
- Build logs and runtime logs are separate; use the appropriate tool
VERCEL_GET_DEPLOYMENT_LOGS returns build logs; VERCEL_GET_RUNTIME_LOGS returns serverless function logs
- Deployment events include status transitions and are useful for debugging timing issues
2. Create and Manage Deployments
When to use: User wants to trigger a new deployment
Tool sequence:
VERCEL_LIST_PROJECTS - Find the target project [Prerequisite]
VERCEL_CREATE_NEW_DEPLOYMENT - Trigger a new deployment [Required]
VERCEL_GET_DEPLOYMENT - Monitor deployment progress [Optional]
Key parameters:
name: Project name for the deployment
target: Deployment target ('production' or 'preview')
gitSource: Git repository source with ref/branch info
files: Array of file objects for file-based deployments
Pitfalls:
- Either
gitSource or files must be provided, not both
- Git-based deployments require proper repository integration
- Production deployments update the production domain alias automatically
- Deployment creation is asynchronous; poll with GET_DEPLOYMENT for status
3. Manage Environment Variables
When to use: User wants to add, list, or remove environment variables for a project
Tool sequence:
VERCEL_LIST_PROJECTS - Find the project ID [Prerequisite]
VERCEL_LIST_ENV_VARIABLES - List existing env vars [Required]
VERCEL_ADD_ENVIRONMENT_VARIABLE - Add a new env var [Optional]
VERCEL_DELETE_ENVIRONMENT_VARIABLE - Remove an env var [Optional]
Key parameters:
projectId: Target project identifier
key: Environment variable name
value: Environment variable value
target: Array of environments ('production', 'preview', 'development')
type: Variable type ('plain', 'secret', 'encrypted', 'sensitive')
Pitfalls:
- Environment variable names must be unique per target environment
type: 'secret' variables cannot be read back after creation; only the ID is returned
- Deleting an env var requires both
projectId and the env var id (not the key name)
- Changes require a new deployment to take effect
4. Manage Domains and DNS
When to use: User wants to configure custom domains or manage DNS records
Tool sequence:
VERCEL_GET_DOMAIN - Check domain status and configuration [Required]
VERCEL_GET_DOMAIN_CONFIG - Get DNS/SSL configuration details [Optional]
VERCEL_LIST_PROJECT_DOMAINS - List domains attached to a project [Optional]
VERCEL_GET_DNS_RECORDS - List DNS records for a domain [Optional]
VERCEL_CREATE_DNS_RECORD - Add a new DNS record [Optional]
VERCEL_UPDATE_DNS_RECORD - Modify an existing DNS record [Optional]
Key parameters:
domain: Domain name (e.g., 'example.com')
name: DNS record name/subdomain
type: DNS record type ('A', 'AAAA', 'CNAME', 'MX', 'TXT', 'SRV')
value: DNS record value
ttl: Time-to-live in seconds
Pitfalls:
- Domain must be added to the Vercel account before DNS management
- SSL certificates are auto-provisioned but may take time for new domains
- CNAME records at the apex domain are not supported; use A records instead
- MX records require priority values
5. Manage Projects
When to use: User wants to list, inspect, or update project settings
Tool sequence:
VERCEL_LIST_PROJECTS - List all projects [Required]
VERCEL_GET_PROJECT - Get detailed project information [Optional]
VERCEL_UPDATE_PROJECT - Modify project settings [Optional]
Key parameters:
idOrName: Project ID or name for lookup
name: Project name for updates
framework: Framework preset (e.g., 'nextjs', 'vite', 'remix')
buildCommand: Custom build command override
rootDirectory: Root directory if not repo root
Pitfalls:
- Project names are globally unique within a team/account
- Changing framework settings affects subsequent deployments
rootDirectory is relative to the repository root
6. Team Management
When to use: User wants to view team info or list team members
Tool sequence:
VERCEL_LIST_TEAMS - List all teams the user belongs to [Required]
VERCEL_GET_TEAM - Get detailed team information [Optional]
VERCEL_GET_TEAM_MEMBERS - List members of a specific team [Optional]
Key parameters:
teamId: Team identifier
limit: Number of results per page
role: Filter members by role
Pitfalls:
- Team operations require appropriate team-level permissions
- Personal accounts have no teams; team endpoints return empty results
- Member roles include 'OWNER', 'MEMBER', 'DEVELOPER', 'VIEWER'
Common Patterns
ID Resolution
Project name -> Project ID:
1. Call VERCEL_LIST_PROJECTS
2. Find project by name in response
3. Extract id field for subsequent operations
Domain -> DNS Records:
1. Call VERCEL_GET_DNS_RECORDS with domain name
2. Extract record IDs for update/delete operations
Pagination
- Use
limit parameter to control page size
- Check response for pagination tokens or
next fields
- Continue fetching until no more pages are indicated
Known Pitfalls
Deployment States:
- States include: INITIALIZING, ANALYZING, BUILDING, DEPLOYING, READY, ERROR, CANCELED, QUEUED
- Only READY deployments are live and serving traffic
- ERROR deployments should be inspected via logs for failure details
Environment Variables:
- Secret type vars are write-only; values cannot be retrieved after creation
- Env vars are scoped to environments (production, preview, development)
- A redeployment is needed for env var changes to take effect
Rate Limits:
- Vercel API has rate limits per endpoint
- Implement backoff on 429 responses
- Batch operations where possible to reduce API calls
Quick Reference
| Task |
Tool Slug |
Key Params |
| List projects |
VERCEL_LIST_PROJECTS |
limit |
| Get project details |
VERCEL_GET_PROJECT |
idOrName |
| Update project |
VERCEL_UPDATE_PROJECT |
idOrName, name, framework |
| List deployments |
VERCEL_LIST_ALL_DEPLOYMENTS |
projectId, state, limit |
| Get deployment |
VERCEL_GET_DEPLOYMENT |
idOrUrl |
| Create deployment |
VERCEL_CREATE_NEW_DEPLOYMENT |
name, target, gitSource |
| Deployment logs |
VERCEL_GET_DEPLOYMENT_LOGS |
deploymentId |
| Runtime logs |
VERCEL_GET_RUNTIME_LOGS |
deploymentId |
| List env vars |
VERCEL_LIST_ENV_VARIABLES |
projectId |
| Add env var |
VERCEL_ADD_ENVIRONMENT_VARIABLE |
projectId, key, value, target |
| Delete env var |
VERCEL_DELETE_ENVIRONMENT_VARIABLE |
projectId, id |
| Get domain |
VERCEL_GET_DOMAIN |
domain |
| Get domain config |
VERCEL_GET_DOMAIN_CONFIG |
domain |
| List DNS records |
VERCEL_GET_DNS_RECORDS |
domain |
| Create DNS record |
VERCEL_CREATE_DNS_RECORD |
domain, name, type, value |
| Update DNS record |
VERCEL_UPDATE_DNS_RECORD |
domain, recordId |
| List project domains |
VERCEL_LIST_PROJECT_DOMAINS |
projectId |
| List teams |
VERCEL_LIST_TEAMS |
(none) |
| Get team |
VERCEL_GET_TEAM |
teamId |
| Get team members |
VERCEL_GET_TEAM_MEMBERS |
teamId, limit |
Powered by Composio
1---
2name: vercel-automation
3description: "Automate Vercel tasks via Rube MCP (Composio): manage deployments, domains, DNS, env vars, projects, and teams. Always search tools first for current schemas."
4requires:
5 mcp: [rube]
6category: infrastructure-cloud
7---
8
9# Vercel Automation via Rube MCP
10
11Automate Vercel platform operations through Composio's Vercel toolkit via Rube MCP.
12
13**Toolkit docs**: [composio.dev/toolkits/vercel](https://composio.dev/toolkits/vercel)
14
15## Prerequisites
16
17- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
18- Active Vercel connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `vercel`
19- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
20
21## Setup
22
23**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
24
25
261. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
272. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `vercel`
283. If connection is not ACTIVE, follow the returned auth link to complete Vercel OAuth
294. Confirm connection status shows ACTIVE before running any workflows
30
31## Core Workflows
32
33### 1. Monitor and Inspect Deployments
34
35**When to use**: User wants to list, inspect, or debug deployments
36
37**Tool sequence**:
381. `VERCEL_LIST_ALL_DEPLOYMENTS` or `VERCEL_GET_DEPLOYMENTS` - List deployments with filters [Required]
392. `VERCEL_GET_DEPLOYMENT` or `VERCEL_GET_DEPLOYMENT_DETAILS` - Get specific deployment info [Optional]
403. `VERCEL_GET_DEPLOYMENT_LOGS` or `VERCEL_GET_RUNTIME_LOGS` - View build/runtime logs [Optional]
414. `VERCEL_GET_DEPLOYMENT_EVENTS` - Get deployment event timeline [Optional]
425. `VERCEL_LIST_DEPLOYMENT_CHECKS` - View deployment check results [Optional]
43
44**Key parameters**:
45- `projectId`: Filter deployments by project
46- `state`: Filter by deployment state (e.g., 'READY', 'ERROR', 'BUILDING')
47- `limit`: Number of deployments to return
48- `target`: Filter by environment ('production', 'preview')
49- `deploymentId` or `idOrUrl`: Specific deployment identifier
50
51**Pitfalls**:
52- Deployment IDs and URLs are both accepted as identifiers in most endpoints
53- Build logs and runtime logs are separate; use the appropriate tool
54- `VERCEL_GET_DEPLOYMENT_LOGS` returns build logs; `VERCEL_GET_RUNTIME_LOGS` returns serverless function logs
55- Deployment events include status transitions and are useful for debugging timing issues
56
57### 2. Create and Manage Deployments
58
59**When to use**: User wants to trigger a new deployment
60
61**Tool sequence**:
621. `VERCEL_LIST_PROJECTS` - Find the target project [Prerequisite]
632. `VERCEL_CREATE_NEW_DEPLOYMENT` - Trigger a new deployment [Required]
643. `VERCEL_GET_DEPLOYMENT` - Monitor deployment progress [Optional]
65
66**Key parameters**:
67- `name`: Project name for the deployment
68- `target`: Deployment target ('production' or 'preview')
69- `gitSource`: Git repository source with ref/branch info
70- `files`: Array of file objects for file-based deployments
71
72**Pitfalls**:
73- Either `gitSource` or `files` must be provided, not both
74- Git-based deployments require proper repository integration
75- Production deployments update the production domain alias automatically
76- Deployment creation is asynchronous; poll with GET_DEPLOYMENT for status
77
78### 3. Manage Environment Variables
79
80**When to use**: User wants to add, list, or remove environment variables for a project
81
82**Tool sequence**:
831. `VERCEL_LIST_PROJECTS` - Find the project ID [Prerequisite]
842. `VERCEL_LIST_ENV_VARIABLES` - List existing env vars [Required]
853. `VERCEL_ADD_ENVIRONMENT_VARIABLE` - Add a new env var [Optional]
864. `VERCEL_DELETE_ENVIRONMENT_VARIABLE` - Remove an env var [Optional]
87
88**Key parameters**:
89- `projectId`: Target project identifier
90- `key`: Environment variable name
91- `value`: Environment variable value
92- `target`: Array of environments ('production', 'preview', 'development')
93- `type`: Variable type ('plain', 'secret', 'encrypted', 'sensitive')
94
95**Pitfalls**:
96- Environment variable names must be unique per target environment
97- `type: 'secret'` variables cannot be read back after creation; only the ID is returned
98- Deleting an env var requires both `projectId` and the env var `id` (not the key name)
99- Changes require a new deployment to take effect
100
101### 4. Manage Domains and DNS
102
103**When to use**: User wants to configure custom domains or manage DNS records
104
105**Tool sequence**:
1061. `VERCEL_GET_DOMAIN` - Check domain status and configuration [Required]
1072. `VERCEL_GET_DOMAIN_CONFIG` - Get DNS/SSL configuration details [Optional]
1083. `VERCEL_LIST_PROJECT_DOMAINS` - List domains attached to a project [Optional]
1094. `VERCEL_GET_DNS_RECORDS` - List DNS records for a domain [Optional]
1105. `VERCEL_CREATE_DNS_RECORD` - Add a new DNS record [Optional]
1116. `VERCEL_UPDATE_DNS_RECORD` - Modify an existing DNS record [Optional]
112
113**Key parameters**:
114- `domain`: Domain name (e.g., 'example.com')
115- `name`: DNS record name/subdomain
116- `type`: DNS record type ('A', 'AAAA', 'CNAME', 'MX', 'TXT', 'SRV')
117- `value`: DNS record value
118- `ttl`: Time-to-live in seconds
119
120**Pitfalls**:
121- Domain must be added to the Vercel account before DNS management
122- SSL certificates are auto-provisioned but may take time for new domains
123- CNAME records at the apex domain are not supported; use A records instead
124- MX records require priority values
125
126### 5. Manage Projects
127
128**When to use**: User wants to list, inspect, or update project settings
129
130**Tool sequence**:
1311. `VERCEL_LIST_PROJECTS` - List all projects [Required]
1322. `VERCEL_GET_PROJECT` - Get detailed project information [Optional]
1333. `VERCEL_UPDATE_PROJECT` - Modify project settings [Optional]
134
135**Key parameters**:
136- `idOrName`: Project ID or name for lookup
137- `name`: Project name for updates
138- `framework`: Framework preset (e.g., 'nextjs', 'vite', 'remix')
139- `buildCommand`: Custom build command override
140- `rootDirectory`: Root directory if not repo root
141
142**Pitfalls**:
143- Project names are globally unique within a team/account
144- Changing framework settings affects subsequent deployments
145- `rootDirectory` is relative to the repository root
146
147### 6. Team Management
148
149**When to use**: User wants to view team info or list team members
150
151**Tool sequence**:
1521. `VERCEL_LIST_TEAMS` - List all teams the user belongs to [Required]
1532. `VERCEL_GET_TEAM` - Get detailed team information [Optional]
1543. `VERCEL_GET_TEAM_MEMBERS` - List members of a specific team [Optional]
155
156**Key parameters**:
157- `teamId`: Team identifier
158- `limit`: Number of results per page
159- `role`: Filter members by role
160
161**Pitfalls**:
162- Team operations require appropriate team-level permissions
163- Personal accounts have no teams; team endpoints return empty results
164- Member roles include 'OWNER', 'MEMBER', 'DEVELOPER', 'VIEWER'
165
166## Common Patterns
167
168### ID Resolution
169
170**Project name -> Project ID**:
171```
1721. Call VERCEL_LIST_PROJECTS
1732. Find project by name in response
1743. Extract id field for subsequent operations
175```
176
177**Domain -> DNS Records**:
178```
1791. Call VERCEL_GET_DNS_RECORDS with domain name
1802. Extract record IDs for update/delete operations
181```
182
183### Pagination
184
185- Use `limit` parameter to control page size
186- Check response for pagination tokens or `next` fields
187- Continue fetching until no more pages are indicated
188
189## Known Pitfalls
190
191**Deployment States**:
192- States include: INITIALIZING, ANALYZING, BUILDING, DEPLOYING, READY, ERROR, CANCELED, QUEUED
193- Only READY deployments are live and serving traffic
194- ERROR deployments should be inspected via logs for failure details
195
196**Environment Variables**:
197- Secret type vars are write-only; values cannot be retrieved after creation
198- Env vars are scoped to environments (production, preview, development)
199- A redeployment is needed for env var changes to take effect
200
201**Rate Limits**:
202- Vercel API has rate limits per endpoint
203- Implement backoff on 429 responses
204- Batch operations where possible to reduce API calls
205
206## Quick Reference
207
208| Task | Tool Slug | Key Params |
209|------|-----------|------------|
210| List projects | VERCEL_LIST_PROJECTS | limit |
211| Get project details | VERCEL_GET_PROJECT | idOrName |
212| Update project | VERCEL_UPDATE_PROJECT | idOrName, name, framework |
213| List deployments | VERCEL_LIST_ALL_DEPLOYMENTS | projectId, state, limit |
214| Get deployment | VERCEL_GET_DEPLOYMENT | idOrUrl |
215| Create deployment | VERCEL_CREATE_NEW_DEPLOYMENT | name, target, gitSource |
216| Deployment logs | VERCEL_GET_DEPLOYMENT_LOGS | deploymentId |
217| Runtime logs | VERCEL_GET_RUNTIME_LOGS | deploymentId |
218| List env vars | VERCEL_LIST_ENV_VARIABLES | projectId |
219| Add env var | VERCEL_ADD_ENVIRONMENT_VARIABLE | projectId, key, value, target |
220| Delete env var | VERCEL_DELETE_ENVIRONMENT_VARIABLE | projectId, id |
221| Get domain | VERCEL_GET_DOMAIN | domain |
222| Get domain config | VERCEL_GET_DOMAIN_CONFIG | domain |
223| List DNS records | VERCEL_GET_DNS_RECORDS | domain |
224| Create DNS record | VERCEL_CREATE_DNS_RECORD | domain, name, type, value |
225| Update DNS record | VERCEL_UPDATE_DNS_RECORD | domain, recordId |
226| List project domains | VERCEL_LIST_PROJECT_DOMAINS | projectId |
227| List teams | VERCEL_LIST_TEAMS | (none) |
228| Get team | VERCEL_GET_TEAM | teamId |
229| Get team members | VERCEL_GET_TEAM_MEMBERS | teamId, limit |
230
231---
232*Powered by [Composio](https://composio.dev)*