---
title: "Vercel MCP server for AI agents - actionlake"
description: "Give Claude 414 Vercel actions through one MCP server: projects, sandboxes, domains, VCR. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/vercel
updated: 2026-10-11
---

Connectors · Developer & infrastructure

# Vercel MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Vercel and the rest of your systems. It gives your agent 414 Vercel actions (171 reads, 173 writes and 70 that wait for a confirmation) and holds the Vercel credential itself, so the agent never does. It paces Vercel's limits and records every call.

[Connect Vercel free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "vercel.projects.get_projects",
  intent: "check which Vercel account is connected"
}
# Retrieve a list of projects · read · 1 upstream call
```

- 414 actions in one signed file
- 171 read look, never change
- 173 write create and update
- 70 wait for a yes destructive, confirmed first

Set up

## Connect Vercel in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Vercel.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `token` Vercel access token
   - `team_id` Your Vercel team id
   - `team_slug` Your Vercel team slug
   ```
   account { op: "connections.requirements", service: "vercel" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "vercel.projects.get_projects" }
   # retrieve a list of projects · read · 1 upstream call
   check { action: "vercel.projects.create_project", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Vercel at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`token`

**Setup fields**

`team_id` `team_slug`

**Limits we pace to**

1,000 calls an hour, per connection

**API covered**

Vercel API 2026-09`api.vercel.com`

**Built from**

Vercel's documentation, read 19 September 2026[openapi.vercel.sh](https://openapi.vercel.sh/)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

167 of 171 reads, for up to an hour; a write clears what it affects

**Ready-made plans**

10 in the store

**Shared entities**

4, so ask can line Vercel up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Vercel.

414 actions in 38 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **171** read look, never change
- **173** write create and update
- **70** destructive wait for a confirmation

1. ### Projects
   32
   8 read · 19 write · 5 destructive
   Retrieve a list of projects · Create a new project · Find a project by id or name · Update an existing project
2. ### Sandboxes
   30
   11 read · 14 write · 5 destructive
   List sessions · Create a directory · List snapshots · List drives
3. ### Domains
   28
   18 read · 8 write · 2 destructive
   Get supported TLDs · Buy multiple domains · Buy a domain · Transfer-in a domain
4. ### VCR
   25
   12 read · 6 write · 7 destructive
   List image tags · List repository tags · List repository images · Create a repository
5. ### Marketplace
   24
   6 read · 14 write · 4 destructive
   Get Member Information · Get Integration Resources · Submit Invoice · Submit Prepayment Balances
6. ### Feature flags
   21
   12 read · 6 write · 3 destructive
   Retrieve the feature flags of a deployment · List flag versions · List flags · List flags
7. ### Edge config
   18
   9 read · 6 write · 3 destructive
   Create a Global Config token · Get all tokens of a Global Config · Get Global Config token meta data · Delete one or more Global Config tokens
8. ### Teams
   16
   4 read · 8 write · 4 destructive
   List all teams · List team members · Create a Team · Get a Team

**30 more areas · 220 actions**

- Checks **15**
- Connect **13**
- KMS **13**
- Log drains **13**
- Security **13**
- AI gateway **12**
- Access groups **11**
- Environment **11**
- Networking **11**
- Deployments **9**
- Integrations **9**
- Other **8**
- Project routes **8**
- Rolling releases **8**
- Bulk redirects **7**
- Aliases **6**
- Artifacts **6**
- Authentication **5**
- Certs **5**
- Microfrontends **5**
- Analytics **4**
- DNS **4**
- Edge cache **4**
- User **4**
- Webhooks **4**
- Billing **3**
- Project members **3**
- Storage **3**
- Observability **2**
- Logs **1**

Vercel's own MCP server

## Vercel's MCP server, or actionlake?

Vercel runs a remote MCP server at mcp.vercel.com, signed in with OAuth, for the AI clients Vercel has reviewed and approved.

Use Vercel's server when one person wants to work in Vercel from their own AI client. Use actionlake when you also want Vercel behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Vercel and another system.

Source: [Vercel's documentation](https://vercel.com/docs/mcp/vercel-mcp), checked 22 October 2026.

Top actions

## The Vercel API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 239 of Vercel's 254 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `vercel.projects.get_projects` Retrieve a list of projects | Retrieve a list of projects | read | `devops.repository.list` 28 connectors |
| `vercel.deployments.get_deployments` List deployments | List deployments | read | `devops.deployment.list` 22 connectors |
| `vercel.teams.get_teams` List all teams | List all teams | read | `identity.group.list` 262 connectors |
| `vercel.teams_members.get_team_members` List team members | List team members | read | `identity.group_member.list` 103 connectors |
| `vercel.integrations_search_repo.search_repo` List git repositories linked to namespace by provider | List git repositories linked to namespace by provider | read | `devops.repository.list` 28 connectors |
| `vercel.projects.create_project` Create a new project | Create a new project | write | `devops.repository.create` 18 connectors |
| `vercel.deployments.create_deployment` Create a new deployment | Create a new deployment | write | `devops.deployment.create` 17 connectors |
| `vercel.access_groups.list_access_groups` List access groups for a team, project or member | List access groups for a team, project or member | read | `identity.group.list` 262 connectors |
| `vercel.access_groups_members.list_access_group_members` List members of an access group | List members of an access group | read | `identity.group_member.list` 103 connectors |
| `vercel.projects.delete_project` Delete a Project | Delete a Project | destructive | `devops.repository.delete` 20 connectors |
| `vercel.projects_custom_environments.get_projects_by_id_or_name_custom_environments` Retrieve custom environments | Retrieve custom environments | read | `devops.environment.list` 24 connectors |
| `vercel.projects_custom_environments.create_custom_environment` Create a custom environment for the current project. | Create a custom environment for the current project. | write | `devops.environment.create` 18 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Vercel actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   List our Vercel repositories with their visibility and default branch.
   calls `vercel.projects.get_projects`
2. Plan read
   Gather everything about a bad deployment in Vercel.
   calls `vercel.deployments_events.get_deployment_events` `vercel.projects_deployments.get_runtime_logs` `vercel.deployments_checks.get_all_checks` `vercel.deployments_feature_flags.get_deployment_feature_flags` `vercel.deployments_aliases.list_deployment_aliases` +1 more
3. Plan write
   Price a domain, buy it on approval and attach it to a project in Vercel. Ask me before anything is sent or changed.
   calls `vercel.registrar_domains.get_domain_availability` `vercel.registrar_domains.get_domain_price` `vercel.registrar_domains.buy_single_domain` `vercel.projects_domains.add_project_domain` `vercel.domains_verification.get_domain_verification_record`
4. Write write
   Create a new project in Vercel. Show me exactly what you will send before you save it.
   calls `vercel.projects.create_project`

The plan store

## Ready-made plans for Vercel.

10 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

1. ### Audit a project's domains and their DNS records
   Use it when Someone asks which domains a Vercel project serves and whether their DNS is correct.
   **Effect**
   read
   **Steps**
   3 · loops
   **Needs**
   project
   **Install**
   `vercel-audit-project-domains`
2. ### Weekly traffic and events report for a project
   Use it when Someone asks how much traffic a Vercel project got and where it came from.
   **Effect**
   read
   **Steps**
   4
   **Needs**
   project id, since and until
   **Install**
   `vercel-traffic-report`
3. ### Gather everything about a bad deployment
   Use it when A Vercel deployment failed or behaved badly and you need all of its evidence in one place.
   **Effect**
   read
   **Steps**
   6
   **Needs**
   deployment id and project id
   **Install**
   `vercel-investigate-failed-deployment`
4. ### Invalidate edge cache tags for a project
   Use it when Stale content is being served from the Vercel edge and specific cache tags need purging.
   **Effect**
   write
   **Steps**
   4
   **Needs**
   project and tags
   **Install**
   `vercel-purge-edge-cache`
5. ### Check for an attack and raise the challenge wall
   Use it when A Vercel project looks like it is under attack and challenge mode may need turning on.
   A person decides Enable attack challenge mode on project _project id_ until _attack mode active until_. Every visitor will be challenged.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   project id and attack mode active until
   **Install**
   `vercel-attack-mode-response`
6. ### Promote a deployment to production after sign off
   Use it when A verified deployment should go to production but a person must sign off first.
   A person decides Promote deployment _deployment id_ to production for project _project id_.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   project id and deployment id
   **Install**
   `vercel-promote-deployment-with-approval`
7. ### Advance a rolling release to its next stage
   Use it when A canary stage looks healthy and someone wants to widen it to the next slice of traffic.
   A person decides Advance the rolling release on _project_ to stage _next stage index_, widening live traffic to canary _canary deployment id_.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   project, canary deployment id and next stage index
   **Install**
   `vercel-rolling-release-advance`
8. ### Price a domain, buy it on approval and attach it to a project
   Use it when A new domain needs buying through Vercel and wiring onto an existing project.
   A person decides Buy _domain_ for _years_ year(s) at _price_ and attach it to project _project_.
   **Effect**
   write
   **Steps**
   7
   **Needs**
   domain, project, years and contact information
   **Install**
   `vercel-register-domain-and-attach`
9. ### Remove a person from a project after sign off
   Use it when Someone has left a team or a project and their Vercel project access must be revoked.
   A person decides Remove member _uid_ from project _project_. This revokes their access immediately.
   **Effect**
   destructive
   **Steps**
   4
   **Needs**
   project and uid
   **Install**
   `vercel-offboard-project-member`
10. ### Run a command in a named sandbox and collect its output
    Use it when A command must be run inside an existing Vercel sandbox and its output brought back.
    A person decides Run `_command_` in Vercel sandbox _sandbox name_, session _session id_.
    **Effect**
    destructive
    **Steps**
    6
    **Needs**
    sandbox name, session id, cmd id and command
    **Install**
    `vercel-sandbox-run-command`

install a plan

```
account { op: "plans.install", slug: "vercel-audit-project-domains" }
# then ask for it by name; a schedule can run it on a timetable
```

Governance for Vercel

## Destructive actions wait for a yes.

70 Vercel actions are destructive. The first 10:

- Delete a Project `vercel.projects.delete_project`
- Delete a Team `vercel.teams.delete_team`
- Deletes an access group `vercel.access_groups.delete_access_group`
- Delete a Deployment `vercel.deployments.delete_deployment`
- Cancel a deployment `vercel.deployments_cancel.cancel_deployment`
- Remove a Team Member `vercel.teams_members.remove_team_member`
- Create project transfer request `vercel.projects_transfer_request.create_project_transfer_request`
- Delete one or more Env Var `vercel.env.delete_shared_env_variable`
- Remove an environment variable `vercel.projects_env.remove_project_env`
- Batch remove environment variables `vercel.projects_env.batch_remove_project_env`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do vercel.projects.delete_project confirm_policy: **human**

Delete a Project?

**intent:** the user asked me to delete a Project

run suspended · waiting for a named person · key _vercel-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "vercel-agent",
  allowed_actions: ["vercel.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "vercel.projects.delete_project", approver: "lead@example.com" },
    { match: "vercel.teams.delete_team", approver: "lead@example.com" },
    { match: "vercel.access_groups.delete_access_group", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Vercel only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Vercel costs on actionlake.

Every Vercel action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Vercel refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 414 Vercel actions
- 414 actions page each page of a long list is one call
- 167 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Vercel action.

414 actions by area: the id your agent calls, what it does, and its effect.

**Projects 32**

- `vercel.projects.create_project` Create a new project write
- `vercel.projects.get_project` Find a project by id or name read
- `vercel.projects.get_projects` Retrieve a list of projects read
- `vercel.projects.update_project` Update an existing project write
- `vercel.projects.delete_project` Delete a Project destructive
- `vercel.projects_avatar.upload_project_avatar` Upload a project avatar write
- and 26 more in this area

**Sandboxes 30**

- `vercel.sandboxes_drives.list_drives` List drives read
- `vercel.sandboxes_sessions.create_session_directory` Create a directory write
- `vercel.sandboxes_sessions.list_sessions` List sessions read
- `vercel.sandboxes_snapshots.list_session_snapshots` List snapshots read
- `vercel.sandboxes.create_sandboxes_v2` Create a named sandbox write
- `vercel.sandboxes.create_sandboxes_v3` Create a named sandbox write
- and 24 more in this area

**Domains 28**

- `vercel.registrar_domains.buy_domains` Buy multiple domains write
- `vercel.registrar_domains.buy_single_domain` Buy a domain write
- `vercel.registrar_domains.transfer_in_domain` Transfer-in a domain destructive
- `vercel.registrar_tlds.get_supported_tlds` Get supported TLDs read
- `vercel.domains.create_or_transfer_domain` Add an existing domain to the Vercel platform write
- `vercel.domains.delete_domain` Remove a domain by name destructive
- and 22 more in this area

**VCR 25**

- `vercel.tags.get_by_team_slug_by_project_slug_by_repository_name_tags_list` List image tags read
- `vercel.vcr.create_repository` Create a repository write
- `vercel.vcr.list_repository_images` List repository images read
- `vercel.vcr.list_repository_tags` List repository tags read
- `vercel.blobs.create_by_team_slug_by_project_slug_by_repository_name_blobs_uploads` Start a blob upload write
- `vercel.blobs.delete_by_team_slug_by_project_slug_by_repository_name_blobs_by_digest` Delete a blob destructive
- and 19 more in this area

**Marketplace 24**

- `vercel.installations_billing.submit_invoice` Submit Invoice write
- `vercel.installations_billing.submit_prepayment_balances` Submit Prepayment Balances write
- `vercel.installations_member.get_member` Get Member Information read
- `vercel.installations_resources.get_integration_resources` Get Integration Resources read
- `vercel.installations.update_installation` Update Installation write
- `vercel.installations_account.get_account_info` Get Account Information read
- and 18 more in this area

**Feature flags 21**

- `vercel.deployments_feature_flags.get_deployment_feature_flags` Retrieve the feature flags of a deployment read
- `vercel.projects_feature_flags.list_flag_versions` List flag versions read
- `vercel.projects_feature_flags.list_flags` List flags read
- `vercel.projects_feature_flags.list_flags_v2` List flags read
- `vercel.projects_feature_flags.create_flag` Create a flag write
- `vercel.projects_feature_flags.create_flag_segment` Create a segment write
- and 15 more in this area

**Edge config 18**

- `vercel.global_config_token.create_edge_config_token` Create a Global Config token write
- `vercel.global_config_token.get_edge_config_token` Get Global Config token meta data read
- `vercel.global_config_tokens.delete_edge_config_tokens` Delete one or more Global Config tokens destructive
- `vercel.global_config_tokens.get_edge_config_tokens` Get all tokens of a Global Config read
- `vercel.global_config.create_edge_config` Create a Global Config write
- `vercel.global_config.delete_edge_config` Delete a Global Config destructive
- and 12 more in this area

**Teams 16**

- `vercel.teams.create_team` Create a Team write
- `vercel.teams.get_team` Get a Team read
- `vercel.teams.get_teams` List all teams read
- `vercel.teams_members.get_team_members` List team members read
- `vercel.teams.delete_team` Delete a Team destructive
- `vercel.teams.patch_team` Update a Team write
- and 10 more in this area

**Checks 15**

- `vercel.deployments_check_runs.list_deployment_check_runs` List check runs for a deployment read
- `vercel.deployments_checks.get_all_checks` Retrieve a list of all checks read
- `vercel.projects_checks.list_check_runs` List runs for a check read
- `vercel.projects_checks.list_project_checks` List all checks for a project read
- `vercel.deployments_check_runs.create_deployment_check_run` Create a check run write
- `vercel.deployments_check_runs.get_deployment_check_run` Get a check run read
- and 9 more in this area

**Connect 13**

- `vercel.connect_connectors.create_connector` Create a connector write
- `vercel.connect_connectors.get_connector` Get a connector read
- `vercel.connect_connectors.list_connectors` List connectors read
- `vercel.connect_token.get_connector_token` Get a Connect token write
- `vercel.connect_authorize.create_connector_authorization_request` Create a Connect authorization request write
- `vercel.connect_connectors.delete_connector` Delete a connector destructive
- and 7 more in this area

**KMS 13**

- `vercel.kms_issuers.create_kms_issuer_policy` Create an issuer policy write
- `vercel.kms_issuers.create_kms_signing_key` Create a signing key write
- `vercel.kms_issuers.sign_kms_token` Sign a token write
- `vercel.kms_issuers.update_kms_issuer_policy` Update an issuer policy write
- `vercel.kms_issuers.activate_kms_signing_key` Activate a signing key write
- `vercel.kms_issuers.create_kms_issuer` Create an issuer write
- and 7 more in this area

**Log drains 13**

- `vercel.drains.create_drain` Create a new Drain write
- `vercel.drains.get_drains` Retrieve a list of all Drains read
- `vercel.integrations_log_drains.get_integration_log_drains` Retrieves a list of Integration log drains (deprecated) read
- `vercel.log_drains.get_all_log_drains` Retrieves a list of all the Log Drains (deprecated) read
- `vercel.drains.delete_drain` Delete a drain destructive
- `vercel.drains.get_drain` Find a Drain by id read
- and 7 more in this area

**Security 13**

- `vercel.security_attack_mode.update_attack_challenge_mode` Update Attack Challenge mode write
- `vercel.security_firewall.create_security_firewall_config_by_config_version_activate` Returns activated WAF config write
- `vercel.security_firewall.delete_security_firewall_config_by_config_version` Returns activated WAF config destructive
- `vercel.security_firewall.get_firewall_config` Read Firewall Configuration read
- `vercel.security_firewall.get_security_firewall_config` Returns activated WAF config read
- `vercel.security_firewall.update_firewall_config` Update Firewall Configuration write
- and 7 more in this area

**AI gateway 12**

- `vercel.ai_gateway_rules.create_ai_gateway_rule` Create rule write
- `vercel.ai_gateway_rules.list_ai_gateway_rules` List rules read
- `vercel.ai_gateway_rules.update_ai_gateway_rule` Update rule write
- `vercel.ai_gateway_virtual_model_configs.create_ai_gateway_virtual_model_config` Create virtual model config write
- `vercel.ai_gateway_rules.delete_ai_gateway_rule` Delete rule destructive
- `vercel.ai_gateway_virtual_model_configs.delete_ai_gateway_virtual_model_config` Delete virtual model config destructive
- and 6 more in this area

**Access groups 11**

- `vercel.access_groups.create_access_group` Creates an access group write
- `vercel.access_groups.list_access_groups` List access groups for a team, project or member read
- `vercel.access_groups.read_access_group` Reads an access group read
- `vercel.access_groups_members.list_access_group_members` List members of an access group read
- `vercel.access_groups.delete_access_group` Deletes an access group destructive
- `vercel.access_groups.update_access_group` Update an access group write
- and 5 more in this area

**Environment 11**

- `vercel.env.create_shared_env_variable` Create one or more shared environment variables write
- `vercel.env.list_shared_env_variable` Lists all Shared Environment Variables for a team read
- `vercel.projects_custom_environments.create_custom_environment` Create a custom environment for the current project. write
- `vercel.projects_custom_environments.get_projects_by_id_or_name_custom_environments` Retrieve custom environments read
- `vercel.env.delete_shared_env_variable` Delete one or more Env Var destructive
- `vercel.env.get_shared_env_var` Retrieve the decrypted value of a Shared Environment Variable by id. read
- and 5 more in this area

**Networking 11**

- `vercel.connect_networks.create_network` Create a Secure Compute network write
- `vercel.connect_networks.list_networks` List Secure Compute networks read
- `vercel.networking_privatelink.create_private_link_endpoint` Create a PrivateLink endpoint write
- `vercel.networking_privatelink.list_private_link_endpoints` List PrivateLink endpoints read
- `vercel.connect_networks.delete_network` Delete a Secure Compute network destructive
- `vercel.connect_networks.read_network` Read a Secure Compute network read
- and 5 more in this area

**Deployments 9**

- `vercel.deployments.create_deployment` Create a new deployment write
- `vercel.deployments.delete_deployment` Delete a Deployment destructive
- `vercel.deployments.get_deployment` Get a deployment by ID or URL read
- `vercel.deployments.get_deployments` List deployments read
- `vercel.deployments_cancel.cancel_deployment` Cancel a deployment destructive
- `vercel.deployments_events.get_deployment_events` Get deployment events read
- and 3 more in this area

**Integrations 9**

- `vercel.integrations_configuration.get_configuration_products` List products for integration configuration read
- `vercel.integrations_configurations.get_configurations` Get configurations for the authenticated user or team read
- `vercel.integrations_git_namespaces.git_namespaces` List git namespaces by provider read
- `vercel.integrations_search_repo.search_repo` List git repositories linked to namespace by provider read
- `vercel.integrations_configuration.delete_configuration` Delete an integration configuration destructive
- `vercel.integrations_configuration.get_configuration` Retrieve an integration configuration read
- and 3 more in this area

**Other 8**

- `vercel.api_keys.create_api_keys` createApiKeys write
- `vercel.domains_records.get_domains_records_by_record_id` getDomainsRecordsByRecordId read
- `vercel.observability.get_observability_schema` getObservabilitySchema read
- `vercel.observability.get_observability_schema_by_metric_id` getObservabilitySchemaByMetricId read
- `vercel.domains_records.replace_domains_by_domain_records` replaceDomainsByDomainRecords write
- `vercel.observability.create_observability_query` createObservabilityQuery write
- and 2 more in this area

**Project routes 8**

- `vercel.projects_routes.add_route` Add a routing rule write
- `vercel.projects_routes.generate_route` Generate a routing rule from natural language write
- `vercel.projects_routes.get_route_versions` Get routing rule version history read
- `vercel.projects_routes.get_routes` Get project routing rules read
- `vercel.projects_routes.delete_routes` Delete routing rules destructive
- `vercel.projects_routes.edit_route` Edit a routing rule write
- and 2 more in this area

**Rolling releases 8**

- `vercel.projects_rolling_release.approve_rolling_release_stage` Update the active rolling release to the next stage for a project write
- `vercel.projects_rolling_release.complete_rolling_release` Complete the rolling release for the project write
- `vercel.projects_rolling_release.get_rolling_release` Get the active rolling release information for a project read
- `vercel.projects_rolling_release.start_rolling_release` Start a rolling release for the project write
- `vercel.projects_rolling_release.delete_rolling_release_config` Delete rolling release configuration destructive
- `vercel.projects_rolling_release.get_rolling_release_billing_status` Get rolling release billing status read
- and 2 more in this area

**Bulk redirects 7**

- `vercel.bulk_redirects.edit_redirect` Edit a project-level redirect. write
- `vercel.bulk_redirects.get_redirects` Gets project-level redirects. read
- `vercel.bulk_redirects.get_versions` Get the version history for a project's redirects. read
- `vercel.bulk_redirects.restore_redirects` Restore staged project-level redirects to their production version. write
- `vercel.bulk_redirects.delete_redirects` Delete project-level redirects. destructive
- `vercel.bulk_redirects.stage_redirects` Stages new redirects for a project. write
- and 1 more in this area

**Aliases 6**

- `vercel.aliases.get_alias` Get an Alias read
- `vercel.aliases.list_aliases` List aliases read
- `vercel.deployments_aliases.assign_alias` Assign an Alias write
- `vercel.deployments_aliases.list_deployment_aliases` List Deployment Aliases read
- `vercel.aliases.delete_alias` Delete an Alias destructive
- `vercel.aliases.patch_url_protection_bypass` Update the protection bypass for a URL write

**Artifacts 6**

- `vercel.artifacts.artifact_query` Query information about an artifact read
- `vercel.artifacts.delete_all_artifacts` Delete all cache artifacts destructive
- `vercel.artifacts.download_artifact` Download a cache artifact read
- `vercel.artifacts.upload_artifact` Upload a cache artifact write
- `vercel.artifacts_events.record_events` Record an artifacts cache usage event write
- `vercel.artifacts_status.status` Get status of Remote Caching for this principal read

**Authentication 5**

- `vercel.integrations_sso.exchange_sso_token` SSO Token Exchange write
- `vercel.user_tokens.create_auth_token` Create an Auth Token write
- `vercel.user_tokens.get_auth_token` Get Auth Token Metadata read
- `vercel.user_tokens.list_auth_tokens` List Auth Tokens read
- `vercel.user_tokens.delete_auth_token` Delete an authentication token destructive

**Certs 5**

- `vercel.certs.get_cert_by_id` Get cert by id read
- `vercel.certs.get_certs` Get certs read
- `vercel.certs.issue_cert` Issue a new cert write
- `vercel.certs.remove_cert` Remove cert destructive
- `vercel.certs.upload_cert` Upload a cert write

**Microfrontends 5**

- `vercel.microfrontends.create_microfrontends_group_with_applications` Create a microfrontends group with applications write
- `vercel.microfrontends.get_microfrontends_config` Get microfrontends config for a deployment read
- `vercel.microfrontends.get_microfrontends_groups` List microfrontends groups read
- `vercel.microfrontends.get_microfrontends_in_group` List projects in a microfrontends group read
- `vercel.microfrontends.get_microfrontends_config_for_project` Get microfrontends config for a project read

**Analytics 4**

- `vercel.query.aggregate_events` Aggregates custom events read
- `vercel.query.aggregate_pageviews` Aggregates page views read
- `vercel.query.count_events` Counts custom events read
- `vercel.query.count_pageviews` Counts page views read

**DNS 4**

- `vercel.domains_records.create_record` Create a DNS record write
- `vercel.domains_records.get_records` List existing DNS records read
- `vercel.domains_records.remove_record` Delete a DNS record destructive
- `vercel.domains_records.update_record` Update an existing DNS record write

**Edge cache 4**

- `vercel.edge_cache_dangerously_delete_by_src_images.dangerously_delete_by_src_images` Dangerously delete by source image destructive
- `vercel.edge_cache_dangerously_delete_by_tags.dangerously_delete_by_tags` Dangerously delete by tag destructive
- `vercel.edge_cache_invalidate_by_src_images.invalidate_by_src_images` Invalidate by source image write
- `vercel.edge_cache_invalidate_by_tags.invalidate_by_tags` Invalidate by tag write

**User 4**

- `vercel.events.list_event_types` List Event Types read
- `vercel.events.list_user_events` List User Events read
- `vercel.user.get_auth_user` Get the User read
- `vercel.user.request_delete` Delete User Account destructive

**Webhooks 4**

- `vercel.webhooks.create_webhook` Creates a webhook write
- `vercel.webhooks.delete_webhook` Deletes a webhook destructive
- `vercel.webhooks.get_webhook` Get a webhook read
- `vercel.webhooks.get_webhooks` Get a list of webhooks read

**Billing 3**

- `vercel.billing.buy_credits` Purchase credits write
- `vercel.billing.list_billing_charges` List FOCUS billing charges read
- `vercel.billing.list_contract_commitments` List FOCUS contract commitments read

**Project members 3**

- `vercel.projects_members.add_project_member` Adds a new member to a project. write
- `vercel.projects_members.get_project_members` List project members read
- `vercel.projects_members.remove_project_member` Remove a Project Member destructive

**Storage 3**

- `vercel.storage_stores.create_storage_stores_blob` Create a Blob store write
- `vercel.storage_stores.delete_storage_stores_blob_by_id` Delete a Blob store destructive
- `vercel.storage_stores.get_storage_stores_by_id` Get a store read

**Observability 2**

- `vercel.observability.get_observability_configuration_projects` Lists disabled Observability Plus projects read
- `vercel.observability.update_observability_configuration_project` Updates a disabled Observability Plus project setting write

**Logs 1**

- `vercel.projects_deployments.get_runtime_logs` Get logs for a deployment read

This index shows a sample of each area. All 414 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The Vercel MCP server, answered.

**Is there a Vercel MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 414 Vercel actions across projects, sandboxes, domains and VCR, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Vercel.

**Does Vercel have its own MCP server?**

Vercel runs a remote MCP server at mcp.vercel.com, signed in with OAuth, for the AI clients Vercel has reviewed and approved. (Vercel's documentation, checked 22 October 2026.) Use Vercel's server when one person wants to work in Vercel from their own AI client. Use actionlake when you also want Vercel behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Vercel and another system.

**What do I need to connect Vercel?**

Vercel access token. Plus your team id and your team slug. The free call account { op: "connections.requirements", service: "vercel" } lists exactly what to paste.

**Can an AI agent delete or change things in Vercel?**

Only if its key allows it, and only with an explicit confirmation. 70 Vercel actions are destructive, including delete a Project, delete a Team and deletes an access group. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Vercel API limit?**

actionlake paces every call to the limits in the Vercel service file: 1,000 calls an hour per connection. Repeated reads are answered from cache (167 Vercel actions can be), which never reaches Vercel.

**What does a Vercel action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (414 Vercel actions page). Cache hits, searches, dry runs and calls Vercel refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Vercel API does it cover?**

The Vercel API 2026-09 at api.vercel.com. It is built from Vercel's documentation as read on 19 September 2026. 414 actions in 38 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Vercel data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Vercel credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Vercel

Shares the most action names with

- [GitLab 91](https://actionlake.com/connectors/gitlab)
- [Azure DevOps Services 79](https://actionlake.com/connectors/azure-devops-services)
- [GitHub 61](https://actionlake.com/connectors/github)
- [Postman 57](https://actionlake.com/connectors/postman)
- [Bitbucket Cloud 51](https://actionlake.com/connectors/bitbucket-cloud)
- [LaunchDarkly 32](https://actionlake.com/connectors/launchdarkly)

Joins with, on shared entities

- [Honeybadger 3](https://actionlake.com/connectors/honeybadger)
- [Delinea Secret Server 2](https://actionlake.com/connectors/delinea-secret-server)
- [Canvas LMS 2](https://actionlake.com/connectors/canvas-lms)
- [Octopus Deploy 2](https://actionlake.com/connectors/octopus-deploy)
- [D2L Brightspace 2](https://actionlake.com/connectors/d2l-brightspace)
- [Appwrite Cloud 2](https://actionlake.com/connectors/appwrite-cloud)

Browse

- [All Developer & infrastructure connectors](https://actionlake.com/connectors/category/developer-and-infrastructure)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Vercel; the name is the vendor's own. Counts are from the Vercel service file, version 1.0.0.

## Give your agent Vercel today.

[Connect Vercel free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/vercel
More: https://actionlake.com/llms.txt
