@mistertk/vercel-mcp

0.1.1 • Public • Published
Vercel MCP Server Logo

The ultimate Vercel MCP Server

A Model Context Protocol (MCP) server that provides comprehensive access to the Vercel API. This server exposes 114+ tools, 4 resources, and 5 prompts for complete Vercel platform management through a secure and configurable interface.

Features

Core Capabilities

  • 🚀 Deployment Management: Create, list, view, cancel, and delete deployments; access deployment files and events
  • 🌐 DNS Management: Full CRUD operations for DNS records
  • 🔗 Domain Management: Add, remove, verify, and configure domains
  • 📁 Project Management: Create and manage projects, project domains, and environment variables
  • 👥 Team Management: Manage team members, roles, and access controls
  • 🔐 Security: Configure firewall rules, attack protection, and bypass IPs
  • 📊 Monitoring: Set up webhooks, log drains, and access checks
  • 🎫 Access Control: Manage access groups, project members, and permissions
  • ⚙️ Edge Configuration: Manage edge configs and items
  • 🏪 Marketplace: Handle integrations, billing, and marketplace events
  • 📦 Artifacts: Manage build artifacts and caching
  • 🔑 Authentication: Manage auth tokens and SSO configuration
  • 🎯 Aliases: Configure deployment and project aliases
  • 🌍 Custom Environments: Create and manage custom deployment environments
  • 📜 SSL Certificates: Upload and manage SSL certificates

MCP Features

  • 📖 Resources: Quick read-only access to deployments, projects, domains, and teams
  • 💬 Prompts: Interactive guided workflows for common tasks
  • 📄 Pagination: Automatic pagination support for all list operations
  • 🔒 Secure Configuration: Environment variable support with API key validation
  • ⚡ Production Ready: Built with TypeScript, comprehensive error handling
  • 🛠️ Modular Architecture: Clean separation of concerns with dedicated modules

Configuration

The server requires a Vercel API key for authentication. You can provide it in two ways:

  1. Command Line Argument (Recommended):

    npx @mistertk/vercel-mcp VERCEL_API_KEY=<your-vercel-api-key>
  2. Environment Variable:

    export VERCEL_API_KEY=<your-vercel-api-key>

Optional Environment Variables

  • VERCEL_REQUEST_TIMEOUT - Request timeout in milliseconds (default: 30000)
  • VERCEL_MAX_RETRIES - Maximum retry attempts for failed requests (default: 3)
  • VERCEL_DEBUG - Enable debug logging (default: false)
  • VERCEL_RATE_LIMIT_PER_MINUTE - API calls per minute (default: 60)
  • VERCEL_RATE_LIMIT_BURST - Burst limit for rate limiting (default: 10)

Installation

npm install -g @mistertk/vercel-mcp

Or use directly with npx:

npx @mistertk/vercel-mcp

Usage

{
 "mcpServers": {
     "vercel": {
       "command": "npx",
       "args": ["@mistertk/vercel-mcp", "VERCEL_API_KEY=<your-api-key>"]
       }
     }
}

Local Development

For development or testing the latest version:

{
  "mcpServers": {
     "vercel": {
       "command": "node",
       "args": ["/path/to/vercel-api-mcp/build/index.js"],
       "env": {
         "VERCEL_API_KEY": "<YOUR_API_KEY>"
         }
       }
     }
}

Resources

The server provides read-only resources for quick access to key data:

  • vercel://deployments - List of recent deployments with status and metadata
  • vercel://projects - All Vercel projects with their configuration
  • vercel://domains - All configured domains in your account
  • vercel://teams - All teams you have access to

Prompts

Interactive prompts guide you through common workflows:

  • deploy-project - Deploy a project to Vercel
    • Arguments: projectPath (required), projectName (optional)
  • manage-domains - Manage domains and DNS
    • Arguments: domain (required), action (optional)
  • optimize-deployment - Optimize deployment configuration
    • Arguments: projectId (required)
  • setup-monitoring - Set up monitoring and logging
    • Arguments: projectId (required), features (optional)
  • team-management - Manage team and access control
    • Arguments: teamId (optional), action (optional)

Tools

This MCP server provides 114+ tools organized by category:

Deployments (8 tools)

  • getDeploymentEvents - Get deployment events
  • getDeployment - Get deployment details
  • cancelDeployment - Cancel a deployment
  • listDeploymentFiles - List deployment files
  • getDeploymentFileContents - Get file contents
  • getDeployments - List deployments (paginated)
  • deleteDeployment - Delete a deployment
  • createDeployment - Create a new deployment

