NexusWindows for Antigravity について
NexusWindows for Antigravityは、ユーザーの作業を妨げずにデスクトップアプリを確認・操作する、Antigravity向けのWindows MCPサーバーです。UI AutomationとWin32メッセージによるバックグラウンド操作を優先し、結果の読み戻しとガード機能を備えています。
主な機能
- 01バックグラウンドでのデスクトップ操作
- 02UI AutomationとWin32メッセージ
- 03読み戻し付きの一括操作
- 04ウィンドウ確認とスクリーンショット
- 05確認とユーザー割り込みのガード
活用シーン
- 01前面を奪わずにアプリを操作
- 02操作によるコントロールの変化を確認
- 03複数段階のUIタスクを検証
MCP 対応
MCPサーバーとして、windows、look、act、launch、windowの5つのツールをAntigravityに提供します。Windowsアプリの確認と操作を行い、操作結果を読み戻します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 今日に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| by_app | boolean | いいえ | |
| visible_only | boolean | いいえ |
詳細
NexusWindows for Antigravity

Antigravity 向けの、バックグラウンドでの Windows 操作。 Google
Antigravity(Gemini)から Windows デスクトップアプリケーションを確認・操作できる MCP サーバー(nexus-windows-antigravity)です。ユーザーはマウスやキーボードを使い、前面のウィンドウで作業を続けられます。高速なモデル向けに構築されており、まず画面を確認し、次にラベルをターゲットにした一連のステップを実行します。すべての応答で、次に行う操作が示されます。
バージョン 3.0.1 · Windows 10/11 · Python 3.11+ · MIT ライセンス
Nexus ファミリーの一部です:NexusWindows (Claude · Codex · Antigravity)、 NexusBrowser(リポジトリ)、 NexusAndroid(リポジトリ)。 プロジェクトページ:julienpiron.fr/nexuswindows。
理由
スクリーンショットを使ったクリック操作では、実際のカーソルを動かしてウィンドウを前面に表示するため、エージェントが操作している間、PC のユーザーは作業を中断しなければなりません。多くの Windows アプリケーションは、そのような操作をせずに扱えます。ネイティブコントロールはウィンドウメッセージを受け付け、最新のフレームワークは UI Automation を公開しています。このサーバーは、まずバックグラウンドで操作し、その結果を読み取ります。ステップで許可されている場合(foreground=True)に限り、実際のマウスやキーボードを使います。
NexusWindows ファミリー
エージェントごとに 1 つ、計 3 つの MCP サーバーを、それぞれのモデルに合わせてツールを調整するため個別に構築しています。共通の約束は、ユーザーがマウス、キーボード、フォアグラウンドウィンドウをそのまま使えること、そしてすべてのアクションが読み返されることです。
| Claude | Codex | Antigravity | |
|---|---|---|---|
| インストール | uvx --python 3.14 nexus-windows-claude | npx -y nexus-windows-codex | uvx --python 3.14 nexus-windows-antigravity |
| パッケージ | PyPI | npm | PyPI |
| ツール | windows look act launch window、さらに notifications と logs | windows look act launch window | windows look act launch window |
| リポジトリ | NexusWindows-Claude | NexusWindows-Codex | NexusWindows-Antigravity |
各ステップは、✓ 検証済み、= 完了済み、~ 不明(再実行されていません)、または ✗ 失敗もしくは拒否として報告されます。3 つのサーバーは、ガードレールポリシー、フォアグラウンドトークン、緊急停止(Ctrl+Alt+Shift+Esc)、共通のジャーナル形式、共通のベンチを共有しています。
インストール
必要条件:Windows 10 または 11、uv(winget install astral-sh.uv)。
PyPI からインストールする場合、クローンは不要です。Antigravity の mcp_config.json(%USERPROFILE%\.gemini\config\mcp_config.json)にサーバーを宣言します。
{
"mcpServers": {
"nexus-windows-antigravity": {
"command": "uvx",
"args": ["--python", "3.14", "nexus-windows-antigravity"],
"env": { "PYTHONUTF8": "1" }
}
}
}
Antigravity に 5 つのツールを教えるエージェントガイドは
SKILL.md です。サーバーとともにインストールするには、plugins/nexus-computer フォルダーを Antigravity のプラグインにコピーします。
クローンから(開発用)、PowerShell 7 を使用する場合:
git clone https://github.com/pironjulien/NexusWindows-Antigravity.git
cd NexusWindows-Antigravity
pwsh -NoProfile -File install.ps1
Python 環境、ログ、スクリーンショットは %USERPROFILE%\.nexusagy(クローンの外部)に保存されます。サーバーは "command": "pwsh"、"args": ["-NoProfile", "-File", "C:/path/to/NexusWindows-Antigravity/scripts/start-computer-mcp.ps1"] を指定して宣言します。
ツール
一覧に表示される MCP ツールは 5 つで、ほかの NexusWindows ツール(Claude、Codex)と同じ名前です。以前の名前(computer_look、
computer_act、computer_click...)も、一覧に表示されないエイリアスとして引き続き呼び出せます。
| ツール | 用途 |
|---|---|
windows | アプリケーションウィンドウ(by_app=true:アプリケーションごとにグループ化) |
look | ウィンドウを前面に表示せず、要素ごとに 1 行で [N] role « name » = « value » states @x,y を表示し、画像も返します |
act | 1 回の呼び出しで複数のステップを実行します(クリック、入力、チェック、チェック解除、選択、メニュー、キーなど)。各ステップは読み返されます:✓ = ~ ✗ |
launch | アプリケーション、ドキュメント、フォルダー、スクリプト、ショートカットを開きます。開いた結果は読み返されます |
window | action="close":ウィンドウを閉じます(UI Automation、次に WM_CLOSE) |
ツールの説明、サーバーの指示、ツール名、パラメーター名は英語です。ツールの応答はフランス語です。
機能
- Gemini 向けに設計:基本原則は、まず確認し、ラベル付きターゲットを指定して一括で操作することです。すべての操作への応答には、1 行の
next(✓ 完了 · = すでに完了、再実行しない · ~ 効果を確認できないため、添付画像を確認 · ✗ 失敗、原因と試すべきこと)と、効果を読み戻せなかった場合は、ウィンドウのコンパクトな WebP 画像(≤ 1280 px)が含まれます。同じウィンドウで過去 10 秒以内に送信したものと同一のバッチを、その間にlookを行わずに送信すると、拒否されます(repeat=trueで強制実行します)。 foreground=Trueでも、まずバックグラウンドで操作:box_2dまたは(x, y)ターゲットは、ウィンドウ独自の UI Automation ツリー内でその位置にある要素に対応付けられ(覆われたウィンドウも含む)、ラベル付きターゲットと同様に処理されます。テキストフィールドをクリックすると、そのフィールドが保持されるため、ターゲットを指定しないtype、ctrl+a、ctrl+v、消去キーは、バックグラウンドへの書き込みとなり、読み戻されます。通常のキー入力は、Win32、WinForms、WPF でWM_KEYDOWN/WM_KEYUPとして送信されます。実際のマウスとキーボードを使うのは、foreground=Trueの場合のフォールバックとしてのみです。それ以外の場合は、明示的に拒否され(needs_foreground)、何も送信されません。- UI ファミリーごとの処理:Win32 → ダイレクトメッセージ(
BN_CLICKED、BM_SETCHECK、EM_REPLACESEL、通知を伴うCB_SETCURSEL/LB_SETCURSEL、メニューのWM_COMMAND);WinForms → UI Automation の後にメッセージ;WPF、UWP、Chromium → UI Automation のみ。Win32 のボタンに UI Automation の Invoke を使うことも(プロキシがウィンドウをアクティブ化するため)、Win32 のリストに Select を使うこともありません(何も起こらないため)。 - プロセス間読み取りは 1 回:ウィンドウ単位の UI Automation ツリーは、1 回のラウンドトリップ(
IUIAutomationCacheRequestとBuildCache、AutoSetFocus = False)で読み取られます。読み取りが切り詰められた場合や失敗した場合は、その旨が報告され(uia.status、warning)、空のリストが黙って返されることはありません。 - 各操作後に読み戻し:
verifiedは実際の読み取りに基づく true/false/None です(フィールド値、チェック状態、選択状態、フォーカスされた要素、ウィンドウタイトル、画像)。「コマンドを送信した」だけでsuccessが true になることはありません。各ステップでは事後条件expectを指定できます(すでに true の場合:ステップをスキップし、already: trueを返します。実行後に false の場合:ステップは失敗します)。バッチは、失敗または未検証のステップが最初に発生した時点で、次の操作を送信する前に停止し、自動的に再実行されることはありません。事後条件が検証されれば効果が確定し、バッチを続行できます。効果が不明な場合は、残りのステップを準備する前に状態を確認する必要があります。 - Raw Input によるユーザーの物理入力(注入された入力は無視):実際のマウスまたはキーボード操作を行う前に、操作が一時停止するまで待ちます。ユーザーがキーボードまたはマウスに触れた場合は、次のチェックポイントで停止します(
interrupted_by_user)。 - 指示だけでなく、コードにもガードを実装:ウィンドウは必ず名前で指定します(デフォルトでフォアグラウンドのウィンドウが選ばれることはありません。タイトルが曖昧な場合は候補を示して拒否されます)。ラベルが曖昧な場合も候補を示して拒否されます。各
SendInputの直前に、対象ウィンドウがフォアグラウンドにあることを読み戻します。パスワードマネージャー(KeePass、KeePassXC、Bitwarden、1Password、Dashlane、NordPass、RoboForm、LastPass)は、確認、キャプチャ、操作の対象になりません。サインイン画面、ロック画面、UAC プロンプトは拒否されます。pay、buy、order、transfer money、send、publish、delete permanently、uninstall、format、reset、cancel a subscription、erase data、make a repository public とラベル付けされた操作には、そのステップでconfirm: trueが必要です。同様に、これらの操作を実行するキー、submit、座標クリックにもconfirm: trueが必要です。MCP サーバー環境でNEXUS_AGY_CONFIRM=offを設定すると、確認が完全に無効になります(デフォルト:有効)。 - クリップボード:すべての形式で保存して復元します。クリップボードに書き込んだテキストは、Win+V の履歴およびクラウドクリップボードに含まれません。入力に別の方法がない場合(複数行、または 300 文字を超える場合)にのみ使用します。
- エージェントの動作中:操作の実行中(
act、開く、閉じる、フォーカス、および各操作のエイリアス。読み取り中を除く)は、操作対象ウィンドウの画面の右下隅で小さなロゴが、ゲームのロード画面のようにその場で回転し、青い光がゆっくり明滅します。最後の操作から 1.6 秒後に消えます。常に最前面に表示され、枠なし、クリック透過、アクティブ化されず、タスクバーに表示されず、画面キャプチャにも含まれません(busy_indicator.py)。NEXUS_WINDOWS_INDICATOR=0を設定すると無効になります。 - PC 上のほかのデスクトップエージェントと共有:フォアグラウンドトークン(
%USERPROFILE%\.nexus\foreground.lock)と緊急停止(Ctrl+Alt+Shift+Esc、%USERPROFILE%\.nexus\stop)には、NexusWindows for Claude と同じファイルプロトコルを使用します。
アーキテクチャ
| パス | 役割 |
|---|---|
client/mcp_server.py | MCP サーバー nexus-windows-antigravity(stdio)。scripts/start-computer-mcp.ps1 によって起動されます |
client/computer_client.py | Windows エンジン:ウィンドウ、UI Automation、Win32 メッセージ、キャプチャ、操作および読み戻し |
client/uia_fast.py、client/win32_controls.py | 1 回のラウンドトリップで行う UI Automation の読み取り、ネイティブコントロールメッセージ |
client/physical_input.py、client/agent_guard.py、client/emergency_stop.py | ユーザーの存在(Raw Input)、バッチガード、共有緊急停止 |
client/foreground_lock.py、client/garde_fous.py、client/garde-fous.json | 作成者のデスクトップエージェントで共通の、フォアグラウンドトークンとガードレールポリシー。パブリック版には同梱されていますが、作成者の環境では隣接する shared フォルダーにあります(Claude 向けの NexusWindows でも使用) |
plugins/nexus-computer/ | Antigravity プラグインとエージェントガイド(SKILL.md) |
tests/ | 単体テスト(pytest)と実際のデスクトップでの検証 |
プライバシー
NexusWindows for Antigravity はすべてお使いの PC 上で動作します。アカウント、テレメトリー、分析機能はなく、独自にネットワークリクエストを送信することもありません。
- 読み取る内容:エージェントが作業するアプリケーションのウィンドウタイトル、アクセシビリティツリー、ウィンドウ画像。ツールが呼び出されたときに限ります。パスワードマネージャーを読み取ったり操作したりすることはありません。
- 送信先:ツールの結果は Antigravity に返されます。Antigravity は独自のプライバシーポリシーに従って Google に送信する場合があります。このサーバーがそれ以外の場所に何かを送信することはありません。
- 保存内容:
~/.nexusagy/の下には、Python 環境(クローンインストールの場合のみ。uvxの場合は uv キャッシュ内に保持)、操作ログcomputer.log(操作、方式、ウィンドウ、所要時間、結果、および対象ラベル、座標、キー名、メニューパス、入力した文字数などの短い詳細。入力または予期されたテキストは記録しません。5 MB でローテーションし、バックアップは 3 つ)、スクリーンショット(各キャプチャ後に最大 50 枚。24 時間を超えたものは次回のキャプチャ時とサーバー起動時に削除されます。そのため、サーバーを停止した場合、次に起動するまで最後のスクリーンショットが残ることがあります)があります。~/.nexus/の下には、共有フォアグラウンドトークンと緊急停止状態があります。%LOCALAPPDATA%\NexusJournal\windows\antigravity\(またはNEXUS_JOURNAL_HOME)の下には、他の NexusWindows ツールと同じ形式の短い月次 JSONL ジャーナル(アプリの実行ファイル名、操作、手法、結果、所要時間、フォアグラウンドを使用したかどうか、エラーの最初の語句。引用符、コロン、角括弧の前で切り詰め)が保存されます。入力テキスト、画面上のテキスト、ラベル、タイトル、パスは記録しません。サーバーがこれを削除することはありません。 - 削除方法:Antigravity の MCP 設定からサーバーを削除し、
~/.nexusagy/(および%LOCALAPPDATA%\NexusJournal)を削除してください。
ご質問や懸念がある場合は、このリポジトリにイシューを登録してください。
制限事項
- Windows 専用です。ツールの説明は英語、ツールの応答とコードコメントはフランス語です。
- バックグラウンドでは、UWP/WinUI、Firefox、Tk でのキーボード入力と、WPF での Ctrl/Alt ショートカットは拒否されます。Chromium/Electron には、読み戻しで確認するシミュレートされたアクティベーションを通じてキー、ショートカット、テキスト入力を送信します(何も変化しなければ
~)。Web ページでは、NexusBrowser のほうが信頼性に優れています。 - 読み取り可能な情報がない効果は
~のままです(未検証)。
開発
pwsh -NoProfile -File test.ps1 # offline: ruff, Pyright, pytest
pwsh -NoProfile -File test.ps1 -Full # plus the real desktop validation on its own Win32, WinForms and WPF windows
実際の検証では、テスト用ウィンドウはアクティベーションせずに表示し、最後に閉じます。実際のマウスとキーボードのテストは、PC が 120 秒間アイドル状態の場合に限って実行され、それ以外の場合はスキップとして報告されます。
ライセンス
MIT。詳細は LICENSE を参照してください。Copyright (c) 2026 Julien Piron。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
