# Vercel — MCP server on mcp.ai > Connect your Vercel account and use 146 tools for developer tools straight from your AI agent. Connect with your own API key. Vercel is a platform for frontend frameworks and static sites, enabling developers to host websites and web services that deploy instantly, scale automatically, and require minimal configuration. By: mcp.ai · official Page: https://mcp.ai/vercel ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_vercel?ms=1787291520000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/vercel/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/vercel/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/vercel/skill.md Postman collection (v2.1): https://mcp.ai/vercel/postman.json ## Tools - vercel_add_environment_variable(key: string, slug?: string, type: string, value: string, target: string[], teamId?: string, upsert?: boolean, comment?: string, idOrName: string, gitBranch?: string, customEnvironmentIds?: string[]) — Tool to add an environment variable to a Vercel project. Variables only take effect in subsequent deployments — already-running deployments are not updated. Use after confirming the project exists and - vercel_add_project_domain(name: string, slug?: string, teamId?: string, idOrName: string, redirect?: string, gitBranch?: string, redirectStatusCode?: integer, customEnvironmentId?: string) — Tool to attach a custom domain to a Vercel project. Use when you need to add a domain to a project for production or branch-specific deployments. After adding, the domain must be verified by completin - vercel_assign_alias(id: string, slug?: string, alias: string, teamId?: string, redirect?: string) — Tool to assign an alias to a specific Vercel deployment. Use when you need to associate a custom domain or subdomain with a deployment. - vercel_batch_remove_project_env(ids: string[], slug?: string, teamId?: string, idOrName: string) — Tool to batch remove environment variables from a Vercel project. Use when you need to delete multiple environment variables at once. More efficient than deleting variables one by one when removing mu - vercel_buy_domains(slug?: string, teamId?: string, domains: object[], contactInformation: object) — Tool to purchase multiple domains through Vercel's domain registrar. Use when registering new domains after checking availability and price. Important: Always check domain availability and price befor - vercel_buy_single_domain(years: integer, domain: string, teamId?: string, autoRenew: boolean, expectedPrice: number, contactInformation: object) — Tool to purchase a domain through Vercel's domain registrar. Use when you need to register and buy a domain after confirming availability and pricing. - vercel_check_cache_artifact_exists(hash: string, slug?: string, teamId?: string) — Tool to check if a cache artifact exists by its hash. Use when verifying whether a cache artifact is already stored before upload or when validating artifact availability. - vercel_check_domain_availability(slug?: string, domain: string, teamId?: string) — Tool to check if a domain is available for registration. Read-only: does not reserve or purchase the domain. Use when you need to verify domain availability before purchase. Response field `available= - vercel_check_domain_price(years?: integer, domain: string) — DEPRECATED: Use VERCEL_CHECK_DOMAIN_PRICE2 instead. Tool to check the price for a domain before purchase. Use when evaluating cost and availability prior to domain registration. - vercel_check_domain_price2(years?: integer, domain: string, teamId?: string) — Check pricing for a domain including purchase, renewal, and transfer costs. Use this to evaluate the cost of registering, renewing, or transferring a domain via Vercel. Returns pricing for the specifi - vercel_create_auth_token(name: string, slug?: string, teamId?: string, expiresAt?: integer) — Tool to create a new authentication token. Use when you need to programmatically generate a new auth token with optional expiration. Returns both token metadata and the bearer token value (only provid - vercel_create_deployment(meta?: object, name: string, slug?: string, files?: object[], target?: string, teamId?: string, project?: string, forceNew?: string, gitSource?: object, gitMetadata?: object, deploymentId?: string, monorepoManager?: string, projectSettings?: object, withLatestCommit?: boolean, customEnvironmentSlugOrId?: string, skipAutoDetectionConfirmation?: string) — DEPRECATED: Use VERCEL_CREATE_NEW_DEPLOYMENT instead. Create a new deployment on Vercel. Deploys static files or connects to a Git repository. **File-based deployments**: Provide `name` and `files` ar - vercel_create_dns_record(srv?: object, ttl?: integer, name: string, slug?: string, type: string, https?: object, value?: string, domain: string, teamId?: string, comment?: string, mxPriority?: integer) — Tool to create a new DNS record for a domain. Use when you need to add DNS records such as A, AAAA, CNAME, MX, TXT, SRV, or other record types to a domain managed in Vercel. - vercel_create_edge_config(slug: string, items?: object, teamId?: string, teamSlug?: string) — Creates a new Edge Config for storing key-value data at the edge. Edge Configs enable ultra-low latency data reads from Vercel's edge network. Use this to store feature flags, A/B test configurations, - vercel_create_edge_config_token(slug?: string, label: string, teamId?: string, edgeConfigId: string) — Create a read access token for a specific Edge Config. The generated token is used to authenticate against the Edge Config's endpoint for high-volume, low-latency read operations. Use this when you ne - vercel_create_new_deployment(meta?: object, name: string, slug?: string, files?: object[], target?: string, teamId?: string, project?: string, forceNew?: string, gitSource?: object, gitMetadata?: object, deploymentId?: string, projectSettings?: object, skipAutoDetectionConfirmation?: string) — Tool to create a new deployment. Use when you need to deploy files or a Git commit to a Vercel project. Example for file deployment: { "name": "my-app", "files": [ {"file": "index.html", "data": "