DNS (4 tools)

  • listDnsRecords - List DNS records (paginated)
  • createDnsRecord - Create a DNS record
  • updateDnsRecord - Update a DNS record
  • deleteDnsRecord - Delete a DNS record

Domains (6 tools)

  • getDomain - Get domain information
  • getDomainConfig - Get domain configuration
  • listDomains - List all domains (paginated)
  • addDomain - Add a new domain
  • removeDomain - Remove a domain
  • verifyDomain - Verify domain ownership

Projects (14 tools)

  • listProjects - List projects (paginated)
  • createProject - Create a new project
  • updateProject - Update project settings
  • deleteProject - Delete a project
  • listProjectDomains - List project domains (paginated)
  • getProjectDomain - Get project domain details
  • addProjectDomain - Add domain to project
  • updateProjectDomain - Update project domain
  • removeProjectDomain - Remove domain from project
  • verifyProjectDomain - Verify project domain
  • listEnvVars - List environment variables (paginated)
  • getEnvVar - Get environment variable value
  • createEnvVar - Create environment variables
  • editEnvVar - Edit environment variable
  • removeEnvVar - Remove environment variable

Teams (11 tools)

  • getTeams - List all teams (paginated)
  • getTeam - Get team information
  • createTeam - Create a new team
  • updateTeam - Update team settings
  • deleteTeam - Delete a team
  • getTeamMembers - List team members (paginated)
  • inviteUserToTeam - Invite user to team
  • requestAccessToTeam - Request team access
  • getTeamAccessRequest - Get access request status
  • joinTeam - Join team with invite code
  • removeTeamMember - Remove team member

Security (8 tools)

  • updateAttackChallengeMode - Configure attack protection
  • putFirewallConfig - Create/replace firewall config
  • updateFirewallConfig - Update firewall config
  • getFirewallConfig - Get firewall configuration
  • getActiveAttackStatus - Get attack status
  • getBypassIp - List bypass IPs (paginated)
  • addBypassIp - Add bypass IP
  • removeBypassIp - Remove bypass IP

Access Groups (9 tools)

  • listAccessGroups - List access groups (paginated)
  • createAccessGroup - Create access group
  • getAccessGroup - Get access group details
  • updateAccessGroup - Update access group
  • deleteAccessGroup - Delete access group
  • listAccessGroupMembers - List group members (paginated)
  • addAccessGroupMember - Add member to group
  • removeAccessGroupMember - Remove member from group
  • listAccessGroupProjects - List group projects (paginated)

Webhooks (3 tools)

  • getWebhooks - List webhooks (paginated)
  • createWebhook - Create a webhook
  • deleteWebhook - Delete a webhook

Log Drains (6 tools)

  • getIntegrationLogDrains - List integration log drains (paginated)
  • getAllLogDrains - List all log drains (paginated)
  • createLogDrain - Create a log drain
  • getLogDrain - Get log drain details
  • deleteLogDrain - Delete a log drain
  • createConfigurableLogDrain - Create configurable log drain

Edge Config (10 tools)

  • getEdgeConfigs - List edge configs (paginated)
  • createEdgeConfig - Create edge config
  • getEdgeConfig - Get edge config details
  • updateEdgeConfig - Update edge config
  • deleteEdgeConfig - Delete edge config
  • getEdgeConfigItems - List edge config items (paginated)
  • getEdgeConfigItem - Get edge config item
  • createEdgeConfigItem - Create edge config item
  • updateEdgeConfigItem - Update edge config item
  • deleteEdgeConfigItem - Delete edge config item

Authentication (4 tools)

  • listAuthTokens - List auth tokens (paginated)
  • createAuthToken - Create auth token
  • getAuthToken - Get auth token details
  • deleteAuthToken - Delete auth token

Certificates (4 tools)

  • uploadCert - Upload SSL certificate
  • getCert - Get certificate details
  • removeCert - Remove certificate
  • getIssuedCert - Get issued certificate

Checks (4 tools)

  • getAllChecks - List all checks (paginated)
  • createCheck - Create a check
  • getCheck - Get check details
  • updateCheck - Update a check
  • rerequestCheck - Rerequest a check

