Skip to main content
Glama
adeelali4

antigravity-mcp-server

by adeelali4

antigravity-mcp-server

让两个AI智能体同时构建你的应用——而不会互相干扰。

你的智能体负责后端。Antigravity负责UI。两者都不会破坏对方的文件。

npm License: MIT Node MCP


问题

让两个AI编码智能体在同一个项目上工作听起来很棒——直到它们都编辑同一个文件,悄悄摧毁彼此的工作。

它们看不到对方。这就是全部问题所在。

Related MCP server: asynkor

解决方案

一个小型服务器,两个智能体都接入其中。它为它们提供共享内存:谁在做什么,哪些文件被占用,以及它们需要告诉对方什么。

   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

就这样。这一个命令:

  • 找到你计算机上的每个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构建的。因此两个智能体来回传递计划:

"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

有两个值得了解:

coop_status — 一次调用回答所有问题:谁在线、正在运行什么、哪些文件被锁定、哪些未读。

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.json保存taskslocksnoteseventspresence。每次写入都会获取一个独占锁(一个原子创建的目录——该原语在Windows和POSIX上行为相同),然后通过先写临时文件再重命名的方式写入,这样崩溃不会留下半写状态的看板。超过20秒的陈旧锁会自动解除。

没有SQLite。原生构建会破坏没有编译器的机器上的npx,而node:sqlite仍处于实验阶段且仅适用于Node 22+。看板每分钟只需要少量小写入,因此JSON文件是合适大小的工具。

委派

ag_delegate通过shell执行:

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

子进程以分离方式启动,stdout直接重定向到runs/<task_id>.json。这意味着长时间运行的任务在MCP服务器重启后仍然存活——状态通过读取运行文件并检查PID来恢复,而不是通过持有子进程句柄。

ag_followup通过--conversation重用agy JSON输出中的conversation_id,因此上下文在多次调用之间持续存在。

路径锁

路径通过path.resolve规范化,并在Windows上忽略大小写,因此C:\Projc:\proj无法绕过同一个锁。重叠检测是双向的——声明api/routes.ts与已持有的api/冲突,声明api/与已持有的api/routes.ts冲突。

智能体身份

每一方运行相同的二进制文件,但使用不同的--agent <id>。该ID是看板上每个条目的归属。两个客户端共享同一个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为你处理的一个陷阱。 在无头模式下,agy会自动拒绝每个MCP调用,除非在~/.gemini/antigravity-cli/settings.json中设置允许列表。如果这个规则缺失,委派仍然运行,但协调会静默地什么都不做——这是最糟糕的失败类型,因为看起来像是正常工作。init会添加mcp(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会生成两个真实的MCP客户端作为独立进程,连接同一个看板,因此跨进程锁定和消息传递会在真实场景下测试,而不是模拟。


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