Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-vercel

MCP.Pizza Chef: nganiet

The mcp-vercel server is a Model Context Protocol (MCP) integration that connects Claude and other LLMs to Vercel's REST API. It provides programmatic access to Vercel's deployment management features, enabling real-time monitoring, project deployment tracking, environment variable management, and CI/CD pipeline integration. This server exposes Vercel's core API endpoints as MCP tools, allowing developers to list deployments, retrieve deployment details, create new deployments and projects, manage environment variables, and list teams and projects efficiently. It streamlines Vercel project operations within AI-enhanced workflows, supporting scalable and automated deployment management.

Use This MCP server To

Monitor Vercel deployments in real time Create and manage Vercel projects programmatically Retrieve and update environment variables securely Integrate Vercel deployment status into CI/CD pipelines List and filter Vercel deployments and projects Manage team access and project collaboration

README

Vercel MCP Integration

A Model Context Protocol (MCP) integration for Vercel's REST API, providing programmatic access to Vercel deployment management.

📋 Overview Last updated: July 2024

This MCP server implements Vercel's core API endpoints as tools, enabling:

  • Deployment monitoring & management
  • Environment variable retrieval
  • Project deployment status tracking
  • CI/CD pipeline integration

✨ Features

Current Tools

  • vercel-list-all-deployments - List deployments with filtering
  • vercel-get-deployment - Retrieve specific deployment details
  • vercel-create-deployment - Create new deployments
  • vercel-create-project - Create new Vercel projects
  • vercel-create-environment-variables - Create multiple environment variables
  • vercel-get-environments - Access project environment variables
  • vercel-list-projects - List all projects with pagination
  • vercel-list-all-teams - List all accessible teams

🛣️ Roadmap

  • Deployment creation workflow
  • Project management tools
  • Team management integration
  • Real-time deployment monitoring
  • Advanced error handling
  • Deployment metrics dashboard

Tools

vercel-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-create-environment-variables

Create multiple environment variables for a project

  • Inputs:

    • projectId (string): Target project ID (required)
    • teamId (string): Team ID for request scoping
    • environmentVariables (array): Environment variables to create
      • key (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 variable
  • Returns: Object with created variables and any skipped entries

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

vercel-list-projects

List all projects under the authenticated user or team

  • Inputs:
    • limit (number): Maximum number of projects to return
    • from (number): Timestamp for projects created
    • teamId (string): Team ID for request scoping
  • Returns: Paginated list of project objects with metadata including:
    • id: Project ID
    • name: Project name
    • framework: Associated framework
    • latestDeployments: Array of recent deployments
    • createdAt: Creation timestamp

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • Vercel API Token
  • MCP Client

Installation

git clone [your-repo-url]
cd vercel-mcp
npm install

Configuration

  1. Create .env file:
VERCEL_API_TOKEN=your_api_token_here
  1. Start MCP server:
npm start

🛠️ Usage Examples

List Deployments

const response = await mcpClient.callTool({
  name: "vercel-list-all-deployments",
  args: {
    limit: 5,
    target: "production",
  },
});

Get Specific Deployment

const deployment = await mcpClient.callTool({
  name: "vercel-get-deployment",
  args: {
    idOrUrl: "dpl_5WJWYSyB7BpgTj3EuwF37WMRBXBtPQ2iTMJHJBJyRfd",
  },
});

🐳 Docker Deployment

Build the Image

docker build -t vercel-mcp .

Run Container

docker run -it --rm \
  -e VERCEL_API_TOKEN=your_token_here \
  -p 3399:3399 \
  vercel-mcp

Production Deployment

docker run -d \
  --name vercel-mcp \
  --restart unless-stopped \
  -e VERCEL_API_TOKEN=your_token_here \
  -p 3399:3399 \
  vercel-mcp

Development with Live Reload

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

🗂️ Project Structure

src/
├── constants/       # Tool definitions
├── tools/
│   ├── deployments/ # Deployment handlers
│   │   ├── handlers.ts
│   │   ├── schema.ts
│   │   └── types.ts
│   └── environments/# Environment management
├── utils/          # API helpers
└── index.ts         # Server entrypoint

🔧 Configuration

Environment Variables

Variable Description Required
VERCEL_API_TOKEN Vercel access token Yes

🤝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

📄 License

MIT License - see LICENSE for details

mcp-vercel FAQ

How do I authenticate the mcp-vercel server with Vercel?
Authentication typically uses Vercel API tokens, which you configure in the MCP server environment to securely access Vercel resources.
Can mcp-vercel handle multiple Vercel projects simultaneously?
Yes, it supports listing and managing multiple projects with pagination and filtering capabilities.
Does mcp-vercel support creating environment variables in bulk?
Yes, it includes tools to create multiple environment variables at once for efficient environment management.
How does mcp-vercel integrate with CI/CD pipelines?
By exposing deployment status and management endpoints, it allows automated workflows to trigger and monitor deployments programmatically.
Is mcp-vercel limited to Claude LLM?
No, while it connects Claude, it is compatible with other LLM providers like OpenAI and Gemini through the MCP protocol.
What deployment details can I retrieve using mcp-vercel?
You can get detailed information about specific deployments, including status, timestamps, and associated project data.
How do I list all teams accessible via mcp-vercel?
The server provides a tool to list all teams you have access to within your Vercel account for collaboration management.
Can I create new Vercel projects using mcp-vercel?
Yes, it supports project creation through its API integration, enabling programmatic project setup.