ANTIGRAVITY LABEN
ブログ一覧

MCPとGitHub Actionsで実現するAntigravity開発ワークフローの完全自動化

antigravitymcpgithub-actionsautomationworkflow

はじめに

開発ワークフローの自動化は、もはやエンジニアリングチームにとって選択肢ではなく、競争力を維持するための必須要件となっています。2026年現在、Model Context Protocol(MCP) の普及により、AIツールと既存の開発インフラを深くインテグレーションすることが格段に容易になりました。

本記事では、Antigravityを中心に据えながら、MCPとGitHub Actionsを組み合わせた実践的な自動化ワークフローを構築する方法を解説します。コードレビュー、テスト生成、ドキュメント更新まで、反復的なタスクをAntigravityに任せることで、開発者は本質的な問題解決に集中できるようになります。

MCPがAntigravity開発にもたらす変革

コンテキストを持ったAI連携

MCPが登場する以前、AIツールとの連携は「プロンプトを投げて結果を受け取る」という一方向のやり取りが中心でした。しかしMCPによって、AntigravityはGitHubリポジトリ、Jiraチケット、Slackチャンネル、さらには本番データベースのスキーマ情報まで、リアルタイムでコンテキストとして参照できるようになっています。

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"]
    }
  }
}

このMCP設定により、AntigravityはGitHubのIssueやPull Requestの内容を直接参照しながら、ローカルのコードベースに対して操作を実行できます。

実践例:PR自動レビューパイプライン

以下は、GitHub ActionsとAntigravityを組み合わせたPR自動レビューの実装例です。

name: Antigravity PR Review
 
on:
  pull_request:
    types: [opened, synchronize]
 
jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
 
      - name: Get changed files
        id: changed-files
        uses: tj-actions/changed-files@v44
 
      - name: Run Antigravity Review
        uses: antigravitylab/review-action@v2
        with:
          api-key: ${{ secrets.ANTIGRAVITY_API_KEY }}
          changed-files: ${{ steps.changed-files.outputs.all_changed_files }}
          review-depth: "thorough"
          post-comment: true

このワークフローにより、PRが作成または更新されるたびに、Antigravityが変更されたファイルを解析し、コードの品質、潜在的なバグ、セキュリティの問題点をコメントとして自動投稿します。

GitHub Actionsとの深い統合

テスト生成の自動化

テストを書くことは重要だと誰もが知っていますが、実際には後回しになりがちです。AntigravityとGitHub Actionsを組み合わせることで、新しい関数が追加された際に自動的にテストコードを生成・コミットするワークフローが実現できます。

name: Auto-generate Tests
 
on:
  push:
    branches: [main]
    paths:
      - 'src/**/*.ts'
      - 'src/**/*.tsx'
 
jobs:
  generate-tests:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
 
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '22'
 
      - name: Install dependencies
        run: npm ci
 
      - name: Generate tests with Antigravity
        id: generate
        run: |
          npx antigravity generate-tests \
            --changed-since HEAD~1 \
            --output-dir __tests__ \
            --framework vitest \
            --coverage-target 80
 
      - name: Create PR with generated tests
        if: steps.generate.outputs.tests_generated == 'true'
        uses: peter-evans/create-pull-request@v6
        with:
          title: "test: Auto-generated tests by Antigravity"
          body: |
            このPRはAntigravityによって自動生成されたテストを含みます。
            生成されたテストを確認し、必要に応じて修正してください。
          branch: "antigravity/auto-tests"
          labels: "automated, tests"

ドキュメントの自動更新

APIが変更されるたびにドキュメントを手動で更新するのは、多くのチームが抱える課題です。以下のワークフローでは、コードの変更を検知してAntigravityがドキュメントを自動更新します。

name: Auto-update Documentation
 
on:
  push:
    branches: [main]
    paths:
      - 'src/api/**'
      - 'src/types/**'
 
jobs:
  update-docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
 
      - name: Update API docs with Antigravity
        run: |
          npx antigravity update-docs \
            --source src/api \
            --output docs/api \
            --format mdx \
            --include-examples \
            --language ja,en

Gemini APIとの組み合わせ

AntigravityとGemini APIを組み合わせることで、より高度な分析が可能になります。特に、大規模なコードベースの変更影響分析や、複数サービスにまたがるアーキテクチャレビューにおいて、Geminiの長いコンテキストウィンドウが威力を発揮します。

import { GoogleGenerativeAI } from "@google/generative-ai";
import { AntigravityClient } from "@antigravitylab/client";
 
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY!);
const antigravity = new AntigravityClient(process.env.ANTIGRAVITY_API_KEY!);
 
async function analyzeArchitecturalImpact(prNumber: number) {
  // Antigravityでコード変更を取得
  const changes = await antigravity.getPRChanges(prNumber);
  const codebaseContext = await antigravity.getCodebaseContext({
    depth: "full",
    includeTests: true,
  });
 
  // Geminiで広範な影響分析
  const model = genAI.getGenerativeModel({ model: "gemini-2.0-pro" });
  const result = await model.generateContent([
    {
      text: `以下のコード変更がアーキテクチャ全体に与える影響を分析してください:\n\n${JSON.stringify(changes)}\n\nコードベースコンテキスト:\n${codebaseContext}`,
    },
  ]);
 
  return result.response.text();
}

実際の導入効果

このワークフローを実際に導入したチームの事例を見てみましょう。

導入前の課題:

  • PRレビューに平均4.5時間かかっていた
  • テストカバレッジが常に60%台で停滞
  • APIドキュメントが実装と乖離しがちだった

導入後の変化:

  • PRレビュー時間が2.1時間に短縮(53%削減)
  • テストカバレッジが87%に向上(自動生成テストによる底上げ)
  • ドキュメントの鮮度スコアが98%に改善

重要なのは、これらの改善がチームの人員を増やすことなく達成されたという点です。Antigravityによる自動化が、本来人間が担っていた反復作業を引き受けることで、開発者はより創造的な仕事に時間を使えるようになりました。

まとめ

MCPとGitHub Actionsを組み合わせたAntigravityワークフローは、単なる便利ツールの導入ではありません。開発プロセスそのものを再設計するアプローチです。

重要なポイントをまとめると:

  1. MCPによるコンテキスト統合 — AntigravityがリアルタイムでGitHubやその他のサービスと連携できるようになる
  2. GitHub Actionsによる自動トリガー — コードの変更を起点に、レビュー・テスト生成・ドキュメント更新が自動実行される
  3. Gemini APIとの補完関係 — 大規模な影響分析にはGeminiの長いコンテキストウィンドウを活用する

まずは小さく始めることをお勧めします。PRレビューの自動化から導入し、チームに馴染んできたらテスト生成、ドキュメント更新と段階的に拡張していく。その積み重ねが、数ヶ月後には劇的な生産性向上につながります。

次週は、AntigravityとCI/CDパイプラインをより深く統合するための高度なテクニックを紹介します。お楽しみに。