「Claude Code に修正させた → でもデプロイは手動で git push して、ブラウザで Vercel のダッシュボードを開いて……」。この往復を減らす手段を、Vercel は公式に3つ出している。Vercel MCP(AI ツールから Vercel のプロジェクト・デプロイ・ログを操作するサーバー)、Vercel Plugin(Claude Code や Cursor に Vercel の知識とスラッシュコマンドを足す拡張)、Agent Skills(npx skills add で入れる手順書の束)だ。名前が似ているうえに役割が重なって見えるので、「Agent Skills を MCP で繋ぐ」のような混ざった説明がよく出回っている。

結論から書く:AI エージェントから Vercel へ出す方法は3つのアプローチに分けて考えるとよい。① Git 連携(git push → 自動デプロイ)は個人開発ならこれで足りる。② エディタから直接(Vercel MCP・Vercel Plugin)は、ログを読ませる・環境変数を触らせるなど、デプロイの前後まで AI に任せたい人向け。③ GitHub Actions + Claude Code Actionは、PR コメントで @claude に直させ、テストや承認のゲートを通してから出したいチーム向け。「どれが最強」ではなく「どこまで AI に任せ、どこで人が止めるか」で決まる。

本記事は Vercel と Anthropic の公式ドキュメントの原文を 2026年9月30日に読み直して書いた。設定例・コマンド・プランの条件はその時点のものだ(どちらも更新が速いので、使う前に文中のリンク先で確かめてほしい)。AI推奨Vercel、Cursor解説、AIにインフラ任せていい? も併せて読むと判断しやすい。

AI AGENT × VERCEL

3つのワークフロー——個人 / 日常の操作 / チーム

— AI にどこまで任せ、どこで人が止めるか

APPROACH 1 · 最小
Git 連携型
push すれば Vercel がビルド。PR ごとにプレビューURL
APPROACH 2 · 日常の操作
MCP・Plugin型
AI がデプロイ・ログ・env を扱う。OAuth でログイン
APPROACH 3 · チーム
Actions型
@claude で修正 → 検査を通して公開。レビュー文化と統合

どのアプローチでも プレビューまでは自動、本番は人が承認が基本。
Vercel 自身も MCP のドキュメントで 「人による確認を必ず有効に」と勧めている。

1. 「Agent Skills」「MCP」「Plugin」は別物

AI にコードを書かせても、デプロイの確認は別の画面——ターミナルに戻って git add . && git commit -m "fix" && git push、ブラウザで Vercel のダッシュボードを開き、プレビューURL をコピーして Slack に貼る。この切り替えを減らすために、Vercel は段階的に AI 向けの入口を増やしてきた。

時系列で並べると混同がほどける。2025年8月4日、Vercel MCP が公開ベータになった(Vercel の告知)。https://mcp.vercel.com に置かれた OAuth で認証するリモート MCP サーバーだ。同じ月の 2025年8月には Anthropic の Claude Code GitHub Action の v1.0 が出た(v1.0.0 のタグは 2025-08-25)。2026年3月17日には Vercel Pluginが出て(告知)、2026年7月23日には Vercel MCP からコードを直接デプロイできるようになった(告知)。

そして Agent Skills は MCP ではない。Vercel の Agent Skills のページは、npx skills add <owner/repo> で入れる「エージェントに特定の手順を教える部品」として説明していて、Claude Code・GitHub Copilot・Cursor など18以上のエージェントで使えるとしている。MCP がアカウントへの操作の手段なら、Skills はやり方の知識だ。MCPとは、Claude Agent SDK も参考になる。

2. Vercel の5つの入口——何ができて、どう認証するか

AI エージェントから Vercel に触れる入口を、公式ドキュメントの記述どおりに並べる(2026年9月30日時点)。「何を AI に渡すか」=認証の欄が、事故の大きさを決める。

入口何ができるか入れ方認証条件・注意
Git 連携(Vercel for GitHub など)push のたびにビルド・デプロイ、PR ごとのプレビューURL、本番のロールバックダッシュボードでリポジトリを ImportGitHub App(AI には何も渡さない)非公開リポジトリは、コミットの作者が Vercel 側で権限を持つ必要がある
Vercel CLIvercel deploy・vercel env・vercel rollback など全操作npm i -g vercel対話ログイン、CI では VERCEL_TOKENトークンは強い権限を持つので、CI では Secrets に置く
Vercel MCPデプロイの作成・一覧、ビルドログ・実行ログ、環境変数、ロールバックなどをツールとして呼ぶクライアントに https://mcp.vercel.com を登録OAuth(ブラウザでログインし、使わせるチームを選ぶ)ベータ版・Vercel が審査したクライアントのみ接続可・自分の Vercel アカウントと同じ権限を持つ
Vercel PluginVercel の知識(28 skills)・専門エージェント3つ・スラッシュコマンド5つnpx plugins add vercel/vercel-plugin操作は手元の Vercel CLI 経由Node.js 18 以上と Bun が必要、対応は Claude Code・Cursor・Codex CLI・VS Code など
Agent Skills特定の作業の手順書(例:vercel-deploy・vercel-cli)npx skills add vercel-labs/agent-skillsSkills 自体は認証を持たない実際の操作は CLI や MCP が行う

