protogrid

Search / com.vercel/vercel-mcp

vercel-mcp

R2· OAuth, once

An MCP server for Vercel

v0.0.3 · active · repository · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality82good
Trust85of 100
Uptime, 30 days100%
Latency p50174 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "vercel-mcp": {
      "type": "http",
      "url": "https://mcp.vercel.com"
    }
  }
}
claude mcp add --transport http vercel-mcp https://mcp.vercel.com
[mcp_servers.vercel-mcp]
url = "https://mcp.vercel.com"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vercel-mcp": {
      "type": "remote",
      "url": "https://mcp.vercel.com",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "vercel-mcp": {
      "type": "http",
      "url": "https://mcp.vercel.com"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=vercel-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnZlcmNlbC5jb20ifQ%3D%3D"
}
{
  "servers": {
    "vercel-mcp": {
      "type": "http",
      "url": "https://mcp.vercel.com"
    }
  }
}
{
  "mcpServers": {
    "vercel-mcp": {
      "httpUrl": "https://mcp.vercel.com"
    }
  }
}
extensions:
  "vercel-mcp":
    enabled: true
    name: "vercel-mcp"
    type: streamable_http
    uri: "https://mcp.vercel.com"
    timeout: 300

Quality 82 / 100good

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization83 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • warn
    auth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations45 of 46 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints14 of 46 tools declare all four hints; missing: get_project_deployment_protection (idempotentHint, openWorldHint); update_project_deployment_protection (openWorldHint); get_deployment (idempotentHint, openWorldHint); …
  • warn
    tools.token_costabout 14,435 tokens to load every tool
  • warn
    tools.api_dump46 tools, 65% named like REST operations: looks like an API mapped one endpoint per tool
stability100 · weight 15
  • pass
    stability.changes2 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

46 tools, about 14,435 tokens to load them all · tool set 6acc96345508 · tools last changed 2026-09-25 · checked 2026-10-20 13:17 UTC

Tool changes

  • web_fetch_vercel_urlchangedinput schema
  • get_access_to_vercel_urlchangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 85 / 100

provenance85
liveness100
freshness45
hygiene100

+repository +namespace-matches-repo +dns-namespace -thin-description +reachable +uptime-100% -stale-279d

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.vercel.com streamable-httpoauth2 AS: https://vercel.comyes100%174 ms–2026-10-20

Tools (46)

