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."4requires:5 mcp: [rube]6---78# Vercel Automation via Rube MCP910Automate Vercel platform operations through Composio's Vercel toolkit via Rube MCP.1112**Toolkit docs**: [composio.dev/toolkits/vercel](https://composio.dev/toolkits/vercel)1314## Prerequisites1516- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)17- Active Vercel connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `vercel`18- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1920## Setup2122**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.2324251. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds262. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `vercel`273. If connection is not ACTIVE, follow the returned auth link to complete Vercel OAuth284. Confirm connection status shows ACTIVE before running any workflows2930## Core Workflows3132### 1. Monitor and Inspect Deployments3334**When to use**: User wants to list, inspect, or debug deployments3536**Tool sequence**:371. `VERCEL_LIST_ALL_DEPLOYMENTS` or `VERCEL_GET_DEPLOYMENTS` - List deployments with filters [Required]382. `VERCEL_GET_DEPLOYMENT` or `VERCEL_GET_DEPLOYMENT_DETAILS` - Get specific deployment info [Optional]393. `VERCEL_GET_DEPLOYMENT_LOGS` or `VERCEL_GET_RUNTIME_LOGS` - View build/runtime logs [Optional]404. `VERCEL_GET_DEPLOYMENT_EVENTS` - Get deployment event timeline [Optional]415. `VERCEL_LIST_DEPLOYMENT_CHECKS` - View deployment check results [Optional]4243**Key parameters**:44- `projectId`: Filter deployments by project45- `state`: Filter by deployment state (e.g., 'READY', 'ERROR', 'BUILDING')46- `limit`: Number of deployments to return47- `target`: Filter by environment ('production', 'preview')48- `deploymentId` or `idOrUrl`: Specific deployment identifier4950**Pitfalls**:51- Deployment IDs and URLs are both accepted as identifiers in most endpoints52- Build logs and runtime logs are separate; use the appropriate tool53- `VERCEL_GET_DEPLOYMENT_LOGS` returns build logs; `VERCEL_GET_RUNTIME_LOGS` returns serverless function logs54- Deployment events include status transitions and are useful for debugging timing issues5556### 2. Create and Manage Deployments5758**When to use**: User wants to trigger a new deployment5960**Tool sequence**:611. `VERCEL_LIST_PROJECTS` - Find the target project [Prerequisite]622. `VERCEL_CREATE_NEW_DEPLOYMENT` - Trigger a new deployment [Required]633. `VERCEL_GET_DEPLOYMENT` - Monitor deployment progress [Optional]6465**Key parameters**:66- `name`: Project name for the deployment67- `target`: Deployment target ('production' or 'preview')68- `gitSource`: Git repository source with ref/branch info69- `files`: Array of file objects for file-based deployments7071**Pitfalls**:72- Either `gitSource` or `files` must be provided, not both73- Git-based deployments require proper repository integration74- Production deployments update the production domain alias automatically75- Deployment creation is asynchronous; poll with GET_DEPLOYMENT for status7677### 3. Manage Environment Variables7879**When to use**: User wants to add, list, or remove environment variables for a project8081**Tool sequence**:821. `VERCEL_LIST_PROJECTS` - Find the project ID [Prerequisite]832. `VERCEL_LIST_ENV_VARIABLES` - List existing env vars [Required]843. `VERCEL_ADD_ENVIRONMENT_VARIABLE` - Add a new env var [Optional]854. `VERCEL_DELETE_ENVIRONMENT_VARIABLE` - Remove an env var [Optional]8687**Key parameters**:88- `projectId`: Target project identifier89- `key`: Environment variable name90- `value`: Environment variable value91- `target`: Array of environments ('production', 'preview', 'development')92- `type`: Variable type ('plain', 'secret', 'encrypted', 'sensitive')9394**Pitfalls**:95- Environment variable names must be unique per target environment96- `type: 'secret'` variables cannot be read back after creation; only the ID is returned97- Deleting an env var requires both `projectId` and the env var `id` (not the key name)98- Changes require a new deployment to take effect99100### 4. Manage Domains and DNS101102**When to use**: User wants to configure custom domains or manage DNS records103104**Tool sequence**:1051. `VERCEL_GET_DOMAIN` - Check domain status and configuration [Required]1062. `VERCEL_GET_DOMAIN_CONFIG` - Get DNS/SSL configuration details [Optional]1073. `VERCEL_LIST_PROJECT_DOMAINS` - List domains attached to a project [Optional]1084. `VERCEL_GET_DNS_RECORDS` - List DNS records for a domain [Optional]1095. `VERCEL_CREATE_DNS_RECORD` - Add a new DNS record [Optional]1106. `VERCEL_UPDATE_DNS_RECORD` - Modify an existing DNS record [Optional]111112**Key parameters**:113- `domain`: Domain name (e.g., 'example.com')114- `name`: DNS record name/subdomain115- `type`: DNS record type ('A', 'AAAA', 'CNAME', 'MX', 'TXT', 'SRV')116- `value`: DNS record value117- `ttl`: Time-to-live in seconds118119**Pitfalls**:120- Domain must be added to the Vercel account before DNS management121- SSL certificates are auto-provisioned but may take time for new domains122- CNAME records at the apex domain are not supported; use A records instead123- MX records require priority values124125### 5. Manage Projects126127**When to use**: User wants to list, inspect, or update project settings128129**Tool sequence**:1301. `VERCEL_LIST_PROJECTS` - List all projects [Required]1312. `VERCEL_GET_PROJECT` - Get detailed project information [Optional]1323. `VERCEL_UPDATE_PROJECT` - Modify project settings [Optional]133134**Key parameters**:135- `idOrName`: Project ID or name for lookup136- `name`: Project name for updates137- `framework`: Framework preset (e.g., 'nextjs', 'vite', 'remix')138- `buildCommand`: Custom build command override139- `rootDirectory`: Root directory if not repo root140141**Pitfalls**:142- Project names are globally unique within a team/account143- Changing framework settings affects subsequent deployments144- `rootDirectory` is relative to the repository root145146### 6. Team Management147148**When to use**: User wants to view team info or list team members149150**Tool sequence**:1511. `VERCEL_LIST_TEAMS` - List all teams the user belongs to [Required]1522. `VERCEL_GET_TEAM` - Get detailed team information [Optional]1533. `VERCEL_GET_TEAM_MEMBERS` - List members of a specific team [Optional]154155**Key parameters**:156- `teamId`: Team identifier157- `limit`: Number of results per page158- `role`: Filter members by role159160**Pitfalls**:161- Team operations require appropriate team-level permissions162- Personal accounts have no teams; team endpoints return empty results163- Member roles include 'OWNER', 'MEMBER', 'DEVELOPER', 'VIEWER'164165## Common Patterns166167### ID Resolution168169**Project name -> Project ID**:170```1711. Call VERCEL_LIST_PROJECTS1722. Find project by name in response1733. Extract id field for subsequent operations174```175176**Domain -> DNS Records**:177```1781. Call VERCEL_GET_DNS_RECORDS with domain name1792. Extract record IDs for update/delete operations180```181182### Pagination183184- Use `limit` parameter to control page size185- Check response for pagination tokens or `next` fields186- Continue fetching until no more pages are indicated187188## Known Pitfalls189190**Deployment States**:191- States include: INITIALIZING, ANALYZING, BUILDING, DEPLOYING, READY, ERROR, CANCELED, QUEUED192- Only READY deployments are live and serving traffic193- ERROR deployments should be inspected via logs for failure details194195**Environment Variables**:196- Secret type vars are write-only; values cannot be retrieved after creation197- Env vars are scoped to environments (production, preview, development)198- A redeployment is needed for env var changes to take effect199200**Rate Limits**:201- Vercel API has rate limits per endpoint202- Implement backoff on 429 responses203- Batch operations where possible to reduce API calls204205## Quick Reference206207| Task | Tool Slug | Key Params |208|------|-----------|------------|209| List projects | VERCEL_LIST_PROJECTS | limit |210| Get project details | VERCEL_GET_PROJECT | idOrName |211| Update project | VERCEL_UPDATE_PROJECT | idOrName, name, framework |212| List deployments | VERCEL_LIST_ALL_DEPLOYMENTS | projectId, state, limit |213| Get deployment | VERCEL_GET_DEPLOYMENT | idOrUrl |214| Create deployment | VERCEL_CREATE_NEW_DEPLOYMENT | name, target, gitSource |215| Deployment logs | VERCEL_GET_DEPLOYMENT_LOGS | deploymentId |216| Runtime logs | VERCEL_GET_RUNTIME_LOGS | deploymentId |217| List env vars | VERCEL_LIST_ENV_VARIABLES | projectId |218| Add env var | VERCEL_ADD_ENVIRONMENT_VARIABLE | projectId, key, value, target |219| Delete env var | VERCEL_DELETE_ENVIRONMENT_VARIABLE | projectId, id |220| Get domain | VERCEL_GET_DOMAIN | domain |221| Get domain config | VERCEL_GET_DOMAIN_CONFIG | domain |222| List DNS records | VERCEL_GET_DNS_RECORDS | domain |223| Create DNS record | VERCEL_CREATE_DNS_RECORD | domain, name, type, value |224| Update DNS record | VERCEL_UPDATE_DNS_RECORD | domain, recordId |225| List project domains | VERCEL_LIST_PROJECT_DOMAINS | projectId |226| List teams | VERCEL_LIST_TEAMS | (none) |227| Get team | VERCEL_GET_TEAM | teamId |228| Get team members | VERCEL_GET_TEAM_MEMBERS | teamId, limit |229230---231*Powered by [Composio](https://composio.dev)*