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-deployments
List 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-deployment
Get 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-deployment
Create 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-project
Create 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-teams
List 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