出典:Vercel MCP・MCP のツール一覧・Vercel Plugin・Agent Skills・コミットでデプロイされないとき(Vercel KB)。

読み方のコツ:「デプロイできる」だけなら Git 連携で足りる。MCP や Plugin が効くのは、ビルドが落ちた理由をログから読ませる、環境変数の差分を見せる、本番を1つ前に戻すといった、デプロイの前後の作業まで会話の中で済ませたいときだ。

3. 3つのアプローチを見渡す

3アプローチの違いを 「AI に渡すもの × 自動化の深さ × 人が止める場所」で整理する。

アプローチAI に渡すもの自動化の深さ人が止める場所向く使い方
1. Git 連携型git の push 権限だけ★★☆☆☆main へのマージ個人開発、小さなチーム
2. MCP・Plugin型Vercel アカウントの権限(OAuth)または CLI のログイン★★★★☆ツール実行ごとの確認ログ調査・env 管理まで AI に任せたい人
3. Actions型リポジトリの Secrets(API キー、必要なら VERCEL_TOKEN)★★★★★PR のレビューと検査ゲートPR レビューが日常のチーム

選び方の目安:「デプロイ後にダッシュボードでログを見に行くことが多い」なら②。「PR レビューが日常で、テストを通ったものだけ出したい」なら③。「個人ブログや小さなアプリ」なら①で十分で、無理に高度化すると保守の手間が上回る。3つは排他ではなく、①を土台に②や③を足す形がふつうだ。

4. アプローチ1:Git 連携(git push で自動デプロイ)

最も基本の構成。Vercel と GitHub を連携しておけば、git push のたびに Vercel がビルドし、終わると反映される。AI の仕事は 「コードを書く」「コミットメッセージを書く」「push する」だけだ。Vercel 自身も GitHub Actions の案内で、Git 連携がプレビューURL・変更されないデプロイ・即時ロールバックを担うので、多くのチームはパイプラインが要らないと書いている。

# セットアップ(1回だけ)
1. Vercel ダッシュボード → Add New → Project
2. GitHub リポジトリを選択 → Import
3. Framework Preset: 自動検出(Next.js など)
4. Environment Variables: 必要に応じて追加
5. Deploy

# 日常フロー(Cursor / Claude Code の中で)
> このボタンを赤色に変えて。終わったら feature/red-button ブランチに push して。

# AI が実行するコマンド
git switch -c feature/red-button
git add app/components/Button.tsx
git commit -m "feat: change primary button to red"
git push -u origin feature/red-button

# Vercel がプレビューをビルド → PR にプレビューURL が付く

この構成の 真の価値は 「ブランチごとにプレビューURLが自動で立つ」こと。Vercel のプレビューURL には、そのブランチの最新を常に指す URLと、そのコミットのデプロイを指す URLの2種類がある(Environments)。本番に出すのは main へのマージだけにしておけば、AI が何度 push してもプレビューで止まる。

注意:Hobby プランは非商用・個人利用に限られる(Hobby プラン)。1日に作れるデプロイは Hobby で100、Pro で6,000、同時に走るビルドは Hobby で1つ(Limits)。AI に細かく push させると、この上限に先に当たる。料金の罠は AI推奨Vercel §5 を参照。

5. アプローチ2:エディタから直接(Vercel MCP・Vercel Plugin)

デプロイの前後まで AI に任せるなら、Vercel MCP か Vercel Plugin を使う。どちらもトークンをファイルに書く必要はない。

Vercel MCP の設定(Cursor):公式の手順では、.cursor/mcp.json(プロジェクト用でも全体用でもよい)に URL を1行書くだけだ。

{
  "mcpServers": {
    "vercel": {
      "url": "https://mcp.vercel.com"
    }
  }
}

