View as Markdown

Vercel Integration

Manage Vercel projects, deployments, and domains

The Vercel integration provides access to manage Vercel projects, deployments, and domains through the Integrate MCP server.

Installation

The Vercel integration is included with the SDK:

import { vercelIntegration } from "integrate-sdk/server";

Setup

1. Create a Vercel OAuth App

  1. Go to Vercel Integrations
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Vercel integration to your server configuration. The integration automatically reads VERCEL_CLIENT_ID and VERCEL_CLIENT_SECRET from your environment variables:

import { createMCPServer, vercelIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    vercelIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

vercelIntegration({
  clientId: process.env.CUSTOM_VERCEL_ID,
  clientSecret: process.env.CUSTOM_VERCEL_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("vercel");
const result = await client.vercel.listProjects({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, vercelIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [vercelIntegration()],
});

Configuration Options

export interface VercelIntegrationConfig {
  /** Vercel OAuth client ID (defaults to VERCEL_CLIENT_ID env var) */
  clientId?: string;

Tools

vercel_list_projects

List projects in Vercel

export interface VercelListProjectsParams {
    /** Maximum number of projects to return */
    limit?: number;

vercel_get_project

Get a specific project

export interface VercelGetProjectParams {
    /** Project ID or name */
    projectId: string;

vercel_create_project

Create a new project

export interface VercelCreateProjectParams {
    /** Project name */
    name: string;

vercel_update_project

Update an existing project

export interface VercelUpdateProjectParams {
    /** Project ID or name */
    project: string;

vercel_delete_project

Delete a project

export interface VercelDeleteProjectParams {
    /** Project ID or name */
    project: string;

vercel_list_deployments

List deployments

export interface VercelListDeploymentsParams {
    /** Project ID to filter by */
    projectId?: string;

vercel_get_deployment

Get a specific deployment

export interface VercelGetDeploymentParams {
    /** Deployment ID or URL */
    deploymentId: string;

vercel_create_deployment

Create a new deployment

export interface VercelCreateDeploymentParams {
    /** Project name */
    name: string;

vercel_cancel_deployment

Cancel a deployment

export interface VercelCancelDeploymentParams {
    /** Deployment ID to cancel */
    deploymentId: string;

vercel_delete_deployment

Delete a deployment

export interface VercelDeleteDeploymentParams {
    /** Deployment ID */
    deployment: string;

vercel_promote_deployment

Promote a deployment to production

export interface VercelPromoteDeploymentParams {
    /** Project ID or name */
    project: string;

vercel_get_deployment_logs

Get deployment logs

export interface VercelGetDeploymentLogsParams {
    /** Deployment ID */
    deploymentId: string;

vercel_list_domains

List domains for a project

export interface VercelListDomainsParams {
    /** Project ID to filter by */
    projectId?: string;

vercel_add_domain

Add a domain to a project

export interface VercelAddDomainParams {
    /** Project ID or name */
    project: string;

vercel_remove_domain

Remove a domain from a project

export interface VercelRemoveDomainParams {
    /** Project ID or name */
    project: string;

vercel_get_domain_config

Get domain configuration

export interface VercelGetDomainConfigParams {
    /** Domain name */
    domain: string;

vercel_list_env_vars

List environment variables for a project

export interface VercelListEnvVarsParams {
    /** Project ID */
    projectId: string;

vercel_create_env_var

Create an environment variable

export interface VercelCreateEnvVarParams {
    /** Project ID or name */
    project: string;

vercel_delete_env_var

Delete an environment variable

export interface VercelDeleteEnvVarParams {
    /** Project ID or name */
    project: string;

vercel_list_dns_records

List DNS records for a domain

export interface VercelListDnsRecordsParams {
    /** Domain name */
    domain: string;

vercel_create_dns_record

Create a DNS record

export interface VercelCreateDnsRecordParams {
    /** Domain name */
    domain: string;

Notes

  • Category: Infrastructure
  • Authentication mode: OAuth