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.
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/mcpdo { action: "vercel.projects.get_projects", intent: "check which Vercel account is connected"}# Retrieve a list of projects · read · 1 upstream call- 414actionsin one signed file
- 171readlook, never change
- 173writecreate and update
- 70wait for a yesdestructive, confirmed first
Set up
Connect Vercel in three steps.
- 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 - 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.
tokenVercel access tokenteam_idYour Vercel team idteam_slugYour Vercel team slug
account { op: "connections.requirements", service: "vercel" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "vercel.projects.get_projects" }# retrieve a list of projects · read · 1 upstream callcheck { 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_idteam_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 2026openapi.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.
- 171readlook, never change
- 173writecreate and update
- 70destructivewait for a confirmation
Projects
328 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
Sandboxes
3011 read · 14 write · 5 destructive
List sessions · Create a directory · List snapshots · List drives
Domains
2818 read · 8 write · 2 destructive
Get supported TLDs · Buy multiple domains · Buy a domain · Transfer-in a domain
VCR
2512 read · 6 write · 7 destructive
List image tags · List repository tags · List repository images · Create a repository
Marketplace
246 read · 14 write · 4 destructive
Get Member Information · Get Integration Resources · Submit Invoice · Submit Prepayment Balances
Feature flags
2112 read · 6 write · 3 destructive
Retrieve the feature flags of a deployment · List flag versions · List flags · List flags
Edge config
189 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
Teams
164 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, 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_projectsRetrieve a list of projects | Retrieve a list of projects | read | devops.repository.list28 connectors |
vercel.deployments.get_deploymentsList deployments | List deployments | read | devops.deployment.list22 connectors |
vercel.teams.get_teamsList all teams | List all teams | read | identity.group.list262 connectors |
vercel.teams_members.get_team_membersList team members | List team members | read | identity.group_member.list103 connectors |
vercel.integrations_search_repo.search_repoList git repositories linked to namespace by provider | List git repositories linked to namespace by provider | read | devops.repository.list28 connectors |
vercel.projects.create_projectCreate a new project | Create a new project | write | devops.repository.create18 connectors |
vercel.deployments.create_deploymentCreate a new deployment | Create a new deployment | write | devops.deployment.create17 connectors |
vercel.access_groups.list_access_groupsList access groups for a team, project or member | List access groups for a team, project or member | read | identity.group.list262 connectors |
vercel.access_groups_members.list_access_group_membersList members of an access group | List members of an access group | read | identity.group_member.list103 connectors |
vercel.projects.delete_projectDelete a Project | Delete a Project | destructive | devops.repository.delete20 connectors |
vercel.projects_custom_environments.get_projects_by_id_or_name_custom_environmentsRetrieve custom environments | Retrieve custom environments | read | devops.environment.list24 connectors |
vercel.projects_custom_environments.create_custom_environmentCreate a custom environment for the current project. | Create a custom environment for the current project. | write | devops.environment.create18 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.
- Readread
List our Vercel repositories with their visibility and default branch.
calls
vercel.projects.get_projects - Planread
Gather everything about a bad deployment in Vercel.
calls
vercel.deployments_events.get_deployment_eventsvercel.projects_deployments.get_runtime_logsvercel.deployments_checks.get_all_checksvercel.deployments_feature_flags.get_deployment_feature_flagsvercel.deployments_aliases.list_deployment_aliases+1 more - Planwrite
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_availabilityvercel.registrar_domains.get_domain_pricevercel.registrar_domains.buy_single_domainvercel.projects_domains.add_project_domainvercel.domains_verification.get_domain_verification_record - Writewrite
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
account { op: "plans.install", slug: "vercel-audit-project-domains" }
# then ask for it by name; a schedule can run it on a timetableGovernance 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.
Delete a Project?
intent: the user asked me to delete a Project
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: "[email protected]" }, { match: "vercel.teams.delete_team", approver: "[email protected]" }, { match: "vercel.access_groups.delete_access_group", approver: "[email protected]" } ]}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.
- 1upstream call per actionall 414 Vercel actions
- 414actions pageeach page of a long list is one call
- 167reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Vercel action.
414 actions by area: the id your agent calls, what it does, and its effect.
Projects32
vercel.projects.create_projectCreate a new projectwritevercel.projects.get_projectFind a project by id or namereadvercel.projects.get_projectsRetrieve a list of projectsreadvercel.projects.update_projectUpdate an existing projectwritevercel.projects.delete_projectDelete a Projectdestructivevercel.projects_avatar.upload_project_avatarUpload a project avatarwrite- and 26 more in this area
Sandboxes30
vercel.sandboxes_drives.list_drivesList drivesreadvercel.sandboxes_sessions.create_session_directoryCreate a directorywritevercel.sandboxes_sessions.list_sessionsList sessionsreadvercel.sandboxes_snapshots.list_session_snapshotsList snapshotsreadvercel.sandboxes.create_sandboxes_v2Create a named sandboxwritevercel.sandboxes.create_sandboxes_v3Create a named sandboxwrite- and 24 more in this area
Domains28
vercel.registrar_domains.buy_domainsBuy multiple domainswritevercel.registrar_domains.buy_single_domainBuy a domainwritevercel.registrar_domains.transfer_in_domainTransfer-in a domaindestructivevercel.registrar_tlds.get_supported_tldsGet supported TLDsreadvercel.domains.create_or_transfer_domainAdd an existing domain to the Vercel platformwritevercel.domains.delete_domainRemove a domain by namedestructive- and 22 more in this area
VCR25
vercel.tags.get_by_team_slug_by_project_slug_by_repository_name_tags_listList image tagsreadvercel.vcr.create_repositoryCreate a repositorywritevercel.vcr.list_repository_imagesList repository imagesreadvercel.vcr.list_repository_tagsList repository tagsreadvercel.blobs.create_by_team_slug_by_project_slug_by_repository_name_blobs_uploadsStart a blob uploadwritevercel.blobs.delete_by_team_slug_by_project_slug_by_repository_name_blobs_by_digestDelete a blobdestructive- and 19 more in this area
Marketplace24
vercel.installations_billing.submit_invoiceSubmit Invoicewritevercel.installations_billing.submit_prepayment_balancesSubmit Prepayment Balanceswritevercel.installations_member.get_memberGet Member Informationreadvercel.installations_resources.get_integration_resourcesGet Integration Resourcesreadvercel.installations.update_installationUpdate Installationwritevercel.installations_account.get_account_infoGet Account Informationread- and 18 more in this area
Feature flags21
vercel.deployments_feature_flags.get_deployment_feature_flagsRetrieve the feature flags of a deploymentreadvercel.projects_feature_flags.list_flag_versionsList flag versionsreadvercel.projects_feature_flags.list_flagsList flagsreadvercel.projects_feature_flags.list_flags_v2List flagsreadvercel.projects_feature_flags.create_flagCreate a flagwritevercel.projects_feature_flags.create_flag_segmentCreate a segmentwrite- and 15 more in this area
Edge config18
vercel.global_config_token.create_edge_config_tokenCreate a Global Config tokenwritevercel.global_config_token.get_edge_config_tokenGet Global Config token meta datareadvercel.global_config_tokens.delete_edge_config_tokensDelete one or more Global Config tokensdestructivevercel.global_config_tokens.get_edge_config_tokensGet all tokens of a Global Configreadvercel.global_config.create_edge_configCreate a Global Configwritevercel.global_config.delete_edge_configDelete a Global Configdestructive- and 12 more in this area
Teams16
vercel.teams.create_teamCreate a Teamwritevercel.teams.get_teamGet a Teamreadvercel.teams.get_teamsList all teamsreadvercel.teams_members.get_team_membersList team membersreadvercel.teams.delete_teamDelete a Teamdestructivevercel.teams.patch_teamUpdate a Teamwrite- and 10 more in this area
Checks15
vercel.deployments_check_runs.list_deployment_check_runsList check runs for a deploymentreadvercel.deployments_checks.get_all_checksRetrieve a list of all checksreadvercel.projects_checks.list_check_runsList runs for a checkreadvercel.projects_checks.list_project_checksList all checks for a projectreadvercel.deployments_check_runs.create_deployment_check_runCreate a check runwritevercel.deployments_check_runs.get_deployment_check_runGet a check runread- and 9 more in this area
Connect13
vercel.connect_connectors.create_connectorCreate a connectorwritevercel.connect_connectors.get_connectorGet a connectorreadvercel.connect_connectors.list_connectorsList connectorsreadvercel.connect_token.get_connector_tokenGet a Connect tokenwritevercel.connect_authorize.create_connector_authorization_requestCreate a Connect authorization requestwritevercel.connect_connectors.delete_connectorDelete a connectordestructive- and 7 more in this area
KMS13
vercel.kms_issuers.create_kms_issuer_policyCreate an issuer policywritevercel.kms_issuers.create_kms_signing_keyCreate a signing keywritevercel.kms_issuers.sign_kms_tokenSign a tokenwritevercel.kms_issuers.update_kms_issuer_policyUpdate an issuer policywritevercel.kms_issuers.activate_kms_signing_keyActivate a signing keywritevercel.kms_issuers.create_kms_issuerCreate an issuerwrite- and 7 more in this area
Log drains13
vercel.drains.create_drainCreate a new Drainwritevercel.drains.get_drainsRetrieve a list of all Drainsreadvercel.integrations_log_drains.get_integration_log_drainsRetrieves a list of Integration log drains (deprecated)readvercel.log_drains.get_all_log_drainsRetrieves a list of all the Log Drains (deprecated)readvercel.drains.delete_drainDelete a draindestructivevercel.drains.get_drainFind a Drain by idread- and 7 more in this area
Security13
vercel.security_attack_mode.update_attack_challenge_modeUpdate Attack Challenge modewritevercel.security_firewall.create_security_firewall_config_by_config_version_activateReturns activated WAF configwritevercel.security_firewall.delete_security_firewall_config_by_config_versionReturns activated WAF configdestructivevercel.security_firewall.get_firewall_configRead Firewall Configurationreadvercel.security_firewall.get_security_firewall_configReturns activated WAF configreadvercel.security_firewall.update_firewall_configUpdate Firewall Configurationwrite- and 7 more in this area
AI gateway12
vercel.ai_gateway_rules.create_ai_gateway_ruleCreate rulewritevercel.ai_gateway_rules.list_ai_gateway_rulesList rulesreadvercel.ai_gateway_rules.update_ai_gateway_ruleUpdate rulewritevercel.ai_gateway_virtual_model_configs.create_ai_gateway_virtual_model_configCreate virtual model configwritevercel.ai_gateway_rules.delete_ai_gateway_ruleDelete ruledestructivevercel.ai_gateway_virtual_model_configs.delete_ai_gateway_virtual_model_configDelete virtual model configdestructive- and 6 more in this area
Access groups11
vercel.access_groups.create_access_groupCreates an access groupwritevercel.access_groups.list_access_groupsList access groups for a team, project or memberreadvercel.access_groups.read_access_groupReads an access groupreadvercel.access_groups_members.list_access_group_membersList members of an access groupreadvercel.access_groups.delete_access_groupDeletes an access groupdestructivevercel.access_groups.update_access_groupUpdate an access groupwrite- and 5 more in this area
Environment11
vercel.env.create_shared_env_variableCreate one or more shared environment variableswritevercel.env.list_shared_env_variableLists all Shared Environment Variables for a teamreadvercel.projects_custom_environments.create_custom_environmentCreate a custom environment for the current project.writevercel.projects_custom_environments.get_projects_by_id_or_name_custom_environmentsRetrieve custom environmentsreadvercel.env.delete_shared_env_variableDelete one or more Env Vardestructivevercel.env.get_shared_env_varRetrieve the decrypted value of a Shared Environment Variable by id.read- and 5 more in this area
Networking11
vercel.connect_networks.create_networkCreate a Secure Compute networkwritevercel.connect_networks.list_networksList Secure Compute networksreadvercel.networking_privatelink.create_private_link_endpointCreate a PrivateLink endpointwritevercel.networking_privatelink.list_private_link_endpointsList PrivateLink endpointsreadvercel.connect_networks.delete_networkDelete a Secure Compute networkdestructivevercel.connect_networks.read_networkRead a Secure Compute networkread- and 5 more in this area
Deployments9
vercel.deployments.create_deploymentCreate a new deploymentwritevercel.deployments.delete_deploymentDelete a Deploymentdestructivevercel.deployments.get_deploymentGet a deployment by ID or URLreadvercel.deployments.get_deploymentsList deploymentsreadvercel.deployments_cancel.cancel_deploymentCancel a deploymentdestructivevercel.deployments_events.get_deployment_eventsGet deployment eventsread- and 3 more in this area
Integrations9
vercel.integrations_configuration.get_configuration_productsList products for integration configurationreadvercel.integrations_configurations.get_configurationsGet configurations for the authenticated user or teamreadvercel.integrations_git_namespaces.git_namespacesList git namespaces by providerreadvercel.integrations_search_repo.search_repoList git repositories linked to namespace by providerreadvercel.integrations_configuration.delete_configurationDelete an integration configurationdestructivevercel.integrations_configuration.get_configurationRetrieve an integration configurationread- and 3 more in this area
Other8
vercel.api_keys.create_api_keyscreateApiKeyswritevercel.domains_records.get_domains_records_by_record_idgetDomainsRecordsByRecordIdreadvercel.observability.get_observability_schemagetObservabilitySchemareadvercel.observability.get_observability_schema_by_metric_idgetObservabilitySchemaByMetricIdreadvercel.domains_records.replace_domains_by_domain_recordsreplaceDomainsByDomainRecordswritevercel.observability.create_observability_querycreateObservabilityQuerywrite- and 2 more in this area
Project routes8
vercel.projects_routes.add_routeAdd a routing rulewritevercel.projects_routes.generate_routeGenerate a routing rule from natural languagewritevercel.projects_routes.get_route_versionsGet routing rule version historyreadvercel.projects_routes.get_routesGet project routing rulesreadvercel.projects_routes.delete_routesDelete routing rulesdestructivevercel.projects_routes.edit_routeEdit a routing rulewrite- and 2 more in this area
Rolling releases8
vercel.projects_rolling_release.approve_rolling_release_stageUpdate the active rolling release to the next stage for a projectwritevercel.projects_rolling_release.complete_rolling_releaseComplete the rolling release for the projectwritevercel.projects_rolling_release.get_rolling_releaseGet the active rolling release information for a projectreadvercel.projects_rolling_release.start_rolling_releaseStart a rolling release for the projectwritevercel.projects_rolling_release.delete_rolling_release_configDelete rolling release configurationdestructivevercel.projects_rolling_release.get_rolling_release_billing_statusGet rolling release billing statusread- and 2 more in this area
Bulk redirects7
vercel.bulk_redirects.edit_redirectEdit a project-level redirect.writevercel.bulk_redirects.get_redirectsGets project-level redirects.readvercel.bulk_redirects.get_versionsGet the version history for a project's redirects.readvercel.bulk_redirects.restore_redirectsRestore staged project-level redirects to their production version.writevercel.bulk_redirects.delete_redirectsDelete project-level redirects.destructivevercel.bulk_redirects.stage_redirectsStages new redirects for a project.write- and 1 more in this area
Aliases6
vercel.aliases.get_aliasGet an Aliasreadvercel.aliases.list_aliasesList aliasesreadvercel.deployments_aliases.assign_aliasAssign an Aliaswritevercel.deployments_aliases.list_deployment_aliasesList Deployment Aliasesreadvercel.aliases.delete_aliasDelete an Aliasdestructivevercel.aliases.patch_url_protection_bypassUpdate the protection bypass for a URLwrite
Artifacts6
vercel.artifacts.artifact_queryQuery information about an artifactreadvercel.artifacts.delete_all_artifactsDelete all cache artifactsdestructivevercel.artifacts.download_artifactDownload a cache artifactreadvercel.artifacts.upload_artifactUpload a cache artifactwritevercel.artifacts_events.record_eventsRecord an artifacts cache usage eventwritevercel.artifacts_status.statusGet status of Remote Caching for this principalread
Authentication5
vercel.integrations_sso.exchange_sso_tokenSSO Token Exchangewritevercel.user_tokens.create_auth_tokenCreate an Auth Tokenwritevercel.user_tokens.get_auth_tokenGet Auth Token Metadatareadvercel.user_tokens.list_auth_tokensList Auth Tokensreadvercel.user_tokens.delete_auth_tokenDelete an authentication tokendestructive
Certs5
vercel.certs.get_cert_by_idGet cert by idreadvercel.certs.get_certsGet certsreadvercel.certs.issue_certIssue a new certwritevercel.certs.remove_certRemove certdestructivevercel.certs.upload_certUpload a certwrite
Microfrontends5
vercel.microfrontends.create_microfrontends_group_with_applicationsCreate a microfrontends group with applicationswritevercel.microfrontends.get_microfrontends_configGet microfrontends config for a deploymentreadvercel.microfrontends.get_microfrontends_groupsList microfrontends groupsreadvercel.microfrontends.get_microfrontends_in_groupList projects in a microfrontends groupreadvercel.microfrontends.get_microfrontends_config_for_projectGet microfrontends config for a projectread
Analytics4
vercel.query.aggregate_eventsAggregates custom eventsreadvercel.query.aggregate_pageviewsAggregates page viewsreadvercel.query.count_eventsCounts custom eventsreadvercel.query.count_pageviewsCounts page viewsread
DNS4
vercel.domains_records.create_recordCreate a DNS recordwritevercel.domains_records.get_recordsList existing DNS recordsreadvercel.domains_records.remove_recordDelete a DNS recorddestructivevercel.domains_records.update_recordUpdate an existing DNS recordwrite
Edge cache4
vercel.edge_cache_dangerously_delete_by_src_images.dangerously_delete_by_src_imagesDangerously delete by source imagedestructivevercel.edge_cache_dangerously_delete_by_tags.dangerously_delete_by_tagsDangerously delete by tagdestructivevercel.edge_cache_invalidate_by_src_images.invalidate_by_src_imagesInvalidate by source imagewritevercel.edge_cache_invalidate_by_tags.invalidate_by_tagsInvalidate by tagwrite
User4
vercel.events.list_event_typesList Event Typesreadvercel.events.list_user_eventsList User Eventsreadvercel.user.get_auth_userGet the Userreadvercel.user.request_deleteDelete User Accountdestructive
Webhooks4
vercel.webhooks.create_webhookCreates a webhookwritevercel.webhooks.delete_webhookDeletes a webhookdestructivevercel.webhooks.get_webhookGet a webhookreadvercel.webhooks.get_webhooksGet a list of webhooksread
Billing3
vercel.billing.buy_creditsPurchase creditswritevercel.billing.list_billing_chargesList FOCUS billing chargesreadvercel.billing.list_contract_commitmentsList FOCUS contract commitmentsread
Project members3
vercel.projects_members.add_project_memberAdds a new member to a project.writevercel.projects_members.get_project_membersList project membersreadvercel.projects_members.remove_project_memberRemove a Project Memberdestructive
Storage3
vercel.storage_stores.create_storage_stores_blobCreate a Blob storewritevercel.storage_stores.delete_storage_stores_blob_by_idDelete a Blob storedestructivevercel.storage_stores.get_storage_stores_by_idGet a storeread
Observability2
vercel.observability.get_observability_configuration_projectsLists disabled Observability Plus projectsreadvercel.observability.update_observability_configuration_projectUpdates a disabled Observability Plus project settingwrite
Logs1
vercel.projects_deployments.get_runtime_logsGet logs for a deploymentread
This index shows a sample of each area. All 414 actions, with their inputs and prices, are in the 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.
Give your agent Vercel today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.