VercelSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.typescriptlang.org/) [](https://vercel.com/) [](https://nodejs.org/) [](https://cursor.sh/) [](https://www.codeium.com/cascade)
🔥 A powerful Model Context Protocol (MCP) server that provides full administrative control over your Vercel deployments through both Cursor's Composer and Codeium's Cascade. This tool enables seamless project management with comprehensive features for deployments, domains, environment variables, and more.
📚 Table of Contents
- Prerequisites
- Quick Start
- Integrations
- Features
- Usage
- Security Notes
- Troubleshooting
- Contributing
- License
🔧 Prerequisites
- Node.js >= 16.x
- npm >= 8.x
- A Vercel account with:
- Access Token
- Team ID (optional)
- Project ID (optional)
- Cursor IDE or Codeium's Cascade (for paying users)
🚀 Quick Start
📥 Installation
# Clone the repository git clone https://github.com/Quegenx/vercel-mcp-server.git cd vercel-mcp-server # Install dependencies npm install # Build the project npm run build
⚙️ Configuration
- Install dependencies and build the project:
npm install npm run build
- Set up your Vercel access token:
- Go to https://verc
2062caedc599OBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add vercel-mcp -- npx -y [email protected]
{
"mcpServers": {
"vercel-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (154)
79 read · 50 write · 25 destructive. Blast radius: 25 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
accept_project_transfer | write | Accept project transfer request |
add_domain | write | Add a domain to a project |
add_env | write | Add environment variables to a project |
add_project_member | write | Adds a new member to a project |
assign_alias | read | Creates a new alias for the deployment with the given deployment ID |
cancel_deployment | read | Cancel a deployment which is currently building |
check_artifact | read | Check that a cache artifact with the given hash exists |
create_access_group | write | Create a new access group |
create_access_group_project | write | Create an access group project |
create_auth_token | write | Creates and returns a new authentication token for the currently authenticated User |
create_deployment | write | Create a new deployment with all required data |
create_dns_record | write | Creates a DNS record for a domain |
create_edge_config | write | Create a new Edge Config |
create_edge_config_token | write | Create a new Edge Config Token |
create_environment | write | Create a custom environment for a project |
create_firewall_bypass | write | Create new system bypass rules |
create_marketplace_event | write | Create a marketplace event |
create_project | write | Create a new project with the provided configuration |
create_secret | write | Create a new secret |
create_team | write | Create a new Team under your account |
create_webhook | write | Creates a webhook |
delete_access_group | destructive | Delete an access group |
delete_access_group_project | destructive | Delete an access group project |
delete_alias | destructive | Delete an Alias with the specified ID |
delete_auth_token | destructive | Invalidate an authentication token |
delete_deployment | destructive | Delete a deployment by ID or URL |
delete_dns_record | destructive | Removes an existing DNS record from a domain name |
delete_edge_config | destructive | Delete an Edge Config |
delete_edge_config_schema | destructive | Delete Edge Config Schema |
delete_edge_config_tokens | destructive | Delete Edge Config Tokens |
delete_env | destructive | Delete an environment variable |
delete_environment | destructive | Remove a custom environment from a project |
delete_firewall_bypass | destructive | Remove system bypass rules |
delete_project | destructive | Delete a specific project |
delete_secret | destructive | Delete a secret |
delete_team | destructive | Delete a team under your account |
delete_user | destructive | Initiates the deletion process for the currently authenticated User |
delete_webhook | destructive | Deletes a webhook |
domain_buy | read | Purchase a domain |
domain_check | read | Check if a domain name is available for purchase |
domain_config | read | Get a Domain |
domain_get | read | Get information for a single domain |
domain_list | read | List all domains |
domain_price | read | Check the price to purchase a domain |
domain_register | write | Register or transfer-in a domain |
domain_registry | write | Get domain transfer info |
domain_remove | destructive | Remove a domain |
domain_update | write | Update or move apex domain |
download_artifact | read | Downloads a cache artifact identified by its hash |
get_access_group | read | Read an access group |
get_access_group_project | read | Read an access group project |
get_alias | read | Retrieves an Alias for the given host name or alias ID |
get_artifact_status | read | Check the status of Remote Caching for this principal |
get_attack_status | read | Retrieve active attack data within the last 24h window |
get_auth_token | read | Retrieve metadata about an authentication token |
get_cert | read | Get certificate by ID |
get_deployment | read | Get deployment by ID or URL |
get_deployment_events | read | Get build logs and events for a deployment |
get_deployment_file | read | Get contents of a specific deployment file |
get_domain | read | Get domain information |
get_edge_config | read | Get an Edge Config |
get_edge_config_backup | read | Get Edge Config Backup |
get_edge_config_item | read | Get an Edge Config Item |
get_edge_config_schema | read | Get Edge Config Schema |
get_edge_config_token | read | Get Edge Config Token |
get_env | read | Get an environment variable |
get_environment | read | Retrieve a custom environment |
get_firewall_bypass | read | Retrieve the system bypass rules |
get_firewall_config | read | Retrieve the firewall configuration |
get_marketplace_account | read | Get marketplace account information |
get_marketplace_invoice | read | Get marketplace invoice details |
get_marketplace_member | read | Get marketplace member information |
get_project_domain | read | Get project domain by project id/name and domain name |
get_promotion_aliases | read | Get promotion aliases |
get_secret | read | Get information for a specific secret |
get_team | read | Get information for a specific team |
get_user | read | Retrieves information related to the currently authenticated User |
get_webhook | read | Get a webhook |
import_marketplace_resource | write | Import a marketplace resource |
int_delete | destructive | Delete an integration configuration |
int_get | read | Retrieve an integration configuration |
int_gitns | read | List git namespaces by provider |
int_list | read | Get configurations for the authenticated user or team |
int_search_repo | read | List git repositories linked to namespace |
int_update_action | write | Update deployment integration action |
invite_team_member | read | Invite a user to join a team |
issue_cert | read | Issue a new certificate |
list_access_group_members | read | List members of an access group |
list_access_group_projects | read | List projects of an access group |
list_access_groups | read | List access groups for a team, project or member |
list_aliases | read | Retrieves a list of aliases for the authenticated User or Team |
list_auth_tokens | read | Retrieve a list of the current User |
list_deployment | read | List deployments under the authenticated user or team |
list_deployment_aliases | read | Retrieves all Aliases for the Deployment with the given ID |
list_deployment_files | read | Get file structure of a deployment |
list_deployments | read | List deployments for a project |
list_dns_records | read | Retrieves a list of DNS records created for a domain name |
list_domains | read | List all domains for a project |
list_edge_config_backups | read | List Edge Config Backups |
list_edge_config_items | read | List Edge Config Items |
list_edge_config_tokens | read | List Edge Config Tokens |
list_edge_configs | read | List all Edge Configs |
list_env | read | List all environment variables |
list_environments | read | List custom environments for a project |
list_project_members | read | Lists all members of a project |
list_projects | read | List all projects from Vercel. Commands: |
list_secrets | read | List all secrets |
list_team_members | read | Get a list of team members |
list_teams | read | Get a list of all teams the authenticated user is a member of |
list_user_events | read | Retrieves a list of events generated by the User on Vercel |
list_webhooks | read | Get a list of webhooks |
logdrain_create | write | Creates a configurable log drain |
logdrain_create_integration | write | Creates an integration log drain |
logdrain_delete | destructive | Deletes a configurable log drain |
logdrain_delete_integration | destructive | Deletes an integration log drain |
logdrain_get | read | Retrieves a configurable log drain |
logdrain_list | read | Retrieves a list of all log drains |
logdrain_list_integration | read | Retrieves a list of integration log drains |
marketplace_invoice_action | read | Perform invoice actions like refund |
marketplace_sso_token_exchange | read | Exchange OAuth code for OIDC token |
pause_project | read | Pause a project |
promote_deployment | read | Promote a deployment |
put_firewall_config | write | Set the complete firewall configuration |
query_artifacts | read | Query information about an array of artifacts |
record_artifact_events | read | Records artifacts cache usage events |
remove_cert | destructive | Remove a certificate |
remove_domain | destructive | Remove a domain from a project |
remove_project_member | destructive | Remove a member from a specific project |
remove_team_member | destructive | Remove a member from a team |
request_project_transfer | write | Request project transfer |
send_web_vitals | write | Send web vitals data to Speed Insights API (Deprecated: Use @vercel/speed-insights package instead) |
sso_token_exchange | read | Exchange OAuth code for OIDC token during SSO authorization |
submit_marketplace_balance | write | Submit prepayment balances |
submit_marketplace_billing | write | Submit marketplace billing data |
submit_marketplace_invoice | write | Submit a marketplace invoice |
update_access_group | write | Update an access group |
update_access_group_project | write | Update an access group project |
update_attack_mode | write | Update the Attack Challenge mode settings |
update_deployment_integration | write | Update deployment integration action status |
update_dns_record | write | Updates an existing DNS record for a domain name |
update_edge_config | write | Update an Edge Config |
update_edge_config_items | write | Update Edge Config Items |
update_edge_config_schema | write | Update Edge Config Schema |
update_env | write | Update an environment variable |
update_environment | write | Update a custom environment |
update_firewall_config | write | Update the firewall configuration |
update_marketplace_secrets | write | Update marketplace resource secrets |
update_project | write | Update an existing project |
update_secret_name | write | Change the name of a secret |
update_team | write | Update team information |
update_team_member | write | Update a team member |
upload_artifact | write | Uploads a cache artifact identified by its hash |
upload_cert | write | Upload a certificate |
upload_deployment_files | write | Upload files required for deployment |
Trust audit
SAFEgrade B · trust 86/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (6 observation(s))
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (8)
delete_access_group, delete_access_group_project, delete_alias, delete_auth_token, delete_deployment, delete_dns_record, delete_edge_config, delete_edge_config_schema, delete_edge_config_tokens, delet
import { registerTeamTools } from "../../components/teams.js";import { registerUserTools } from "../../components/users.js";import { registerAuthTools } from "../../components/auth.js";import { registerAccessGroupTools } from "../../components/accessgroups.js";import { registerSecurityTools } from "../../components/security.js";@modelcontextprotocol/sdk, zod, typescript, @types/node
Gates applied: no_behavioural_pass, no_license.
2062caedc599full audit observations/trust-audit/mcp-server/quegenx__vercel.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | 2062caedc599 | SAFE | B | 86 | first audit |
Questions
What tools does Vercel expose?
154 in total: 79 read-only, 50 that write, and 25 that can delete or overwrite (delete_access_group, delete_access_group_project, delete_alias, delete_auth_token, delete_deployment). Every one is listed on this page with its risk.
Is Vercel safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (86/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 25 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Vercel need?
No credential environment variables were found in its source, so it appears to need none.
How does Vercel run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as vercel-mcp at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (2062caedc599), read on 2026-10-07. The repository is watched and re-audited when it changes.