antigravity-mcp-server
antigravity-mcp-server
Позвольте двум AI-агентам одновременно создавать ваше приложение — не мешая друг другу.
Ваш агент делает бэкенд. Antigravity делает UI. Ни один не ломает файлы другого.
Проблема
Запускать двух 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. Заметки
Интерфейс строится под API, которого ещё не существует. Поэтому два агента передают план друг другу:
"POST /api/orders готов. Он возвращает
{ id, status }. Привяжи форму к нему."
Это то, что держит обе половины вместе.
3. Присутствие
Каждый агент может проверить, что делает другой, прежде чем начать, чтобы выбрать работу, которая не конфликтует.
Инструменты
Ваш агент выбирает их сам. Вы никогда их не вводите.
Группа | Инструменты |
Передача работы |
|
Общая доска |
|
Блокировки файлов |
|
Общение |
|
Администрирование |
|
Два, о которых стоит знать:
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 failedboard.json содержит tasks, locks, notes, events и presence. Каждая
запись получает эксклюзивную блокировку (атомарно созданная директория — единственный
примитив, который ведёт себя одинаково в Windows и POSIX), затем сохраняется через
write-temp-and-rename, так что сбой не может оставить наполовину записанную доску. Устаревшие блокировки
старше 20 секунд автоматически ломаются.
Здесь нет SQLite. Нативная сборка сломала бы npx на машинах без
компилятора, а node:sqlite всё ещё экспериментальный и требует Node 22+. Доска
получает несколько маленьких записей в минуту, так что JSON-файл — это инструмент подходящего размера.
Делегирование
ag_delegate вызывает внешнюю команду:
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_id из JSON-вывода agy через
--conversation, так что контекст переносится между вызовами.
Блокировки путей
Пути нормализуются с помощью path.resolve и приводятся к нижнему регистру на Windows, так что
C:\Proj и c:\proj не могут обойти одну и ту же блокировку. Пересечение проверяется в обоих
направлениях — занятие api/routes.ts конфликтует с удержанным api/, а занятие
api/ конфликтует с удержанным api/routes.ts.
Идентификация агента
Каждая сторона запускает один и тот же бинарник с разным --agent <id>. Этот id — то,
чему приписывается каждая запись на доске. Два клиента, использующие один id, делают свои блокировки
невидимыми друг для друга, что сводит на нет всю идею.
Куда записываются конфиги
init трогает только найденные инструменты и создаёт резервную копию каждого отредактированного файла в
<file>.bak-antigravity-mcp.
Инструмент | Путь к конфигу | Ключ |
Claude Code |
|
|
Cursor |
|
|
Windsurf |
|
|
Gemini CLI |
|
|
Claude Desktop |
|
|
VS Code (Copilot) |
|
|
OpenCode |
|
|
Antigravity CLI |
|
|
Antigravity IDE |
|
|
Полезно знать
Долгие задачи безопасны. 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> и указывает
корень проекта в описании.
Настройки
| Путь к бинарнику |
| Расположение доски (по умолчанию |
| Имя, которое этот экземпляр использует на доске |
Настройка вручную
Добавьте это в 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-runnpm test запускает два реальных MCP-клиента как отдельные процессы против одной доски,
так что межпроцессная блокировка и обмен сообщениями проверяются по-настоящему, а не имитируются.
MIT · создано adeelali4
Maintenance
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
- Alicense-qualityCmaintenanceEnables multiple AI agents like Claude and Codex to coordinate on the same project through shared tasks, file locks, and a real-time dashboard, preventing conflicts and streamlining collaborative development.121MIT
- Alicense-qualityDmaintenanceCoordination layer for AI coding agents working on the same codebase. Adds file locks, shared project memory, and cross-machine file sync so Claude Code, Cursor, Windsurf, and other MCP agents stop overwriting each other.50Apache 2.0
- Alicense-qualityDmaintenanceReal-time parallel development coordination for AI agents and humans.MIT
- Alicense-qualityAmaintenanceCoordinates parallel AI coding agents by providing task ownership, scoped file locks, handoffs, and verification workflows.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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