add_toolbar_reactionAdd an emoji reaction to a message in a toolbar thread.
buy_addondestructiveExecutes a Vercel add-on purchase (currently only "siem"), by integer quantity, previously quoted by get_purchase_quote — quoting first is REQUIRED; this tool rejects un-quoted calls. Get the quote, present it to the user for explicit approval (use a structured question tool such as AskUserQuestion when available), then call with confirm:true, the quote's idempotencyKey, and the same parameters. The team must be on the Flex plan. No price quote exists for add-ons; the charge is non-refundable. The quote returns required disclosures the assistant must relay before approval: the payment method (default card on file), that taxes/fees may apply on top of the price, the item terms (Flex plan required, billed on the next invoice), and a full-terms link.
buy_creditsdestructiveExecutes a prepaid Vercel credits purchase (v0, AI Gateway, or Vercel Agent) previously quoted by get_purchase_quote — quoting first is REQUIRED; this tool rejects un-quoted calls. Get the quote, present it to the user for explicit approval (use a structured question tool such as AskUserQuestion when available), then call with confirm:true, the quote's idempotencyKey, and the same parameters. When the user has not named an amount, offer quick-picks — $10, $25, $50, or $100 — or let them enter any custom amount ($1–$1000); do not just quote the range. Some credit types require a plan: Vercel Agent credits require the team to be on Vercel Pro (use buy_pro first), and v0 credits require a paid v0 plan (set up at v0.dev); AI Gateway credits have no plan prerequisite. If the required plan is missing the purchase is rejected (nothing is charged) with guidance. The charge is immediate and non-refundable. The quote returns required disclosures the assistant must relay before approval: the payment method (default card on file), that taxes/fees may apply on top of the base price, the item terms (credits expire in one year), and a full-terms link.
buy_domaindestructiveExecutes a single-domain registration previously quoted by get_purchase_quote (product:domain) — quoting first is REQUIRED; this tool rejects un-quoted calls. Get the quote, present it to the user for explicit approval (use a structured question tool such as AskUserQuestion when available), then call with confirm:true, the quote's idempotencyKey, the expectedPrice and years from the quote, and the full registrant contact to execute the non-refundable purchase. Vercel stores no reusable registrant profile, so contact details must be supplied each time. The quote returns required disclosures the assistant must relay before approval: the payment method (default card on file), that taxes/fees may apply on top of the price, the item terms (non-refundable), and, when auto-renew is on, the recurring-charge terms in disclosures.subscription (renews automatically each term at the then-current price until auto-renew is turned off), plus a full-terms link.
buy_prodestructiveExecutes a Vercel Pro upgrade previously quoted by get_purchase_quote — quoting first is REQUIRED; this tool rejects un-quoted calls. Get the quote, present it to the user for explicit approval (use a structured question tool such as AskUserQuestion when available), then call with confirm:true, the quote's idempotencyKey, and the same parameters. This starts RECURRING Pro billing immediately at the standard Pro price. The quote returns required disclosures the assistant must relay before approval: the payment method (default card on file), that taxes/fees may apply on top of the price, the subscription terms (recurring monthly charge, no trial, cancel anytime in billing settings), and a full-terms link.
change_toolbar_thread_resolve_statusChange the resolve status of a toolbar thread. Can be used to mark a thread as resolved or unresolve a previously resolved thread.
check_domain_availability_and_priceread-onlyCheck if domain names are available for purchase and get pricing information
deploy_to_vercelDeploy a small, simple project from inline file contents only when the Vercel CLI is unavailable and no usable remote git repository exists, or the user explicitly requests an inline file deployment. Prefer the Vercel CLI for local projects: it reads and uploads files directly without reproducing source as model output. If the intended source is pushed to a repository's production branch, use create_git_project. Do not reconstruct medium or large projects, binary assets, or dependency trees in tool arguments. This remote tool cannot read local paths or attachments: files with actual contents are required. Limits: 300 files, 3 MiB per file, 4 MiB total encoded contents. Creation is asynchronous; poll get_deployment until READY, ERROR, or CANCELED before reporting the build outcome.
edit_toolbar_messageEdit an existing message in a toolbar thread.
get_access_to_vercel_urlread-onlyCreates a temporary shareable link that bypasses authentication for protected Vercel deployments. When you encounter a Vercel deployment URL (like https://myapp-abc123.vercel.app), you might receive a 403 (Forbidden) error when trying to access it. This tool generates a special URL with a '_vercel_share' parameter that allows temporary access without requiring login credentials. The shareable URL will expire in 23 hours. When you use the returned URL, that URL will redirect and set an auth cookie. If your fetch implementation does not support cookies, use the 'web_fetch_vercel_url' tool instead.
get_agent_runread-onlyGet detailed metadata for a single Agent Run from an eve agent, including events, workflow metadata, usage, and subagent breakout data. Use list_agent_runs first if you need to discover a run ID.
get_agent_run_traceread-onlyGet one page of the trace for a single Agent Run from an eve agent, including turns, messages, reasoning, tool calls, token usage, and tool input/output when available. To read all available turns, follow the trace payload’s later cursor until absent; use earlier to read backwards. Pages can overlap: deduplicate turns by ID, keeping the more complete turn. Use maxFieldLength: 0 to preserve full string content.
get_bulk_availabilityread-onlyGet availability for multiple domains. If the domains are available, they can be purchased using the [Buy a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-a-domain) endpoint or the [Buy multiple domains](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-multiple-domains) endpoint.
get_bulk_priceread-onlyGet price data for multiple domains in a single request.
get_contact_info_schemaread-onlySome TLDs require additional contact information. Use this endpoint to get the schema for the tld-specific contact information for a domain.
get_deploymentread-onlyGet a specific deployment by ID or URL.
get_deployment_build_logsread-onlyGet the build logs for a deployment by ID or URL, to investigate why a build failed. Returns the most recent lines by default (where build errors appear). Use errorsOnly to see just the failing lines. Omit since and until for latest logs; use since to narrow the window and omit until when the end should be the current time.
get_domain_availabilityread-onlyGet availability for a specific domain. If the domain is available, it can be purchased using the [Buy a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-a-domain) endpoint or the [Buy multiple domains](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/buy-multiple-domains) endpoint.
get_domain_orderread-onlyGet the status of a domain purchase order returned by buy_domain, to confirm whether the registration completed.
get_domain_priceread-onlyGet price data for a specific domain
get_git_deployment_contextread-onlyLists the user's Vercel teams with each team's plan, connected Cursor Origin workspaces, and linked Git projects.
get_projectread-onlyGet a specific project in Vercel
get_project_deployment_protectionread-onlyGet the effective password protection, Vercel Authentication, and Trusted IP settings for a Vercel project. Password values are never returned.
get_purchase_quoteread-onlyRead-only price quote for a Vercel purchase. NEVER charges. This is the ONLY way to obtain an idempotencyKey — the buy_* tools no longer quote and reject un-quoted calls, so this is the REQUIRED first step before any buy_* tool. It returns the cost (when Vercel exposes one) and an idempotencyKey to pass to the matching buy tool (buy_credits, buy_domain, buy_addon, buy_pro) with confirm:true within 5 minutes to execute the charge. Present the quote to the user for explicit approval (use a structured question tool such as AskUserQuestion when available) before confirming. Products with no API price (add-ons, Pro) return a priceNote and billing URL instead of a number. Every quote includes a disclosures object the assistant must relay to the user before approval: the payment method (default card on file), that taxes/fees may apply on top of the base price, the item terms, and a link to the full terms.
get_runtime_errorsread-onlyGet grouped runtime error clusters for a project (error name, occurrence count, affected routes, sample messages, first/last seen). Use this first to answer "why is production erroring" — it reads a pre-aggregated table and does not time out. For recent windows, pass since like "24h" or "7d" and omit until; until is only needed for historical end times. Max 7-day range.
get_runtime_logsread-onlyGet runtime logs for a project or deployment. Runtime logs show application output (console.log, errors, etc.) from serverless functions and edge functions during execution. Supports filtering by environment, log level, status code, source, time range, and full-text search. For recent windows, pass since like "30m" or "24h" and omit until; until is only needed for historical end times. For wide time ranges, scope to a deploymentId for speed, or use group_by to get counts instead of individual lines. To investigate production errors specifically, prefer get_runtime_errors.
get_tldread-onlyGet the metadata for a specific TLD.
get_tld_priceread-onlyGet price data for a specific TLD. This only reflects base prices for the given TLD. Premium domains may have different prices. Use the [Get price data for a domain](https://vercel.com/docs/rest-api/reference/endpoints/domains-registrar/get-price-data-for-a-domain) endpoint to get the price data for a specific domain.
get_toolbar_threadread-onlyGet a specific toolbar thread by ID, including all messages and context.
get_web_analyticsread-onlyQuery Web Analytics for a Vercel project. Count mode returns total visitors and pageviews (or custom event count). Aggregate mode groups results over time or by dimensions such as route, requestPath, country, referrerHostname, deviceType, browserName, eventName, flags/<name>, or eventData/<property>. Web Analytics must be enabled for the project.
import-claude-design-from-urlImport a design into Vercel from a publicly fetchable URL. The file is a self-contained HTML bundle with all images, fonts, and styles inlined.
list_agent_run_projectsread-onlyList projects in a Vercel team that have Agent Runs observability data for agents built with the eve framework, with run counts and average duration rollups. Use this to discover which projects have eve agent activity before drilling into a project.
list_agent_runsread-onlyList Agent Runs for a Vercel project. Agent Runs are the observability layer for agents built with the eve framework. The response includes summaries, status, model, trigger, token usage, time series, and pagination metadata. Use this to find recent or matching production eve agent runs before fetching detail or trace data.
list_deploymentsread-onlyList all deployments for a project
list_projectsread-onlyList all Vercel projects for a user (with a max of 50). Use this to help discover the Project ID of the project that the user is working on.
list_supported_tldsread-onlyGet a list of TLDs supported by Vercel
list_teamsread-onlyList the user's teams. Use this to help discover the Team ID of the teams that the user is part of.
list_toolbar_threadsread-onlyList Vercel toolbar comment threads for a team. Returns unresolved threads by default. Use this to see feedback, comments, or discussions on deployments and previews.
pause_projectdestructivePause a Vercel project. Its production deployment will stop serving traffic and return 503 DEPLOYMENT_PAUSED until the project is unpaused.
reply_to_toolbar_threadAdd a reply message to an existing toolbar thread.
search_domainsread-onlyStart domain research here. Get registration availability and pricing for 1–200 exact domain names. Returns results in input order, with registration and renewal prices in USD for available domains. No authentication required.
search_vercel_documentationread-onlySearch the Vercel documentation. Use this tool to answer any questions about Vercel’s platform, features, and best practices, including: - Core Concepts: Projects, Deployments, Git Integration, Preview Deployments, Environments - Frontend & Frameworks: Next.js, SvelteKit, Nuxt, Astro, Remix, frameworks configuration and optimization - APIs: REST API, Vercel SDK, Build Output API - Compute: Fluid Compute, Functions, Routing Middleware, Cron Jobs, OG Image Generation, Sandbox, Data Cache - AI: Vercel AI SDK, AI Gateway, MCP, v0 - Performance & Delivery: Edge Network, Caching, CDN, Image Optimization, Headers, Redirects, Rewrites - Pricing: Plans, Spend Management, Billing - Security: Audit Logs, Firewall, Bot Management, BotID, OIDC, RBAC, Secure Compute, 2FA - Storage: Blog, Edge Config
unpause_projectdestructiveUnpause a Vercel project so its production deployment can resume serving traffic and consuming metered resources.
update_project_deployment_protectiondestructivePartially update password protection, Vercel Authentication, and Trusted IPs for a Vercel project. Omitted settings are preserved. Availability depends on the Vercel team plan and caller permissions.
use_vercel_cliInstructs the LLM to use Vercel CLI commands with --help flag for information
web_fetch_vercel_urlread-onlyFetches a Vercel deployment URL and returns the response. This is useful if another web fetch tool returns 401 (Unauthorized) or 403 (Forbidden) for a Vercel URL. Supports accessing deployments protected with Vercel Authentication which the user of this MCP server has access to.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.vercel/vercel-mcp",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.vercel.com",
      "type": "streamable-http"
    }
  ],
  "version": "0.0.3",
  "repository": {
    "url": "https://github.com/vercel/vercel-mcp-overview",
    "source": "github"
  },
  "description": "An MCP server for Vercel"
}