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-create-deployment - Create new deploymentsvercel-create-project - Create new Vercel projectsvercel-create-environment-variables - Create multiple environment variablesvercel-get-environments - Access project environment variablesvercel-list-projects - List all projects with paginationvercel-list-all-teams - List all accessible teamsvercel-list-all-deploymentsList deployments under the authenticated user or team
app (string): Filter by deployment nameprojectId (string): Filter by project ID/namestate (string): Filter by state (BUILDING, ERROR, INITIALIZING, QUEUED, READY, CANCELED)target (string): Filter by environment (production/preview)limit (number): Number of deployments to returnvercel-get-deploymentGet detailed information about a specific deployment
idOrUrl (string): Deployment ID or URL (required)teamId (string): Team ID for request scopingvercel-create-deploymentCreate a new Vercel deployment
name (string): Deployment/project name (required)project (string): Project ID/name (required)target (string): Environment (production/preview)regions (string[]): Deployment regionsteamId (string): Team ID for scopingforceNew (boolean): Force new deploymentvercel-create-projectCreate a new Vercel project
name (string): Project name (required)framework (string): Framework presetbuildCommand (string): Custom build commanddevCommand (string): Custom dev commandoutputDirectory (string): Build output directoryteamId (string): Team ID for scopingvercel-create-environment-variablesCreate multiple environment variables for a project
Inputs:
projectId (string): Target project ID (required)teamId (string): Team ID for request scopingenvironmentVariables (array): Environment variables to createkey (string): Variable name (required)value (string): Variable value (required)target (string[]): Deployment targets (production/preview/development)type (string): Variable type (system/encrypted/plain/sensitive)gitBranch (string): Optional git branch for variableReturns: Object with created variables and any skipped entries
vercel-list-all-teamsList all teams accessible to authenticated user
limit (number): Maximum results to returnsince (number): Timestamp for teams created afteruntil (number): Timestamp for teams created beforeteamId (string): Team ID for request scopingvercel-list-projectsList all projects under the authenticated user or team
limit (number): Maximum number of projects to returnfrom (number): Timestamp for projects createdteamId (string): Team ID for request scopingid: Project IDname: Project nameframework: Associated frameworklatestDeployments: Array of recent deploymentscreatedAt: Creation timestampgit 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