{{One-sentence what-it-does + when to use it. Mention it bypasses the MCP via the REST API with {{ENV_VAR}}. Use when the user wants X, Y, Z programmatically without the {{service}} MCP installed.}}
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Manage Vercel deployments, projects, environment variables, domains, DNS, and build/runtime logs via REST API. Use when the user wants to deploy, check a deploy status, rotate env vars, attach custom domains, or investigate failed builds without the Vercel MCP installed.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Operates Vercel via REST API — deployments, projects, env vars, domains/DNS, logs, teams, webhooks, Edge Config. Prefer over vercel CLI for scripted/team-scoped control.
vercel dev), editing vercel.json in a repo.[ -n "$VERCEL_TOKEN" ] && echo "VERCEL_TOKEN: PRESENT" || echo "VERCEL_TOKEN: MISSING"
Never echo the variable directly — the value would appear in the conversation transcript.
If MISSING, respond to the user with EXACTLY this message (do NOT paraphrase, do NOT suggest manual JSON edits):
I need your vercel credential. Run this in another terminal — it'll open the signup page, validate format, and save it safely with masked input:
teleport-setup add-key vercelThen restart Claude Code (
/exit, thenclaude) and ask me again.
Do NOT suggest editing ~/.claude/settings.local.json manually. The teleport-setup add-key command handles it with backup, validation, and masked input. Stop execution until the user has run the command and restarted.
https://api.vercel.comAuthorization: Bearer $VERCEL_TOKENteamId — #1 silent footgun. Team-scoped tokens calling an endpoint without ?teamId=team_xxx (or slug=) silently fall back to personal scope — wrong/empty results with 200 OK. GET /v2/teams once, cache, append everywhere.v10, update is v9, create project is v11, update project is v9. Guessing 404s; use the table.pagination.next is a unix millisecond value; pass as until= (or since= to walk forward). Project list uses from.x-ratelimit-limit, x-ratelimit-remaining, x-ratelimit-reset (unix sec). Notable: runtime logs 100/min, env create/update 120/min, env delete 60/min, domain create 120/hr, DNS create 100/hr.https://openapi.vercel.sh/ (single large JSON).team (optional) → project (prj_xxx, owns env vars + domain attachments) → deployment (dpl_xxx, has state + target) → event / log line.
| Group | Method · Path |
|---|---|
| Deployments | GET /v6/deployments · GET /v13/deployments/{idOrUrl} · POST /v13/deployments · DELETE /v13/deployments/{id} |
| Deployments | PATCH /v12/deployments/{id}/cancel · GET /v3/deployments/{idOrUrl}/events (logs, follow=1) |
| Projects | GET /v10/projects · POST /v11/projects · GET · PATCH · DELETE /v9/projects/{idOrName} |
| Env vars | GET · POST /v10/projects/{idOrName}/env (POST supports ?upsert=true) |
| Env vars | GET /v1/projects/{idOrName}/env/{id} · PATCH · DELETE /v9/projects/{idOrName}/env/{id} · DELETE /v1/projects/{idOrName}/env (batch) |
| Domains | GET /v5/domains · POST /v7/domains · GET /v6/domains/{domain}/config · POST /v10/projects/{idOrName}/domains |
| DNS | GET /v5/domains/{domain}/records · POST /v2/domains/{domain}/records · DELETE /v1/domains/records/{recordId} |
| Teams | GET /v2/teams |
| Webhooks | GET · POST /v1/webhooks · GET · DELETE /v1/webhooks/{id} |
| Edge Config | GET · POST /v1/edge-config · GET · PATCH /v1/edge-config/{edgeConfigId}/items |
| Logs | GET /v1/projects/{projectId}/deployments/{deploymentId}/runtime-logs |
1. List recent deployments
curl -sL -H "Authorization: Bearer $VERCEL_TOKEN" \
"https://api.vercel.com/v6/deployments?projectId=prj_xxx&limit=10&teamId=team_xxx" \
| jq '.deployments[] | {uid, url, state, target, created, branch: .meta.githubCommitRef}'
2. Set or rotate an env var
Body: key, value, type (encrypted / plain / sensitive / system), target — lowercase array from ["production","preview","development"], optional gitBranch.
curl -sL -X POST -H "Authorization: Bearer $VERCEL_TOKEN" -H "Content-Type: application/json" \
"https://api.vercel.com/v10/projects/prj_xxx/env?upsert=true&teamId=team_xxx" \
-d '{"key":"DATABASE_URL","value":"postgres://…","type":"encrypted","target":["production"]}'
Env var changes do not retroactively affect already-built deployments — trigger a redeploy.
3. Trigger a redeploy from a git source
curl -sL -X POST -H "Authorization: Bearer $VERCEL_TOKEN" -H "Content-Type: application/json" \
"https://api.vercel.com/v13/deployments?teamId=team_xxx&forceNew=1" \
-d '{"name":"my-project","target":"production","gitSource":{"type":"github","repoId":123456789,"ref":"main"}}'
gitSource.type ∈ github / github-limited / gitlab / bitbucket. Set target: "production" explicitly — omitting yields a preview.
teamId on team tokens. Omitting silently falls back to your personal scope — wrong/empty results with 200 OK. Always pass ?teamId=team_xxx.BUILDING | ERROR | INITIALIZING | QUEUED | READY | CANCELED (also DELETED in responses). Don't tight-loop; for production, subscribe to webhook events (deployment.ready, deployment.error, deployment.promoted).target values are lowercase — "production", "preview", "development". Capitalized variants are rejected or stored wrong.pagination.next is a unix millisecond timestamp; pass as until= (or since= to walk forward). Project list uses from./v3/.../events?follow=1 streams; don't loop full history across many deployments.POST /v10/projects/:id/env alone does nothing to running traffic. Trigger POST /v13/deployments after.secrets endpoints are retired. /v3/secrets is gone from the OpenAPI spec; the secret env-var type still shows up in responses with a sunsetSecretId pointing at the replacement env var. Read-only migration artifact — do not POST them.Used skill: Vercel (from teleport catalog).
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
{{One-sentence what-it-does + when to use it. Mention it bypasses the MCP via the REST API with {{ENV_VAR}}. Use when the user wants X, Y, Z programmatically without the {{service}} MCP installed.}}
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Manage Cloudflare DNS zones, Workers, Pages, R2, KV, D1, and analytics via REST API. Use when the user wants to query DNS, deploy a Worker, list R2 buckets, manage KV namespaces, run D1 queries, or check analytics without the Cloudflare MCP installed.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Fetch up-to-date library, framework, and SDK documentation via Context7's search and docs endpoints. Use when the user asks about a library/API (React, Next.js, Prisma, Supabase, Tailwind, Django, Vue, etc.) and you need current docs, not Claude's training-time knowledge. Skip this skill for generic programming questions that don't require library-specific docs.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Operate Discord via its REST API — post/read channel messages, manage guilds + roles, fire webhooks, register slash commands. Use when the user wants a bot to post to a channel, read recent history, run a community admin task, or ship one-way notifications via webhook URL without running a bot process.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AI-first web search via Exa — semantic/neural ranking, category-scoped results, fresh content retrieval, and one-shot answer synthesis with citations. Use when the user needs current web information better ranked than general web search, or a grounded answer with sources.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Read Figma files, component libraries, styles, comments, and export rendered assets (PNG / SVG / JPG / PDF) via Figma's REST API. Use when the user needs programmatic access to design files, to pull node data into code generation, or to export assets without opening the Figma desktop app.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.