User (3 tools)

  • getUser - Get user information
  • listUserEvents - List user events (paginated)
  • deleteUser - Delete user account

Aliases (5 tools)

  • listAliases - List aliases (paginated)
  • getAlias - Get alias details
  • deleteAlias - Delete an alias
  • listDeploymentAliases - List deployment aliases (paginated)
  • assignAlias - Assign alias to deployment

Artifacts (6 tools)

  • recordArtifactEvents - Record artifact cache events
  • getArtifactStatus - Get artifact cache status
  • uploadArtifact - Upload artifact
  • downloadArtifact - Download artifact
  • artifactExists - Check if artifact exists
  • artifactQuery - Query artifact information

Environment (5 tools)

  • createCustomEnvironment - Create custom environment
  • getCustomEnvironments - List custom environments (paginated)
  • getCustomEnvironment - Get custom environment
  • updateCustomEnvironment - Update custom environment
  • deleteCustomEnvironment - Delete custom environment

Integrations (5 tools)

  • getConfigurations - List integration configs (paginated)
  • getConfiguration - Get integration config
  • deleteConfiguration - Delete integration config
  • gitNamespaces - List git namespaces
  • searchRepo - Search git repositories

Project Members (3 tools)

  • getProjectMembers - List project members (paginated)
  • addProjectMember - Add project member
  • removeProjectMember - Remove project member

Marketplace (11 tools)

  • getAccountInfo - Get marketplace account info
  • getMember - Get marketplace member info
  • createEvent - Create marketplace event
  • submitBillingData - Submit billing data
  • submitInvoice - Submit invoice
  • getInvoice - Get invoice details
  • updateInvoice - Update invoice (refund)
  • updateResourceSecrets - Update resource secrets
  • updateResourceSecretsById - Update secrets by ID
  • exchangeSsoToken - Exchange SSO token

Example Usage

Using Resources

// Resources are automatically available in MCP clients
// Access them via: vercel://deployments, vercel://projects, etc.

Using Prompts

// Example: Deploy a project
// Prompt: deploy-project
// Arguments: { projectPath: "/path/to/project", projectName: "my-app" }

// Example: Manage domains
// Prompt: manage-domains
// Arguments: { domain: "example.com", action: "add" }

Using Tools with Pagination

// List deployments with pagination
const result = await getDeployments({ limit: 20 });
// Response includes pagination metadata:
// {
//   data: { deployments: [...] },
//   pagination: {
//     next: "dpl_xyz123",
//     hasMore: true,
//     count: 20,
//     total: 150
//   }
// }

// Get next page
const nextPage = await getDeployments({ 
  limit: 20, 
  from: result.pagination.next 
});

Common Workflows

Deploy a Project

  1. Use the deploy-project prompt for guided deployment
  2. Or manually: createProjectcreateDeployment → monitor with getDeployment

Configure Custom Domain

  1. Add domain: addDomain
  2. Verify ownership: verifyDomain
  3. Add to project: addProjectDomain
  4. Configure DNS: createDnsRecord

Set Up Team Access

  1. Create team: createTeam
  2. Invite members: inviteUserToTeam
  3. Configure access groups: createAccessGroup
  4. Assign projects: addAccessGroupProject

Architecture

vercel-mcp/
├── src/
│   ├── index.ts          # MCP server setup and tool registration
│   ├── config.ts         # Configuration management
│   ├── utils.ts          # Shared utilities and pagination
│   └── vercel/           # Vercel SDK integrations
│       ├── deployments.ts
│       ├── dns.ts
│       ├── domains.ts
│       ├── projects.ts
│       ├── teams.ts
│       ├── security.ts
│       └── ... (20+ modules)
├── build/                # Compiled JavaScript
└── package.json

Development

# Install dependencies
npm install

# Build the project
npm run build

# Run locally
npm start

# Format code
npm run check

Security Considerations

  • API keys are validated on startup
  • Sensitive values are masked in logs
  • Environment variables are preferred over command line arguments
  • All API operations are scoped to the authenticated user/team

Contributing

Contributions are welcome! Please ensure:

  • Code follows the existing modular pattern
  • All functions include JSDoc comments
  • Error handling is comprehensive
  • New features include appropriate MCP tools

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @mistertk/vercel-mcp

Weekly Downloads

98

Version

0.1.1

License

MIT

Unpacked Size

306 kB

Total Files

29

Last publish

Collaborators

  • mistertk