Skip to main content
Glama
adeelali4

antigravity-mcp-server

by adeelali4

antigravity-mcp-server

2つのAIエージェントが同時にアプリを構築——互いのファイルを壊すことなく。

あなたのエージェントがバックエンドを担当し、AntigravityがUIを担当します。どちらも相手のファイルを壊しません。

npm License: MIT Node MCP


問題

2つのAIコーディングエージェントを1つのプロジェクトで実行するのは素晴らしいアイデアに聞こえます——しかし、両方が同じファイルを編集し、静かに互いの作業を破壊し始めるまでは。

彼らはお互いを見ることができません。それが問題のすべてです。

Related MCP server: asynkor

解決策

両方のエージェントが接続する1つの小さなサーバー。これにより、誰が何をしているか、どのファイルが使用中か、そして互いに伝える必要があることを共有するメモリを提供します。

   Your AI agent                                    Antigravity
   Claude Code · Cursor · Windsurf                  (agy CLI)
   VS Code · Gemini CLI · OpenCode
          │                                              │
          │  MCP                                     MCP │
          └──────────────┐                ┌──────────────┘
                         ▼                ▼
              ┌─────────────────────────────────┐
              │        antigravity-mcp-server          │
              │                                 │
              │   board.json                    │
              │    ├─ tasks .... who does what  │
              │    ├─ locks .... files taken    │
              │    ├─ notes .... messages       │
              │    └─ presence . who is online  │
              └─────────────────────────────────┘
                              │
                              └──► starts `agy` in the background

インストール

npx antigravity-mcp-server init

これだけです。この1つのコマンドで:

  • コンピュータ上のすべてのAIツールを検出

  • 各ツールにサーバーを追加

  • Antigravityが必要とする権限を有効化

AIツールを再起動して、設定を反映させてください。

毎回フェッチするのではなく、永続的にインストールしたい場合:

npm install -g antigravity-mcp-server
antigravity-mcp-server init

その他のコマンド:

antigravity-mcp-server doctor           # is everything working?
antigravity-mcp-server doctor --probe   # same, plus a real round trip through agy
antigravity-mcp-server init --dry-run   # show changes, write nothing
antigravity-mcp-server init --all       # also write configs for tools you haven't installed
antigravity-mcp-server init --only claude-code,cursor

必要なもの: Node 18.17以降、およびAntigravity CLI(agy)。agyがなくても共有ボードは使用できますが、Antigravityに作業を委任することはできません。


使用方法

コマンドを覚える必要はありません。エージェントに話しかけるだけです:

"Antigravityでチェックアウトページを作成して、その間に支払いAPIをやってください。"

エージェントがそこから処理を進めます。実際に起こることは次のとおりです:

  time ──────────────────────────────────────────────────────►

  your agent   ███ writes brief ███│████ payments API ████│ checks result
                                   │                      │
  Antigravity                      │███ checkout page ███ │
                                   │                      │
                                   └── both work at once ─┘

エージェントは完全な概要を作成し、自身のファイルをロックし、バックグラウンドでAntigravityを起動し、作業を続けます。誰も待つ必要はありません。


共有ボードが重要な理由

1. ファイルロック

エージェントがファイルを編集する前に、そのファイルを主張します。フォルダをロックすると、その中のすべてがロックされます。

  my-app/
  ├── api/           [locked] your agent    ← Antigravity is told "taken"
  ├── db.ts          [locked] your agent
  ├── components/    [locked] Antigravity   ← your agent stays away
  └── styles/        [locked] Antigravity

エージェントがロックされたファイルを取得しようとすると、明確な競合が返されます。静かな上書きはありません。

2. ノート

UIはまだ存在しないAPIに対して構築されています。そのため、2つのエージェントは計画をやり取りします:

"POST /api/orders の準備ができました。{ id, status } を返します。フォームをそれに接続してください。"

これにより、両方の半分が適合し続けます。

3. プレゼンス

各エージェントは、作業を開始する前に相手が何をしているかを確認できるため、競合しない作業を選択できます。


ツール

エージェントが自動的にこれらを選択します。手動で入力する必要はありません。

グループ

ツール

作業の委任

ag_delegate · ag_task_status · ag_task_wait · ag_followup · ag_cancel

共有ボード

coop_status · board_post · board_update · board_list

ファイルロック

claim_paths · release_paths · check_paths

会話

notes_send · notes_read · presence_set · activity

管理

coop_reset

知っておく価値のある2つ:

coop_status — 1回の呼び出しですべてがわかります:誰がオンラインか、何が実行中か、何がロックされているか、何が未読か。

ag_followup同じ Antigravityの会話を継続します。そのため、"今度はモバイルでも動作するようにして" は、最初から始めるのではなく、すべてのコンテキストを保持します。


内部の仕組み

ディスク上のファイル

~/.antigravity-mcp/
├── board.json                    shared state, written under a lock
└── runs/
    ├── <task_id>.json            agy's raw result
    ├── <task_id>.prompt.txt      the brief that was sent
    └── <task_id>.err             stderr, if the run failed

