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
- Go to Vercel Integrations
- Create a new OAuth application
- Configure your redirect URI
- 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