Vercel MCP Pro について
Vercel MCP Pro は、デプロイ、プロジェクト、設定、ログなどのツールを通じて、MCP クライアントから Vercel のアカウントやチームを操作できるようにします。REST API の汎用呼び出し口と読み取り専用モードで、アクセスや変更を制御できます。
主な機能
- 01デプロイとプロジェクトの管理
- 02環境変数の操作
- 03ドメイン、DNS、エイリアス、証明書
- 04ログ、チェック、Webhook
- 05Edge Config とチーム用ツール
- 06REST API 汎用呼び出しと読み取り専用モード
活用シーン
- 01ログを使ったデプロイ失敗の診断
- 02デプロイの昇格またはロールバック
- 03プロジェクトの環境変数管理
- 04読み取り専用での Vercel リソース確認
MCP 対応
Vercel トークン認証により、任意の MCP クライアントに Vercel REST API 操作用の MCP ツールを提供します。`VERCEL_READONLY` 設定は書き込み・削除ツールを停止し、同梱の `/vercel` スキルは Vercel CLI を操作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y vercel-mcp-proVERCEL_TOKENシークレットVercel access token from vercel.com/account/settings/tokensVERCEL_TEAM_IDDefault team scope (empty = personal account)VERCEL_READONLYSet to true to block all write/delete toolsローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
70掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| app | string | いいえ | デプロイアプリ名で絞り込みます。 |
| slug | string | いいえ | リクエストの対象を絞り込むチーム slug(teamId の代替)。 |
| limit | integer | いいえ | 返す項目の最大数です。 |
| since | number | いいえ | このタイムスタンプ(ms)より後に作成されたデプロイのみを対象にします。 |
| state | string | いいえ | カンマ区切りの状態:BUILDING、ERROR、INITIALIZING、QUEUED、READY、CANCELED。 |
| until | number | いいえ | このタイムスタンプ(ms)より前に作成されたデプロイのみを対象にします。 |
| target | enum | いいえ | デプロイターゲットで絞り込みます。production | preview |
| teamId | string | いいえ | リクエストの対象を絞り込む Team ID です。省略した場合は VERCEL_TEAM_ID が使用されます。 |
| projectId | string | いいえ | プロジェクト ID または名前で絞り込みます。 |
詳細
Vercel MCP Pro ▲
最も包括的な Vercel MCP サーバーです。Vercel REST API 全体をカバーする 70 個のツール(デプロイ、プロジェクト、環境変数、ドメイン、DNS、エイリアス、証明書、ログ、チェック、Webhook、エッジ設定、チーム)に加え、
vercel_rawによる任意のエンドポイントへのアクセス手段と、読み取り専用の安全モードを備えています。
Vercel アクセストークンを使って、Claude Code、Claude Desktop、Cursor、ChatGPT などのあらゆる MCP クライアントで利用できます(OAuth フローは不要です)。ターミナルからのデプロイで Vercel CLI を操作する、オプションの /vercel スキルも付属しています。
公式のものではなく、これを選ぶ理由は?
公式 mcp.vercel.com | vercel-mcp-pro | |
|---|---|---|
| 認証 | OAuth(承認済みクライアントのみ) | トークン(どこでも動作し、セルフホスト可能) |
| 対応範囲 | ドキュメント検索、プロジェクト/デプロイの管理、ログの分析 | REST API 全体:環境変数、ドメイン、DNS、エイリアス、証明書、Webhook、エッジ設定、チェック、ログドレインなど |
| エスケープ手段 | — | vercel_raw → 任意のエンドポイントに対応し、100%をカバー |
| 安全性 | — | VERCEL_READONLY=true ですべての書き込みをブロック |
インストール
npx -y vercel-mcp-pro
または、クローンしてローカルでビルドします。
git clone https://github.com/helbertparanhos/vercel-mcp-pro
cd vercel-mcp-pro
npm install && npm run build
設定
- https://vercel.com/account/settings/tokens でトークンを作成します。
.env.exampleを.envにコピーし、値を入力します。
| 変数 | 必須 | 説明 |
|---|---|---|
VERCEL_TOKEN | ✅ | 個人またはチームのアクセストークンです。 |
VERCEL_TEAM_ID | — | デフォルトのチームスコープ(?teamId として挿入されます)。個人アカウントの場合は空欄にします。 |
VERCEL_TEAM_SLUG | — | チームのスラッグによるスコープ指定(VERCEL_TEAM_ID の代替)。 |
VERCEL_READONLY | — | true にすると、すべての書き込み/削除ツールがブロックされます(vercel_raw の GET のみ許可されます)。 |
VERCEL_DISABLE_RAW | — | true にすると、vercel_raw のエスケープハッチが無効になります。 |
VERCEL_TIMEOUT_MS | — | リクエストのタイムアウト(デフォルトは 60000)。 |
VERCEL_MAX_RETRIES | — | 429/5xx/ネットワークエラー時の再試行回数(デフォルトは 3)。 |
クライアントに追加する
Claude Code
claude mcp add vercel-mcp-pro -- npx -y vercel-mcp-pro
または、このプロジェクトの .claude/settings.json の mcpServers に追加します。
"vercel": {
"command": "node",
"args": ["projects/vercel-mcp-pro/dist/index.js"],
"env": {
"VERCEL_TOKEN": "your_token",
"VERCEL_TEAM_ID": "team_xxx"
}
}
Claude Desktop
%APPDATA%\Claude\claude_desktop_config.json(Windows)/~/Library/Application Support/Claude/claude_desktop_config.json(Mac):
{
"mcpServers": {
"vercel": {
"command": "npx",
"args": ["-y", "vercel-mcp-pro"],
"env": { "VERCEL_TOKEN": "your_token", "VERCEL_TEAM_ID": "team_xxx" }
}
}
}
Cursor
同じ設定を .cursor/mcp.json に貼り付けます。
ツール(70)
デプロイ(11)
list_deployments · get_deployment · create_deployment · cancel_deployment · delete_deployment · get_deployment_events · list_deployment_files · get_deployment_file_contents · promote_deployment · rollback_deployment · get_promote_aliases
プロジェクト(7)
list_projects · get_project · create_project · update_project · delete_project · pause_project · unpause_project
環境変数(6)
list_env_vars · get_env_var · create_env_var · bulk_create_env_vars · update_env_var · delete_env_var
ドメイン(9)
list_domains · get_domain · get_domain_config · add_domain · verify_domain · remove_domain · list_project_domains · add_project_domain · remove_project_domain
DNS(4)
list_dns_records · create_dns_record · update_dns_record · delete_dns_record
エイリアス(4)
list_aliases · get_alias · assign_alias · delete_alias
証明書(4)
get_cert · issue_cert · upload_cert · remove_cert
ログ(2)
get_build_logs · get_runtime_logs
チェック(5)
list_checks · get_check · create_check · update_check · rerequest_check
Webhook(3)
list_webhooks · create_webhook · delete_webhook
Edge Config(6)
list_edge_configs · get_edge_config · get_edge_config_items · create_edge_config · update_edge_config_items · delete_edge_config
チームとユーザー(4)
get_user · list_teams · get_team · list_team_members
インテグレーションとログドレイン(4)
list_integrations · list_log_drains · create_log_drain · delete_log_drain
エスケープハッチ(1)
vercel_raw — Vercel REST エンドポイント(メソッド+完全なバージョン付きパス+パラメーター+本文)を任意に呼び出します。ニッチなエンドポイントや新しいエンドポイント(マーケットプレイス、サンドボックス、機能フラグ、アクセスグループ、段階的リリースなど)も含め、100%の網羅性を保証します。チームスコープを自動挿入します。読み取り専用モードでは GET に限り使用できます。
よく使うレシピ
失敗したデプロイを診断する
list_deployments(projectId:"my-app", state:"ERROR") → get_build_logs(idOrUrl:"dpl_...")
プレビューを再ビルドせずに本番環境へ反映する
promote_deployment(projectId:"my-app", deploymentId:"dpl_...")
すばやくロールバックする
rollback_deployment(projectId:"my-app", deploymentId:"dpl_previous")
すべての環境に環境変数を追加する
create_env_var(projectId:"my-app", key:"API_KEY", value:"…", target:["production","preview","development"])
対応していない操作を行う
vercel_raw(method:"GET", path:"/v1/security/firewall/config", params:{ projectId:"my-app" })
/vercel CLI スキル(同梱)
ターミナルからデプロイする場合、このリポジトリには公式の Vercel CLI(vercel deploy、vercel logs、vercel env、vercel rollback)を操作する Claude Code スキルも skill/ に同梱されています。MCP はあらゆるクライアントで API を完全に利用でき、スキルはターミナルでの最もスムーズな git push → deploy ワークフローを実現します。両者は互いに補完し合います。詳しくは skill/SKILL.md をご覧ください。
安全性
VERCEL_READONLY=trueを設定すると、書き込み/削除を行うすべてのツールがブロックされ、読み取りとvercel_rawの GET のみが実行されます。監査や調査に最適です。vercel_rawのパスはサニタイズされます(/v9/…のようなバージョンセグメントで始まる必要があり、スキーム/ホスト/パストラバーサル/制御文字は使用できません)。また、api.vercel.comに制限されます。- 認証、再試行(
Retry-Afterを伴う 429、5xx、ネットワークエラー)、レート制限は自動的に処理されます。トークンが送信されるのはAuthorizationヘッダーのみで、クエリ文字列やログに含まれることはありません。
セキュリティモデル — ガードを信頼する前にお読みください
VERCEL_READONLYがブロックするのは 変更 であり、シークレットの読み取り ではありません。list_env_vars(decrypt:trueを指定)、get_env_var、get_edge_config_itemsなどの読み取りツールは、復号済みの値を返し、読み取り専用モードでも実行されます。それがこれらのツールの目的です。環境内のシークレットをモデルに絶対に公開できない場合は、これらのツールを公開しないでください。または、最小権限のトークンを使用してください。VERCEL_TEAM_IDは利便性のためのスコープであり、セキュリティ境界ではありません。 デフォルトのチームを設定しますが、呼び出しごとに別のteamId/slugを渡すことができます(vercel_raw経由の場合も同様です)。実際の境界となるのは トークン自体のスコープ です。自動化する対象のチーム/プロジェクトに限定したトークンを使用してください。- トークンは本番環境の認証情報として扱ってください。 Vercel アカウント/チームと同じアクセス権が付与されます。スコープを限定したトークンを優先し、
.env(gitignore 対象)またはクライアントのシークレットストアに保管してください。共有したりチャットに貼り付けたりした場合は、ローテーションしてください。
ライセンス
MIT © Helbert Paranhos / Strat Academy
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。