LucasBiason/vercel-mcp-server
If you are the rightful owner of vercel-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Vercel MCP Server is a professional Model Context Protocol server designed for seamless integration with Vercel's deployment platform, enabling automation and management of deployments, projects, and environment variables.
Vercel MCP Server
Model Context Protocol server for Vercel API integration
Professional MCP server that enables seamless interaction with Vercel's deployment platform. Automate deployments, manage projects, monitor builds, and control environment variables directly from your development environment.
Features
Deployment Management
- Create and deploy projects programmatically
- Trigger builds from any branch
- Monitor deployment status in real-time
- View deployment logs
- Rollback to previous versions
Project Configuration
- Update environment variables
- Manage project settings
- Configure build commands and output directories
- Control framework detection
Monitoring
- List all deployments with filters
- Check deployment status
- Access build and runtime logs
- Monitor resource usage
Installation
Prerequisites
- Node.js 20+
- npm or pnpm
- Vercel account with API token
Setup
# Clone repository
git clone https://github.com/LucasBiason/vercel-mcp-server.git
cd vercel-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Configure
cp .env.example .env
# Edit .env and add your VERCEL_TOKEN
Configuration
Create .env file:
VERCEL_TOKEN=your_vercel_token_here
Get your Vercel token at: https://vercel.com/account/tokens
Usage
With Cursor MCP
Add to your .cursor/mcp.json or ~/.cursor/mcp.json:
{
"mcpServers": {
"vercel": {
"command": "node",
"args": ["/path/to/vercel-mcp-server/dist/index.js"],
"env": {
"VERCEL_TOKEN": "your_token_here"
}
}
}
}
Standalone
# Run MCP server
npm start
# Development mode with watch
npm run dev
Available Tools
create_project
Create a new Vercel project from GitHub repository.
Parameters:
name: Project nameframework: Framework (nextjs, vite, react, etc)repo: GitHub repository (format: owner/repo)buildCommand: Custom build command (optional)outputDirectory: Output directory (optional)
Example:
{
"name": "my-portfolio",
"framework": "vite",
"repo": "LucasBiason/portfolio",
"buildCommand": "npm run build",
"outputDirectory": "dist"
}
deploy_project
Trigger a new deployment for a project.
Parameters:
projectId: Project ID or namebranch: Git branch to deploy (default: main)
get_deployments
List deployments for a project.
Parameters:
projectId: Project ID or namelimit: Number of deployments to return (default: 20)state: Filter by state (BUILDING, READY, ERROR, etc)
get_deployment_logs
Get logs for a specific deployment.
Parameters:
deploymentId: Deployment IDlimit: Number of log lines (default: 100)
update_env_vars
Update environment variables for a project.
Parameters:
projectId: Project ID or nameenvVars: Array of {key, value, target} objectstarget: production, preview, or development
Example:
{
"projectId": "my-project",
"envVars": [
{
"key": "API_URL",
"value": "https://api.example.com",
"target": "production"
}
]
}
get_project_info
Get detailed information about a project.
Parameters:
projectId: Project ID or name
rollback_deployment
Rollback to a previous deployment.
Parameters:
deploymentId: Deployment ID to rollback to
API Reference
This MCP server uses the Vercel REST API v9/v13.
Base URL: https://api.vercel.com
Authentication: Bearer token in Authorization header
Key endpoints used:
GET /v9/projects- List projectsPOST /v13/deployments- Create deploymentGET /v6/deployments- List deploymentsGET /v2/deployments/{id}/events- Get logsPOST /v10/projects/{id}/env- Manage env vars
Full API docs: https://vercel.com/docs/rest-api
Architecture
Cursor/Client
↓
MCP Server
↓
Vercel API
↓
Vercel Platform
Components
src/
index.ts- Main MCP server entry pointtypes.ts- TypeScript type definitionstools/- MCP tools implementationdeployment.ts- Deployment operationsproject.ts- Project managementenvironment.ts- Environment variables
services/- Business logicvercel_client.ts- Vercel API client
utils/- Helper functionslogger.ts- Loggingvalidators.ts- Input validation
Development
Build
npm run build
Watch mode
npm run dev
Lint
npm run lint
Test
npm test
Examples
Deploy a Project
// Using MCP tool
{
"tool": "deploy_project",
"arguments": {
"projectId": "my-portfolio",
"branch": "main"
}
}
Update Environment Variables
{
"tool": "update_env_vars",
"arguments": {
"projectId": "my-api",
"envVars": [
{
"key": "DATABASE_URL",
"value": "postgresql://...",
"target": "production"
}
]
}
}
Monitor Deployment
// 1. Get deployments
{
"tool": "get_deployments",
"arguments": {
"projectId": "my-project",
"limit": 5
}
}
// 2. Check logs of latest
{
"tool": "get_deployment_logs",
"arguments": {
"deploymentId": "dpl_xxx",
"limit": 100
}
}
Security
- API tokens are stored in environment variables
- Never commit
.envfile - Use read-only tokens when possible
- Limit token scope to necessary permissions
Troubleshooting
Token not found
# Verify .env file exists
cat .env
# Should contain:
VERCEL_TOKEN=your_token
Connection errors
# Test token manually
curl https://api.vercel.com/v9/projects \
-H "Authorization: Bearer $VERCEL_TOKEN"
Build errors
# Clean and rebuild
rm -rf dist node_modules
npm install
npm run build
Contributing
- Fork the repository
- Create feature branch:
git checkout -b feature/new-tool - Commit changes:
git commit -am 'Add new tool' - Push to branch:
git push origin feature/new-tool - Submit pull request
License
MIT License - see LICENSE file for details
Links
Created by: Lucas Biason
Date: November 2025
Purpose: Professional automation for Vercel deployments via MCP