A Model Context Protocol (MCP) integration for Vercel's REST API, providing programmatic access to Vercel deployment management. This MCP server implements Vercel's core API endpoints as tools, enabling:
vercel-list-all-deployments - List deployments with filteringvercel-get-deployment - Retrieve specific deployment detailsvercel-get-environments - Access project environment variablesvercel-create-deployment - Create new deploymentsvercel-create-project - Create new Vercel projectsvercel-list-all-teams - List all accessible teamsvercel-list-all-deploymentsList deployments under the authenticated user or team.
Inputs:
- app (string): Filter by deployment name
- projectId (string): Filter by project ID/name
- state (string): Filter by state (BUILDING, ERROR, INITIALIZING, QUEUED, READY, CANCELED)
- target (string): Filter by environment (production/preview)
- limit (number): Number of deployments to return
Returns: Array of deployment objects with status, URLs, and metadata
vercel-get-deploymentGet detailed information about a specific deployment.
Inputs:
- idOrUrl (string): Deployment ID or URL (required)
- teamId (string): Team ID for request scoping
Returns: Full deployment details including build logs, domains, and environment variables
vercel-create-deploymentCreate a new Vercel deployment.
Inputs:
- name (string): Deployment/project name (required)
- project (string): Project ID/name (required)
- target (string): Environment (production/preview)
- regions (string[]): Deployment regions
- teamId (string): Team ID for scoping
- forceNew (boolean): Force new deployment
Returns: Created deployment details with status URLs
vercel-create-projectCreate a new Vercel project.
Inputs:
- name (string): Project name (required)
- framework (string): Framework preset
- buildCommand (string): Custom build command
- devCommand (string): Custom dev command
- outputDirectory (string): Build output directory
- teamId (string): Team ID for scoping
Returns: Project configuration with deployment settings
vercel-list-all-teamsList all teams accessible to authenticated user.
Inputs:
- limit (number): Maximum results to return
- since (number): Timestamp for teams created after
- until (number): Timestamp for teams created before
- teamId (string): Team ID for request scoping
Returns: Paginated list of team objects with metadata
git clone [your-repo-url]
cd vercel-mcp
npm install
.env file:VERCEL_API_TOKEN=your_api_token_here
npm start
const response = await mcpClient.callTool({
name: 'vercel-list-all-deployments',
args: {
limit: 5,
target: 'production'
}
});
const deployment = await mcpClient.callTool({
name: 'vercel-get-deployment',
args: {
idOrUrl: 'dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd'
}
});
docker build -t vercel-mcp .
docker run -it --rm \
-e VERCEL_API_TOKEN=your_token_here \
-p 3399:3399 \
vercel-mcp
docker run -d \
--name vercel-mcp \
--restart unless-stopped \
-e VERCEL_API_TOKEN=your_token_here \
-p 3399:3399 \
vercel-mcp
docker build --target builder -t vercel-mcp-dev .
docker run -it --rm \
-e VERCEL_API_TOKEN=your_token_here \
-p 3399:3399 \
-v $(pwd)/src:/app/src \
vercel-mcp-dev
src/
├── constants/ # Tool definitions
├── tools/
│ ├── deployments/ # Deployment handlers
│ │ ├── handlers.ts
│ │ ├── schema.ts
│ │ └── types.ts
│ └── environments/# Environment management
├── utils/ # API helpers
└── index.ts # Server entrypoint
| Variable | Description | Required |
|---|---|---|
VERCEL_API_TOKEN |
Vercel access token | Yes |
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)MIT License - see LICENSE for details
MCP server connecting Claude to Vercel
No releases published
No packages published