追加すると Cursor が接続を試みて Needs login と表示する。これを押すとブラウザで Vercel にログインし、Cursor に使わせるチームを選ぶ。Claude Code なら次の2行だ。

claude mcp add --transport http vercel https://mcp.vercel.com
# claude を起動してから、/mcp で認証する

公式ドキュメントには、複数のクライアントにまとめて登録する npx add-mcp https://mcp.vercel.com も載っている。サーバーを登録しただけでは認証は済んでいない点に注意。ログインしてチームへのアクセスを許すまで、プロジェクトのデプロイもログも見えない(ツール一覧のページ)。

MCP はスラッシュコマンドではなく「ツール」だ。こちらは「最新のデプロイのエラーを調べて」と頼むだけで、AI が次のようなツールを選んで呼ぶ(2026年9月30日時点の一覧から抜粋)。

やりたいことVercel MCP のツール
デプロイを作る(target を省くとプレビュー)create_deployment
デプロイの一覧・状態list_deployments・get_deployment
ビルドの出力・実行時のログとエラーlist_deployment_events・get_runtime_logs・get_runtime_errors
環境変数の追加・編集・一覧create_project_env・edit_project_env・filter_project_envs
本番を前のデプロイへ戻すrequest_rollback
保護されたプレビューの共有リンクget_access_to_vercel_url

Vercel Plugin(npx plugins add vercel/vercel-plugin)は、Vercel の知識とスラッシュコマンド5つを足す。コマンドは名前空間つきで、/vercel-plugin:deploy(prod を付けると本番)、/vercel-plugin:env(list・pull・add・remove・diff)、/vercel-plugin:status、/vercel-plugin:bootstrap、/vercel-plugin:marketplace だ(Vercel Plugin)。deploy コマンドの定義を読むと、中身は手元の Vercel CLI(vercel・vercel --prod)を呼ぶ手順で、既定はプレビュー、本番は利用者の明示の「はい」を待つ作りになっている。/logs や /rollback というコマンドは無い。ログやロールバックは MCP のツールか CLI(vercel rollback)で扱う。

真価は 「対話の中で完結」すること。「この API を追加して、プレビューにデプロイして、エラーが出たらログを見て直して」と頼むと、AI は コード修正 → デプロイ → ビルドログの確認 → 修正 → 再デプロイを順に進める。AIにインフラ任せていい? の区分でいえば、「できるけど任せると危ない」領域に当たる。Vercel は MCP の接続が 自分の Vercel アカウントと同じ権限を AI に渡すと明記し、人による確認を必ず有効にするよう勧めている。ツール実行の承認を自動にしないこと。

6. アプローチ3:GitHub Actions(@claude と検査ゲート)

チーム運用の構成。Claude Code GitHub Actions を入れると、issue や PR のコメントで @claude とメンションするだけで、Claude が修正をコミットし、同じスレッドに返信する。プレビューのデプロイは、アプローチ1の Git 連携がそのまま担う——Claude が PR のブランチに push すれば、Vercel がプレビューを立て直す。

# セットアップ
1. Claude Code の中で /install-github-app を実行(github.com のリポジトリのみ)
2. Claude GitHub App を入れ、ANTHROPIC_API_KEY(または CLAUDE_CODE_OAUTH_TOKEN)を Secrets に保存
3. .github/workflows/claude.yml が PR として届く

# .github/workflows/claude.yml(公式ドキュメントの例)
name: Claude Code
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
jobs:
  claude:
    if: contains(github.event.comment.body, '@claude')
    runs-on: ubuntu-latest
    timeout-minutes: 30          # 暴走を止める(公式が勧める)
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write            # 既定の GitHub App 認証に必要
      actions: read              # PR の CI 結果を読む
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 1
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          claude_args: "--max-turns 10"   # 1回の実行の往復数に上限

timeout-minutes と --max-turns は例として足したもので、公式の「コストを抑える」節が勧める2つだ(値はプロジェクトに合わせる)。既定で回数制限が効くわけではないので、自分で付ける。

GitHub Actions からデプロイもしたい場合——テスト・脆弱性スキャン・性能予算・人の承認をデプロイの前に挟みたいときだけ——は、Vercel の 公式ガイドの形に揃える。Secrets は3つ(VERCEL_TOKEN・VERCEL_ORG_ID・VERCEL_PROJECT_ID。後の2つは vercel link が作る .vercel/project.json にある)。

# .github/workflows/vercel-preview.yml(Vercel の KB の形)
name: Vercel Preview Deployment
env:
  VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
  VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
on:
  push:
    branches-ignore:
      - main
