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