Integrations
Vercel
Manage projects, deployments, and domains
The Vercel integration provides access to Vercel's API 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 Integration
- Go to Vercel Integrations
- Create a new integration
- Configure OAuth settings
- 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({
// Vercel doesn't use traditional OAuth scopes
}),
],
});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 projects = await client.vercel.listProjects({});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
Prop
Type
Available Tools
Projects
vercel_list_projects- List projectsvercel_get_project- Get a specific project
Deployments
vercel_list_deployments- List deploymentsvercel_get_deployment- Get a specific deploymentvercel_create_deployment- Create a new deploymentvercel_cancel_deployment- Cancel a deploymentvercel_get_deployment_logs- Get deployment logs
Domains
vercel_list_domains- List domains
Environment Variables
vercel_list_env_vars- List environment variables
Examples
List Projects
const result = await client.vercel.listProjects({
limit: 20,
});
console.log("Projects:", result);Get Deployment
const result = await client.vercel.getDeployment({
deploymentId: "dpl_123",
});
console.log("Deployment:", result);Get Deployment Logs
const result = await client.vercel.getDeploymentLogs({
deploymentId: "dpl_123",
limit: 100,
});
console.log("Logs:", result);List Domains
const result = await client.vercel.listDomains({
limit: 50,
});
console.log("Domains:", result);OAuth Scopes
Vercel doesn't use traditional OAuth scopes. Permissions are configured at the integration level when you create the integration in the Vercel dashboard.
Error Handling
try {
const result = await client.vercel.getDeployment({
deploymentId: "dpl_123",
});
} catch (error) {
if (error.message.includes("not found")) {
console.error("Deployment not found");
} else if (error.message.includes("authentication")) {
console.error("Authentication failed");
} else {
console.error("Unexpected error:", error);
}
}Next Steps
- Explore the GitHub Integration
- Explore the Linear Integration
- See Advanced Usage for more examples