
List Vercel deployments with pagination. Filter by project, target, or state. Use 'until' cursor from page_info for next page.
Create a new Vercel deployment. Provide project name and optionally a Git source or files to deploy. Use list_projects to find valid project names.
Get a Vercel deployment by ID or URL. Returns deployment details including state, URL, and metadata. Use list_deployments to find valid IDs.
Delete a Vercel deployment by ID. This permanently removes the deployment. Use list_deployments to find valid IDs.
Cancel an in-progress Vercel deployment. Only works on deployments that are currently building. Use list_deployments to find valid IDs.
List files in a Vercel deployment. Returns the file tree of the deployed output. Use list_deployments to find valid deployment IDs.
Get build logs and events for a Vercel deployment. Returns build output and status changes. Use list_deployments to find valid IDs.
List all domains on the Vercel account with pagination. Use 'until' cursor from page_info for next page.
Get details for a specific domain including verification and configuration status. Use list_domains to find valid domain names.
Add a domain to your Vercel account. After adding, configure DNS to point to Vercel. Use getdomainconfig to check DNS status.
Update or move a domain. Use op='move' with destination team ID to transfer a domain between teams. Use list_domains to find valid names.
Remove a domain from your Vercel account. This does not affect DNS records. Use list_domains to find valid domain names.
Get DNS configuration status for a domain. Shows whether the domain is properly configured and any required DNS changes.
List environment variables for a Vercel project. Values may be encrypted. Use getenvvar to decrypt. Use 'until' cursor from page_info for next page.
Create an environment variable for a Vercel project. Specify key, value, type (plain/encrypted/secret/sensitive), and target environments.
Get a decrypted environment variable value by ID. Use listenvvars to find valid env var IDs for the project.
Update an environment variable's key, value, type, or target environments. Use listenvvars to find valid env var IDs.
Delete an environment variable from a Vercel project. Use listenvvars to find valid env var IDs.
Batch delete multiple environment variables from a Vercel project. Use listenvvars to find valid env var IDs.
List feature flags for a Vercel project. Supports filtering by state and search. Use cursor from page_info for next page.
Get details of a specific feature flag by ID. Use listfeatureflags to find valid flag IDs.
List feature flag segments for a Vercel project. Segments define user groups for targeting.
Get details of a specific feature flag segment by ID. Use listfeatureflag_segments to find valid segment IDs.
List Vercel projects with pagination. Use 'until' cursor from page_info for next page. Optionally filter by search term.
Create a new Vercel project. Optionally connect a Git repository and set framework, build command, and environment variables.
Get a Vercel project by ID or name. Returns project details including framework, Git repo, and settings. Use list_projects to find valid IDs.
Update a Vercel project's settings such as name, framework, build command, or output directory. Use list_projects to find valid IDs.
Delete a Vercel project by ID or name. This permanently removes the project and all its deployments. Use list_projects to find valid IDs.
List domains assigned to a Vercel project. Use 'until' cursor from pageinfo for next page. Use listprojects to find valid project IDs.
Add a domain to a Vercel project. Optionally configure redirect or link to a git branch. Use list_projects to find valid project IDs.
Remove a domain from a Vercel project. Use listprojectdomains to find valid domain names for the project.
Pause a Vercel project. Paused projects stop serving traffic. Use list_projects to find valid project IDs.
Unpause a Vercel project. Resumes traffic to the project's deployments. Use list_projects to find valid project IDs.
List shared (team-level) environment variables. These are shared across all projects in the team. Use list_teams to find valid team IDs.
Create a shared (team-level) environment variable. Shared vars are accessible to all projects in the team. Use list_teams to find valid team IDs.
Get a decrypted shared environment variable by ID. Use listsharedenv_vars to find valid IDs.
Update a shared environment variable's key, value, type, or target. Use listsharedenv_vars to find valid IDs.
Delete one or more shared environment variables by ID. Use listsharedenv_vars to find valid IDs.
Disconnect a shared environment variable from a specific project. The variable remains but is no longer linked to the project.
List all Vercel teams the authenticated user belongs to. Use 'until' cursor from page_info for next page.
Get details for a Vercel team by ID including name, slug, and membership info. Use list_teams to find valid team IDs.
Create a new Vercel team. Requires a unique URL slug. Optionally set a display name.
Update a Vercel team's name, slug, or description. Use list_teams to find valid team IDs.
Delete a Vercel team. This permanently removes the team and all associated resources. Use list_teams to find valid team IDs.
List members of a Vercel team with pagination. Use 'until' cursor from pageinfo for next page. Use listteams to find valid team IDs.
Invite a user to a Vercel team by email. Assign a role: MEMBER, OWNER, VIEWER, DEVELOPER, or BILLING. Use list_teams to find valid team IDs.
Get the currently authenticated Vercel user's profile including email, username, and avatar.
List activity events for the authenticated user. Shows recent actions like deployments, domain changes, and team activity. Use 'until' cursor for next page.
Validate Vercel credentials. Verifies credentials during setup.
List all webhooks configured for the account or team. Returns webhook IDs, URLs, and subscribed events.
Create a webhook to receive event notifications. Specify URL and event types (e.g. deployment.created, project.created).
Get details of a specific webhook by ID. Use list_webhooks to find valid webhook IDs.
Delete a webhook by ID. Use list_webhooks to find valid webhook IDs.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}It's an MCP server that lets your agents access data and functionality from Vercel via tools. Your agents can invoke these tools to trigger deployments, manage environment variables, configure domains, monitor deployment events, and more.
Vercel offers an official MCP server, but you can use one from a third-party platform, like Merge Agent Handler.
The use cases naturally depend on the agent you've built, but here are a few common ones:
create_deployment</code> to trigger a production deployment in Vercel automaticallyget_deployment_events</code> for error states and automatically cancels the failed deployment, posts a Slack alert, and opens a GitHub issue with the relevant log outputupdate_env_var</code> to push the new value to the correct Vercel project and environment, keeping config in sync without manual updateslist_deployments</code> each Monday, filters by the past week, and posts a structured summary of deployment activity, error rates, and project status to a shared Slack channelHere are some of the most commonly used tools:
<code class="blog_inline-code">list_deployments</code> retrieves all deployments for a project, filterable by status, environment, or date range. Good for workflows that need to audit recent activity or check whether a deployment succeeded before taking a downstream action<code class="blog_inline-code">create_deployment</code> kicks off a new deployment for a specified project and branch. Call this when an agent needs to trigger a release in response to an external event, like a merge, a ticket close, or a scheduled release window<code class="blog_inline-code">get_deployment_events</code> streams the build and runtime logs for a specific deployment. Useful for agents that need to detect errors, extract build output, or determine why a deployment failed<code class="blog_inline-code">create_env_var</code> Adds a new environment variable to a Vercel project for a specified environment (production, preview, development). Use this when an agent is provisioning a new project or syncing config from an external source<code class="blog_inline-code">update_env_var</code> Updates the value of an existing environment variable. Helpful when an agent needs to rotate secrets, update feature flags stored as env vars, or promote a config value from preview to production<code class="blog_inline-code">pause_project</code> Suspends all incoming requests to a Vercel project. Call this when an agent detects a critical failure and needs to take a project offline immediately while a fix is preparedA few things set Merge Agent Handler's Vercel MCP server apart from rolling your own or using a generic alternative:
You can take the following steps:
1. Create or log into your Merge Agent Handler account and navigate to Tool Packs (collections of connector tools scoped to a specific use case).
2. Create a new Tool Pack, then find and enable the Vercel connector. Choose which tools to include. You can enable read tools like <code class="blog_inline-code">list_deployments</code> for monitoring use cases, or add write tools like <code class="blog_inline-code">create_deployment</code> and <code class="blog_inline-code">update_env_var</code> if your agent needs to trigger or configure deployments.
3. Add a Registered User inside the Tool Pack. This is the identity context under which your agent operates. Merge generates a unique MCP URL scoped to this user once it's created.
4. From the Registered User detail page, authenticate Vercel by completing the OAuth flow. Merge stores and manages the credentials going forward.
5. Copy the MCP URL from the Tool Pack detail page and generate an API key from Settings. You'll need both to connect your agent.
6. Add the MCP server to your agent or IDE using the MCP URL and API key. Your Vercel tools are now accessible through that endpoint.
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now