board.jsontaskslocksnoteseventspresence を保持します。すべての書き込みは排他ロック(アトミックに作成されるディレクトリ——WindowsとPOSIXで同じように動作する唯一のプリミティブ)を取得し、その後、書き込み-一時ファイル-リネーム方式で保存されるため、クラッシュによって中途半端なボードが残ることはありません。20秒以上経過した古いロックは自動的に解除されます。

SQLiteは使用していません。ネイティブビルドはコンパイラのないマシンで npx を壊し、node:sqlite はまだ実験的でNode 22+が必要です。ボードは1分間に数回の小さな書き込みを行うため、JSONファイルが適切なサイズのツールです。

委任

ag_delegate はシェルアウトして:

agy --print <brief> --output-format json --print-timeout <n>s \
    --add-dir <cwd> --mode accept-edits --dangerously-skip-permissions

子プロセスはデタッチされて生成され、標準出力は runs/<task_id>.json に直接リダイレクトされます。つまり、長時間のジョブはMCPサーバーが再起動しても存続します——ステータスは子ハンドルを保持するのではなく、実行ファイルを読み取り、PIDを確認することで復元されます。

ag_followupagy のJSON出力から --conversation 経由で conversation_id を再利用するため、コンテキストは呼び出し間で引き継がれます。

パスロック

パスは path.resolve で正規化され、Windowsでは大文字小文字が区別されるため、C:\Projc:\proj で同じロックを回避できません。重複は両方向でチェックされます——api/routes.ts を主張することは、保持されている api/ と競合し、api/ を主張することは、保持されている api/routes.ts と競合します。

エージェントの識別

各サイドは同じバイナリを異なる --agent <id> で実行します。このIDがすべてのボードエントリに帰属されます。2つのクライアントが同じIDを共有すると、ロックが互いに見えなくなり、目的が完全に損なわれます。


設定ファイルの書き込み先

init は検出したツールのみを変更し、編集したファイルは <file>.bak-antigravity-mcp にバックアップします。

ツール

設定ファイルのパス

キー

Claude Code

~/.claude.json

mcpServers

Cursor

~/.cursor/mcp.json

mcpServers

Windsurf

~/.codeium/windsurf/mcp_config.json

mcpServers

Gemini CLI

~/.gemini/settings.json

mcpServers

Claude Desktop

%APPDATA%/Claude/claude_desktop_config.json~/Library/Application Support/Claude/…

mcpServers

VS Code (Copilot)

%APPDATA%/Code/User/mcp.json

servers

OpenCode

~/.config/opencode/opencode.json

mcp

Antigravity CLI

~/.gemini/config/mcp_config.json

mcpServers

Antigravity IDE

~/.gemini/antigravity-ide/mcp_config.json

mcpServers


知っておくと良いこと

長時間のジョブは安全です。 Antigravityはデタッチされて実行されます。エディタやサーバーが再起動しても、ジョブは続行されます。

Antigravityは確認なしで編集します。 ag_delegate--dangerously-skip-permissions を渡すため、無人で作業できます。auto_approve: false を渡すと、プロンプトで停止します。

init が処理する1つの落とし穴。 ヘッドレスモードでは、agy~/.gemini/antigravity-cli/settings.json で許可リストに登録されていない限り、すべてのMCP呼び出しを自動拒否します。このルールがない場合、委任は実行されますが、調整は静かに何もしません——動作しているように見えるため、最悪の種類の障害です。initmcp(coop/*) を追加します。doctor はそれをチェックします。

Antigravityは独自のスクラッチプロジェクトで動作します——ターゲットディレクトリがそのワークスペースにない限り。すべての引き継ぎは --add-dir <cwd> を渡し、概要にプロジェクトルートを記載します。


設定

AGY_BIN

agy バイナリへのパス

ANTIGRAVITY_MCP_HOME

ボードの場所(デフォルト ~/.antigravity-mcp

--agent <id>

このインスタンスがボード上で使用する名前


手動での設定

ツールのMCP設定にこれを追加:

{
  "mcpServers": {
    "antigravity": {
      "command": "npx",
      "args": ["-y", "antigravity-mcp-server", "--agent", "claude-code"]
    }
  }
}

Antigravity側では、サーバーに coop という名前を付け、--agent antigravity を使用し、~/.gemini/antigravity-cli/settings.json にこれを追加:

{ "permissions": { "allow": ["mcp(coop/*)"] } }

サーバーキーは許可ルールと一致する必要があります——ここでは coop、そこでは mcp(coop/*)


コードの開発

git clone https://github.com/adeelali4/antigravity-mcp
cd antigravity-mcp
npm install

npm test                    # 16 checks, two live stdio clients, no agy credits used
node test/delegation.js     # real end-to-end run (uses agy credits)
node src/cli.js init --local --dry-run

npm test は2つの実際のMCPクライアントを別々のプロセスとして1つのボードに対して起動するため、プロセス間のロックとメッセージングが実際にカバーされ、モックではありません。


MIT · adeelali4 によって構築されました

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Coding agents from Claude Code, Cursor and Codex claim jobs and lock files on one shared board.

  • The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/adeelali4/antigravity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server