mcp-server-google-antigravity について
mcp-server-google-antigravityは、Google Antigravityの`agy`コーディングエージェントをClaudeやCodexなどのMCPクライアント向けツールとして公開します。タスクは非同期ジョブとして実行され、進捗や結果の確認、ファイル操作ができます。
主な機能
- 01非同期ジョブを送信してjobIdを取得
- 02結果、進捗、最近のジョブを確認
- 03会話の継続や実行中ジョブのキャンセル
- 04ファイルの読み書きとフォルダーツリー作成
- 05モデル、エージェント、状態の確認
活用シーン
- 01リポジトリ全体の分析を委任
- 02長時間の編集タスクをバックグラウンド実行
- 03プロジェクトのファイルや構成を作成
- 04利用可能なagyモデルとエージェントを確認
MCP 対応
MCPサーバーとして、`agy`の実行、ジョブ管理、ファイルシステム操作のツールをMCPクライアントに提供します。非同期ジョブは結果照会やログ通知で追跡できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
____ _ _
/ ___| | __ _ _ _ __| | ___
| | | |/ _` | | | |/ _` |/ _ \
| |___| | (_| | |_| | (_| | __/
\____|_|\__,_|\__,_|\__,_|\___|
|
+----+----+
| MCP | (- you are here
+----+----+
|
_ _ _ _ _
/ \ _ __ | |_(_) __ _ _ __ __ ___ _(_) |_ _ _
/ _ \ | '_ \| __| |/ _` | '__/ _` \ \ / / | __| | | |
/ ___ \| | | | |_| | (_| | | | (_| |\ V /| | |_| |_| |
/_/ \_\_| |_|\__|_|\__, |_| \__,_| \_/ |_|\__|\__, |
|___/ |___/
Claude(または任意の MCP クライアント)から、負荷の高い作業を Google Antigravity の agy エージェントに任せられます。
これは何ですか?
mcp-server-google-antigravity は、小規模な MCP(Model Context Protocol)サーバーです。agy CLI(内部で Gemini を使用)で動作する Google のターミナル向けコーディングエージェント、Google Antigravity を、任意の MCP クライアントから呼び出せる一連のツールとして公開します。
仕組みはシンプルです。プライマリモデル(Claude Desktop、Claude Code、Codex など)は軽快なまま、ウェブ検索、リポジトリ全体の分析、ファイルのひな形作成、長時間かかる編集といった面倒な作業を、バックグラウンドで実行される別のエージェントに任せます。ジョブは非同期で無制限です。タスクを送信するとすぐに jobId が返され、呼び出し元で作業を続けながら結果をポーリングできます。
Claude / Codex this MCP server Antigravity
+---------------+ tool +----------------+ spawns +--------------+
| "analyze the | -----> | use_antigravity| ------> | agy --print |
| whole repo" | | -> jobId(async)| | (Gemini) |
+---------------+ <----- +----------------+ <------ +--------------+
keeps working polls result / logs does the work
要件
| 必要なもの | 理由 |
|---|---|
| Node.js 18+ | このサーバーを実行します(npx/npm が付属)。確認方法:node --version |
Antigravity CLI(agy) | このサーバーが操作するエージェントです。以下からインストールしてください。 |
| MCP クライアント | Claude Desktop、Claude Code、または MCP に対応するもの |
ステップ 1 — Antigravity CLI(agy)をインストールする
agyを使ったことがありませんか?まずはこちらから。コマンドは 1 つです。初回起動時に Google アカウントでサインインします。
macOS / Linux
curl -fsSL https://antigravity.google/cli/install.sh | bash
Windows(PowerShell)
irm https://antigravity.google/cli/install.ps1 | iex
Windows(CMD)
curl -fsSL https://antigravity.google/cli/install.cmd -o install.cmd && install.cmd && del install.cmd
インストール先(覚えておいてください。以下の AGY_PATH で必要になる場合があります):
| OS | agy のデフォルトの場所 |
|---|---|
| macOS / Linux | ~/.local/bin/agy |
| Windows | C:\Users\<you>\AppData\Local\agy\bin\agy.exe |
サインインして確認する:
agy # first run opens a Google Sign-In in your browser (creds cached in your OS keyring)
agy --version # should print a version, e.g. 1.1.1
agy models # lists the models you can use (Gemini 3.5 Flash, Gemini 3.1 Pro, ...)
その後 agy が見つからない場合は、新しいターミナルを開いて(PATH を再読み込みして)ください。または agy install を実行して、シェルのパスを修正してください。
ステップ 2 — この MCP サーバーを入手する
オプション A — npx(推奨): ステップ 3 に進み、npx の設定を使用します。npx は認証不要で、公開 npm レジストリからシームレスに利用できます。
または、パッケージをグローバルにインストールできます:
npm install -g mcp-server-google-antigravity
これにより mcp-server-google-antigravity コマンドが利用可能になります(npx の代わりに、MCP クライアントの設定へ直接登録できます)。
オプション B — ソースから(開発する場合):
git clone https://github.com/TurkerYakup/mcp-server-google-antigravity.git
cd mcp-server-google-antigravity
npm install
npm run check # quick syntax check
node-pty(Windows で出力を整える場合にのみ使用)はオプションの依存関係です。macOS/Linux でビルドできなくてもインストールは成功し、サーバーは自動的にフォールバックします。コンパイラーは不要です。
ステップ 3 — MCP クライアントに登録する
Claude Desktop
claude_desktop_config.json を編集します。
| OS | 設定ファイル |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
npx を使用する場合(オプション A)— 推奨:
{
"mcpServers": {
"antigravity": {
"command": "npx",
"args": ["-y", "mcp-server-google-antigravity"],
"env": {
"AGY_MODEL": "Gemini 3.5 Flash (Medium)",
"AGY_AUTO_APPROVE": "true"
},
"timeout": 900000
}
}
}
Windows に関する注意: Electron(Claude Desktop)からは
npxを直接起動できないことがよくあります。サーバーが起動しない場合は、cmdでラップしてください。"command": "cmd"、"args": ["/c", "npx", "-y", "mcp-server-google-antigravity"]を設定します(env/timeoutはそのままにしてください)。
ソースから実行する場合(オプション B): 代わりに "command": "node" と "args": ["/absolute/path/to/mcp-server-google-antigravity/index.js"] を設定します。Windows ではスラッシュを使用してください。例:"C:/path/to/mcp-server-google-antigravity/index.js"。
編集後はアプリを完全に再起動してください(ウィンドウを閉じるだけではなく、トレイ/メニューバーから終了してください)。
Claude Code (CLI) — macOS、Windows、Linux で動作します
# npx (Option A)
claude mcp add antigravity -- npx -y mcp-server-google-antigravity
# from source (Option B)
claude mcp add antigravity -- node /absolute/path/to/mcp-server-google-antigravity/index.js
これで完了です。クライアントから use_antigravity、antigravity_continue、ファイルシステムヘルパーなどのツールを利用できます。
簡単な例
MCP クライアントに、「antigravity を使って C:/Dev/Repos/foo のリポジトリを分析し、そのアーキテクチャを要約して」 といった内容を尋ねてみてください。内部では、クライアントが次のように呼び出します。
use_antigravity({ prompt: "...", add_dirs: ["C:/Dev/Repos/foo"] })→{ "jobId": "mrib1q20_wa5ma1", "status": "running" }を即座に返します。antigravity_result({ jobId, wait_ms: 10000 })→ ジョブが完了するか、10 秒の待機時間が経過するまでブロック/ロングポーリングします。処理中は、ステータス、文字数、出力の末尾 200 文字を含む簡潔なペイロード({ status, jobId, chars, tail, startedAt })を返します。完了すると、durationMsとbytesのテレメトリーを含む全レコードを返します。
同じセッションで antigravity_continue({ prompt: "now list the top 3 risks" }) を使って続けてください。agy にファイルを書き込ませる必要がありますか?add_dirs を渡してワークスペースを設定してください。auto_approve(デフォルト)を有効にすると、確認プロンプトなしでファイルを作成/編集できます。
設定(環境変数)
すべて任意です。初期設定のままでも適切な値が使用されます。
| 変数 | デフォルト | 機能 |
|---|---|---|
AGY_PATH | 自動検出 | agy バイナリのフルパスです。PATH に含まれていない場合にのみ必要です。Windows ではパスが自動的に 8.3 形式の短いパスに変換されるため、ユーザー名に ASCII 以外の文字が含まれていても問題が発生しなくなります。 |
AGY_MODEL | agy のデフォルト | 呼び出しで model を省略した場合に使用するデフォルトモデルです。例:agy models に表示される正確な名前 Gemini 3.5 Flash (Medium) を使用します。 |
AGY_AUTO_APPROVE | true | --dangerously-skip-permissions を渡し、ヘッドレスジョブが確認プロンプトで停止しないようにします。読み取り専用にする場合は false に設定します。 |
AGY_SANDBOX | false | すべてのジョブを --sandbox(ターミナルを制限)付きで実行します。コストは低く、信頼できないプロンプトに対する安全性が高まります。呼び出しごとの sandbox 設定が優先されます。 |
AGY_PRINT_TIMEOUT | 10m | agy の --print-timeout です。 |
AGY_HEARTBEAT_MS | 15000 | 「ジョブ実行中」の進捗通知の間隔です。0 にすると無効になります。 |
AGY_MODEL_TTL_MS | 300000 | キャッシュされた agy models の一覧を信頼する期間です。 |
ツール
| ツール | 説明 |
|---|---|
use_antigravity | タスクを非同期で委任します。すぐに jobId を返します。パラメーター:prompt、thinking_depth(low/high)、add_dirs(agy が読み書きできるフォルダー)、auto_approve、new_project、model、mode(plan/accept-edits)、agent、project、sandbox、write_to_file、extract(任意。"last_code_block" を指定すると、最後のコードブロックをレコードの extracted フィールドに抽出します)。 |
antigravity_continue | 新しいプロンプトで前回の会話(または特定の conversation_id)を続けます。 |
antigravity_result | jobId を指定してジョブの結果を取得します。任意の wait_ms と poll_interval_ms によるロングポーリングに対応しています。実行中は、簡潔なペイロード({ status, jobId, chars, tail, startedAt })を返します。完了時またはエラー発生時は、全レコード(durationMs と bytes のテレメトリーを含む)を返します。 |
antigravity_jobs | 最近のジョブとそのステータスを一覧表示します。 |
antigravity_cancel | jobId を指定して実行中のジョブを終了します。 |
antigravity_cleanup | 経過時間(older_than_hours)を指定して古いジョブファイルを削除します。 |
antigravity_create_folder | サーバーが直接フォルダーを作成します(再帰的)。 |
antigravity_create_file | テキストファイルを作成/書き込みます(親ディレクトリーも作成します)。既存のファイルを保護するには overwrite:false を指定します。 |
antigravity_create_tree | JSON 仕様からフォルダー/ファイルのツリー全体を構築します。 |
antigravity_read_file | UTF-8 テキストファイルを読み込みます(即時)。任意で max_bytes の上限を指定できます。 |
antigravity_list_dir | フォルダー内の項目を一覧表示します。 |
antigravity_models | 利用可能なモデルを一覧表示します(agy models)。 |
antigravity_agents | 利用可能なエージェントプロファイルを一覧表示します(agy agents)。 |
antigravity_health | agy に接続できることを確認し、有効なデフォルト設定を報告します。問題が発生した場合は、まずこれを実行してください。 |
サーバー側のファイルシステムツールは Node の fs を直接使用するため、即時に実行され、権限確認プロンプトで止められることもありません。
ライブ進行状況通知
ジョブはすぐに jobId を返すため、サーバーは MCP のログ通知(notifications/message、ロガー antigravity)をプッシュします。これにより、クライアントはポーリングせずに処理状況を確認できます。
job started— jobId、種類、プロンプトの抜粋job running—AGY_HEARTBEAT_MS(デフォルト 15s)ごとのハートビート。現在の出力の末尾を含みますjob done/job failed— 最終ステータス、バイト数/エラー
ベストエフォートです。クライアントが logging 機能をネゴシエートしていない場合、通知は何も表示されずに破棄されます。どちらの場合も antigravity_result のポーリングは機能します。
仕組み(設計上の注意点)
agy CLI は agy --print "<prompt>" で単一のプロンプトを実行し、完了すると戻ります。問題点は 3 つあり、それぞれ次のように対処しています。
- MCP クライアントのリクエストタイムアウト(約60秒)。
agyが実行を続けていても、長時間のタスクではクライアントが諦めてしまいます。→ 非同期ジョブパターン:use_antigravityはagyをバックグラウンドで起動し、すぐにjobIdを返します。結果は OS の一時ディレクトリー内の JSON ファイル(agy_jobs/)に書き込まれ、クライアントはantigravity_resultをポーリングします。任意のロングポーリング(wait_ms)を使うと、短時間で完了する見込みの処理については、リクエスト内で待機できます。リクエストがブロックされることはありません。 - agy 自身の print タイムアウト(デフォルト 5m)。 負荷の高いプロンプトでは
timeout waiting for responseが発生します。→ 各ジョブで--print-timeout 10mを渡します。 - ヘッドレス時のファイル権限ゲート。
--printモードでは、agy のファイル書き込みが「ask」ポリシーによって拒否され、ジョブが停止します。→auto_approve(デフォルト true)は--dangerously-skip-permissionsを渡し、add_dirsは必要なワークスペースに対して--add-dir <path>を渡します。
セキュリティに関する注意
auto_approve のデフォルトは true(--dangerously-skip-permissions)です。agy は確認なしでファイルを作成/編集し、ターミナルコマンドを実行します。これは意図的な動作です。ヘッドレスの --print モードでは、これを設定しないと agy が権限確認プロンプトで停止し、ジョブが止まってしまうためです。信頼できないプロンプトには、auto-approve を無効にするよりも sandbox: true(ターミナルを制限する軽量な権限レイヤーであり、VM ではありません)をおすすめします。auto_approve: false は、本当に読み取り専用の依頼に限って使用してください。
プラットフォーム対応
完全なクロスプラットフォーム対応です。macOS、Windows、Linux に対応しています。Windows では、安定したストリーミングのために node-pty を使用する経路を用意しており、利用できない場合は自動的にフォールバックします。また、ASCII 以外の文字を含むユーザー名に対して、8.3 形式の短いパスを自動的に解決します。macOS/Linux では通常の child_process を使用します。OS ごとの違いは、agy の場所とクライアントの設定ファイルの場所だけです(どちらも上記で説明しています)。
トラブルシューティング
| 症状 | 対処方法 |
|---|---|
agy not found / サーバーが起動しない | PATH を再読み込みするため、新しいターミナルを開くか、agy install を実行してください。それでも解決しない場合は、AGY_PATH にバイナリのフルパスを設定してください(手順 1 の表を参照)。antigravity_health ツールで、サーバーが agy を認識しているか確認できます。 |
ジョブがいつまでも running のまま | agy が権限の確認を待っている可能性があります(ヘッドレスモードでは、デフォルトの true のままにしないと処理が停止します)。antigravity_jobs またはジョブの partial フィールドで進捗を確認してください。 |
Model '...' was not found という警告が表示される | 参考情報にすぎず、ジョブは引き続き実行されます。antigravity_models に表示されている正確な名前を使用してください(例:Gemini 3.5 Flash (Medium) のように、名前にはスペースが含まれます)。 |
| Windows:ASCII 以外の文字を含むユーザー名でパスが正しく処理されない | 自動的に処理されます。サーバーが agy を 8.3 形式の短いパスに解決します。対応は不要です。 |
| 初回実行時にサインインを求められる | ターミナルで一度 agy を実行して Google サインインを完了してください。認証情報は OS のキーリングにキャッシュされます。 |
| クライアントに「ツールがタイムアウトしました」と表示される | クライアント側の timeout を大きくしてください(Claude Desktop では 900000 ミリ秒など)。ジョブは非同期で実行されるため呼び出しはすぐに返されますが、一部のクライアントではタイムアウトの上限が適用されます。 |
ライセンス
MIT © Türker Yakup Altınsoy。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。