jobs:
  Deploy-Preview:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm install --global vercel@latest
      - run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }}
      # ここにテストやスキャンを挟む
      - run: vercel build --token=${{ secrets.VERCEL_TOKEN }}
      - run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}

# vercel.json —— Git 連携と二重にデプロイしないよう、Git 側の自動デプロイを止める
{ "git": { "deploymentEnabled": false } }

同じガイドは、Git 連携を有効にしたまま Actions でもデプロイすると、同じコミットで両方が動くこと、--prebuilt を付けないと Vercel が同じものをもう一度ビルドすることを落とし穴に挙げている。逆に、テストだけを走らせたいなら Git 連携を残し、deployment_status イベントでプレビューに対してテストを流し、Deployment Checks で本番への昇格を止める形のほうが軽い。

# 運用の例
# 開発者が PR を作る → Git 連携がプレビューを立てる
[Bot] Vercel Preview: https://<プレビューURL>

# レビュアーが PR にコメント
@claude このボタンの hover 時にも色が変わるようにして

# Claude がコミットを足して返信 → Vercel がプレビューを立て直す
# レビュアーが確認 → approve → merge → 本番デプロイ

注意:非公開リポジトリでは、コミットの作者が Vercel のチームのメンバー(Hobby なら所有者本人)でないとデプロイされない(Vercel KB)。Actions の中で作られたコミットでプレビューが立たないときは、まず Vercel Bot のコメントとコミットの作者を確かめる。

この構成で 「PR が終わるまで人がコードを触らない」シナリオが現実的になる。ベテランvs若手、ホワイトカラー消滅論 で書いたとおり、チームはレビューに集中し、実装は AI が担う分業になる。

7. プレビュー環境の使い方——ブランチ→URL→共有

3アプローチに共通して効くのが プレビュー環境を使い倒すこと。Vercel は 本番以外のブランチや PR にプレビューのデプロイを自動で作るので、同じ変更を複数案で並べて比べることが追加の設定なしでできる。

PREVIEW STRATEGY

プレビュー環境の3つの活用パターン

PATTERN 1 · A/B比較
「赤ボタン版」「青ボタン版」を 2つのブランチで作り、URL を2つ並べて決める。AI には 「2案をそれぞれ別ブランチで」と頼む。
PATTERN 2 · ステージング
develop などのブランチを 常設のステージングにする。プレビュー用の環境変数を分けて 本番のDBに触らない。この形は Hobby を含む全プランで使える。
PATTERN 3 · クライアント共有
Deployment Protection で守ったプレビューを、共有リンクで外部の人に見せる。パスワード保護は Hobby 不可・Pro は1プロジェクト月$20。

環境変数は Development / Preview / Production で分けて持てる——ステージング用の値を本番に入れない。
共有リンクは Hobby ではアカウント全体で1つまで。

出典:Environments(ステージングの作り方とプラン)、Password Protection(料金)、Sharable Links(Hobby は1つ)。いずれも2026年9月30日時点。パスワードを使わない既定の保護は Vercel Authentication(チームのメンバーだけが見られる)で、Vercel はこれを推奨の方法としている。

8. 落とし穴4つ——env漏洩・上限と費用・競合・rollback

AI エージェントにデプロイを任せると、次の4つにぶつかりやすい。どれも事前の設定で被害を小さくできる。

4 PITFALLS

AIエージェント運用の4つの落とし穴

PITFALL 1 · env変数の漏洩
AI が .env を git add してしまう。MCP 経由なら 環境変数の値を復号して読めるツールもある。
対策:.gitignore に .env*、GitHub の Push Protection、AI へ「git add . は使わない」指示、ツール実行は毎回確認。
PITFALL 2 · 上限と費用
AI が 小さな修正ごとに pushすると、そのたびにビルドが走る。Hobby は1日100デプロイで止まる。
対策:Pro なら Spend Management、AI へ「最後にまとめて push」指示、不要なブランチは git.deploymentEnabled で自動デプロイを外す。
PITFALL 3 · PR競合
複数の AI エージェントが 同じファイルを同時に編集→マージ衝突。
対策:1PR=1Issue=1エージェントの分業、ブランチの命名規則、CODEOWNERS で必須レビュアーを決める。
PITFALL 4 · rollback漏れ
AI がバグ入りの本番デプロイ → 戻す手順を誰も知らない。
対策:Instant Rollback の手順を先に決める(Hobby は直前のデプロイへ、Pro 以上は過去の本番から選べる)、エラー監視、本番は人の承認。

ガード3点セット:Spend Management(Pro)+ Deployment Checks + エラー監視。
「AI が暴走しても致命傷にならない」状態を先に作る。

出典:MCP の環境変数ツール(get_project_env は復号した値を返す)、Spend Management(Pro と Enterprise の一部で追加料金なし。使用量の確認は数分おきなので、止まるまでに遅れが出る)、Instant Rollback、Git の設定。

よく見かける「Vercel の前に Cloudflare のプロキシを置く」は、ガードとしては勧めない。Vercel は 公式の KB で、外部のプロキシを前に置くと Vercel Firewall が通信を見られなくなり、性能も落ちるとして 推奨しないと書いている。

追加の注意:「AI に本番デプロイを完全自動化」は勧めない。アプローチ②③でも、本番だけは人の最終承認を挟む。AIに渡す情報の注意点 でも触れたが、AI は 悪意のないミスでも本番を壊しうる。プレビュー・ステージングまでは自動、本番は人の承認という 2段階のゲートを設ける。

まとめ

「Claude Code / Cursor から Vercel へのデプロイ」を考えるときは、まず Git 連携・CLI・Vercel MCP・Vercel Plugin・Agent Skills を区別する。MCP は OAuth で繋ぐ操作の手段、Plugin は /vercel-plugin:* のコマンドと知識、Skills は手順書だ。デプロイそのものは、ほとんどの場合 Git 連携で足りる。

選び方は 「どこまで AI に任せ、どこで人が止めるか」で決まる:① 個人開発 → Git 連携型、② ログ調査や env 管理まで任せたい → Vercel MCP・Plugin 型(トークンは書かず OAuth でログイン)、③ PR レビューが日常のチーム → GitHub Actions 型(@claude で修正、デプロイは Git 連携か、検査を挟む Actions + CLI)。プレビュー環境は A/B比較・ステージング・クライアント共有で使い、4つの落とし穴には ツール実行の確認・上限と費用の設定・ロールバック手順・本番の人の承認で備える。

関連記事として、AI推奨Vercel、Vercel AI SDK、v0 vs Bolt vs Lovable、Cursor解説、AIにインフラ任せていい? も併読してほしい。

FAQ

Q. Vercel 以外のホスティング(Cloudflare・Netlify)でも同じことができますか?
A. できる。どちらも公式の MCP サーバーを出している。Cloudflare は OAuth で繋ぐリモート MCP サーバーを用途別に多数用意し、その中に Workers のビルド用もある(Cloudflare の MCP サーバー)。Netlify には Netlify MCP Server がある。選ぶ基準はエージェント連携の有無より、フレームワークとの相性や料金だ。AI推奨Vercel の選択基準も参照。

Q. Claude Code と Cursor、どちらが Vercel デプロイに向いていますか?
A. どちらも Vercel MCP と Vercel Plugin の対応ツールに入っているので、Vercel 側でできることはほぼ同じ。違いは使い方で、Claude Code は ターミナル中心で、GitHub Actions の公式統合がある。Cursor は エディタ中心で、MCP をワンクリックで追加できる。VS Code 派なら Cursor、ターミナル派なら Claude Code が自然だ。

Q. AI に本番デプロイを完全自動化させていいですか?
A. 勧めない。プレビュー・ステージングまでは自動でよいが、本番は必ず人の最終承認を挟む。理由は「悪意がなくても AI が本番を壊しうる」ことと、事故のときの責任があいまいになること。GitHub の Branch Protection で main への直接 push を禁じ、承認つきの PR を必須にする。

Q. .cursor/mcp.json は git に含めていい?
A. Vercel MCP の公式設定なら秘密の値は入らない。中身は https://mcp.vercel.com という URL だけで、認証は OAuth でブラウザ側に残る。チームで共有するためにコミットしてもよい。ただし他の MCP サーバーの API キーをヘッダーに直書きしている場合は別で、そのファイルは git に入れない。CI で使う VERCEL_TOKEN は GitHub の Secrets に置き、ワークフローに直書きしない。

Q. GitHub Actions の費用が心配です。
A. 公式ドキュメントによると、費用は GitHub Actions の実行時間と Claude API のトークンの2つ(サブスクリプションの OAuth トークンで認証すれば、API の従量課金ではなくサブスクリプションの枠を使う)。1回あたりの額は、プロンプトの長さ・作業の複雑さ・コードの規模で変わる。抑え方として公式が挙げるのは、claude_args の --max-turns で往復数に上限、ワークフローにタイムアウト、具体的な @claude の依頼、CLAUDE.md を短く保つこと。回数の上限は既定では付かないので、自分で設定する。