Skip to main content
Glama

⚡ Antigravity MCP Bridge

Открытый мост, соединяющий Google Cloud AI с вашим локальным компьютером через Model Context Protocol

Model Context Protocol Gemini Spark Google Cloud Python ngrok MIT License GitHub Stars


Подтверждённая концепция: один запрос к Gemini Spark — «Создай калькулятор с модульными тестами» — создал, запустил и закоммитил работающий код на Python в GitHub менее чем за 3 секунды. Никакого ручного копирования.

Архитектура • Справочник инструментов • Быстрый старт • Экосистема Google • Документация для разработчиков • Ресурсы и ссылки • Преимущества


🧩 Что это за проект?

Antigravity MCP Bridge разрушает барьер между облачным ИИ и вашим локальным компьютером. Он запускает локальный сервер Model Context Protocol (MCP), который открывает всю вашу операционную систему — терминал, файлы, компиляторы и Git — для любого MCP-совместимого ИИ-оркестратора через защищённый HTTPS-туннель.

Подключите его к Google Gemini Spark — и вы получите полностью автономного ИИ-инженера-программиста, который может планировать, писать код, тестировать, исправлять и выпускать программное обеспечение прямо на вашем диске.


Related MCP server: AlMoutmag 1.1

🏗️ Системная архитектура

┌────────────────────────────────────────────────────────────────────┐
│                🌐  GOOGLE CLOUD ECOSYSTEM                          │
│                                                                    │
│  ┌─────────────────┐  ┌──────────────────┐  ┌─────────────────┐  │
│  │  Gemini Spark   │  │  Google Workspace │  │  Vertex AI /    │  │
│  │  (Orchestrator) │  │  Docs/Drive/Gmail │  │  Cloud Run      │  │
│  └────────┬────────┘  └──────────────────┘  └─────────────────┘  │
└───────────┼────────────────────────────────────────────────────────┘
            │  JSON-RPC 2.0 (Streamable HTTP / SSE)
            │  HTTPS via ngrok / Cloudflare Tunnel
┌───────────▼────────────────────────────────────────────────────────┐
│          ⚡  ANTIGRAVITY MCP BRIDGE  (Your Machine)                │
│                                                                    │
│   /mcp  (Streamable HTTP)    /sse  (Server-Sent Events)           │
│   CORS · Authentication · 7 Registered MCP Tools                  │
│                                                                    │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────────┐ │
│  │  File System │  │   Terminal   │  │  Antigravity Subagents   │ │
│  │  Read/Write  │  │  Shell/CMD   │  │  (Autonomous Tasks)      │ │
│  └──────────────┘  └──────────────┘  └──────────────────────────┘ │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────────┐ │
│  │   Python     │  │  Node.js/npm │  │   Git / Docker / CI      │ │
│  └──────────────┘  └──────────────┘  └──────────────────────────┘ │
└────────────────────────────────────────────────────────────────────┘

Транспортный протокол

Конечная точка

Протокол

Лучше всего подходит для

/mcp

Streamable HTTP (MCP 2.0)

Google Gemini Spark, Vertex AI, все современные MCP-клиенты

/sse

Server-Sent Events (SSE)

Устаревшие MCP-клиенты, пользовательские интеграции

/messages

HTTP POST

Отправка сообщений в SSE-сессиях


🧰 Полный справочник инструментов

🔧 Инструмент 1: run_system_command

Выполняет любую команду shell, PowerShell или Bash. Фиксирует код выхода, stdout, stderr.

Параметр

Тип

Обязателен

Описание

command

string

✅

Полная команда shell для выполнения

working_dir

string

❌

Путь к рабочей директории (по умолчанию — CWD)

// Example: Run Python unit tests
{
  "name": "run_system_command",
  "arguments": {
    "command": "python -m pytest tests/ -v",
    "working_dir": "C:/Users/dev/myproject"
  }
}

Используется для: запуска Python/Node/Java/Rust, pip install, npm install, операций с Git, тест-раннеров, Docker, CI-пайплайнов.


📝 Инструмент 2: write_file

Создаёт или перезаписывает любой файл на диске содержимым, сгенерированным ИИ. Автоматически создаёт директории.

Параметр

Тип

Обязателен

Описание

file_path

string

✅

Абсолютный или относительный путь

content

string

✅

Полное содержимое для записи

// Example: Write a FastAPI route
{
  "name": "write_file",
  "arguments": {
    "file_path": "src/api/routes.py",
    "content": "from fastapi import APIRouter\nrouter = APIRouter()\n\n@router.get('/health')\ndef health(): return {'status': 'ok'}"
  }
}

Используется для: написания исходного кода, конфигов, Dockerfile, YAML для GitHub Actions, Markdown-документации, файлов .env.


📖 Инструмент 3: read_file

Читает и возвращает полное содержимое любого локального файла.

Параметр

Тип

Обязателен

Описание

file_path

string

✅

Путь к файлу

{
  "name": "read_file",
  "arguments": { "file_path": "src/main.py" }
}

Используется для: просмотра кода перед рефакторингом, чтения логов, аудита конфигов, чтения наборов данных.


📂 Инструмент 4: list_directory

Перечисляет файлы и директории с указанием типа и размера.

Параметр

Тип

Обязателен

Описание

directory_path

string

❌

Директория для просмотра (по умолчанию — CWD)

{
  "name": "list_directory",
  "arguments": { "directory_path": "C:/Users/dev/myproject" }
}

Используется для: изучения структуры проекта, проверки созданных файлов, аудита репозиториев.


🤖 Инструмент 5: run_agent_task

Запускает автономного долгоживущего ИИ-субагента Antigravity для сложных многошаговых целей. Мгновенно возвращает task_id.

Параметр

Тип

Обязателен

Описание

prompt

string

✅

Цель на естественном языке высокого уровня

workspace_dir

string

❌

Директория для работы агента

{
  "name": "run_agent_task",
  "arguments": {
    "prompt": "Refactor all Python files to use async/await. Run tests after each file.",
    "workspace_dir": "C:/Users/dev/myproject"
  }
}

Используется для: масштабного рефакторинга, полной разработки функций, автономной TDD, аудита безопасности.


📊 Инструмент 6: get_agent_status

Опрашивает текущий прогресс, вывод и ошибки фоновой задачи субагента.

Параметр

Тип

Обязателен

Описание

task_id

string

✅

ID задачи из run_agent_task

{
  "name": "get_agent_status",
  "arguments": { "task_id": "a1b2c3d4" }
}
// Returns: { "status": "completed", "output": "...", "error": null }

🛑 Инструмент 7: terminate_task

Безопасно отменяет любую выполняющуюся фоновую задачу субагента.

Параметр

Тип

Обязателен

Описание

task_id

string

✅

ID задачи для отмены


🔗 Интеграция с экосистемой Google

Gemini Spark

Подключите свой мост к Gemini через Custom Connected Apps.

Google Cloud

Разверните мост в облаке или интегрируйте с Cloud AI.

Vertex AI

Корпоративная ИИ-оркестрация с локальным выполнением.

Google Workspace

Используйте Docs, Drive, Gmail как источники контекста для ИИ.


📚 Официальная документация и внешние ресурсы

🔵 Model Context Protocol (MCP)

Ресурс

Ссылка

🏠 Официальный сайт MCP

modelcontextprotocol.io

📖 Введение в MCP

modelcontextprotocol.io/introduction

📖 Руководство по быстрому старту MCP

modelcontextprotocol.io/quickstart

📖 Спецификация MCP

spec.modelcontextprotocol.io

🐍 Python MCP SDK (официальный)

github.com/modelcontextprotocol/python-sdk

📦 MCP на PyPI

pypi.org/project/mcp

🐙 Организация MCP на GitHub

github.com/modelcontextprotocol

📖 Справочник транспортов MCP

modelcontextprotocol.io/docs/concepts/transports

📖 Справочник инструментов MCP

modelcontextprotocol.io/docs/concepts/tools


🟣 Google Antigravity (AGY)

Ресурс

Ссылка

🏠 Домашняя страница Antigravity

antigravity.google

📖 Документация Antigravity

antigravity.google/docs

📖 Руководство по интеграции MCP

antigravity.google/docs/mcp

📖 Система навыков

antigravity.google/docs/skills

📖 Python SDK

antigravity.google/docs/sdk

📖 Хуки и плагины

antigravity.google/docs/hooks

📖 Разрешения агента

antigravity.google/docs/permissions

📖 Журнал изменений

antigravity.google/changelog


🔵 Google Gemini и ИИ-API

Ресурс

Ссылка

🏠 Google Gemini App

gemini.google.com

📖 Документация Gemini API

ai.google.dev/gemini-api/docs

📖 Быстрый старт Gemini API

ai.google.dev/gemini-api/docs/quickstart

📖 Gemini для Google Workspace

workspace.google.com/intl/en/products/gemini

📖 Google AI Studio

aistudio.google.com

📖 Справка по Connected Apps (MCP)

support.google.com/gemini?p=lm_custom_mcp_trust

🐙 Google Generative AI GitHub

github.com/google-gemini


☁️ Google Cloud Platform

Ресурс

Ссылка

🏠 Google Cloud Console

console.cloud.google.com

📖 Документация Vertex AI

cloud.google.com/vertex-ai/docs

📖 Документация Cloud Run

cloud.google.com/run/docs

📖 Документация Cloud Build

cloud.google.com/build/docs

📖 Google Cloud APIs Explorer

cloud.google.com/apis

📖 Продукты AI и машинного обучения

cloud.google.com/products/ai


🐍 Python и основные библиотеки

Ресурс

Ссылка

🏠 Официальный сайт Python

python.org

📖 Документация Python

docs.python.org/3

📦 Индекс пакетов PyPI

pypi.org

📖 Документация pip

pip.pypa.io/en/stable

📖 Документация asyncio

docs.python.org/3/library/asyncio.html

📖 Документация subprocess

docs.python.org/3/library/subprocess.html


🌐 Веб и ASGI-фреймворк

Ресурс

Ссылка

🏠 Uvicorn (ASGI-сервер)

uvicorn.org

📖 Документация Uvicorn

uvicorn.org/settings

🏠 Фреймворк Starlette

starlette.io

📖 Документация Starlette

starlette.io/applications

📖 Маршрутизация Starlette

starlette.io/routing

📖 Промежуточное ПО CORS

starlette.io/middleware/#corsmiddleware

🏠 FastAPI

fastapi.tiangolo.com

📖 Документация FastAPI

fastapi.tiangolo.com/tutorial


🔒 Туннелирование и безопасный доступ

Ресурс

Ссылка

🏠 Официальный сайт ngrok

ngrok.com

📖 Документация ngrok

ngrok.com/docs

📖 HTTP-туннели ngrok

ngrok.com/docs/http

📦 pyngrok (Python SDK)

pypi.org/project/pyngrok

📖 Документация pyngrok

pyngrok.readthedocs.io

🏠 Cloudflare Tunnel

cloudflare.com/products/tunnel

📖 Документация Cloudflare Tunnel

developers.cloudflare.com/cloudflare-one/connections/connect-networks


📡 Спецификации JSON-RPC и SSE

Ресурс

Ссылка

📖 Спецификация JSON-RPC 2.0

jsonrpc.org/specification

📖 Server-Sent Events (SSE) — MDN

developer.mozilla.org/en-US/docs/Web/API/Server-sent_events

📖 Коды состояния HTTP — MDN

developer.mozilla.org/en-US/docs/Web/HTTP/Status


🔧 Инструменты разработки

Ресурс

Ссылка

🏠 Git

git-scm.com

📖 Документация Git

git-scm.com/doc

🏠 GitHub

github.com

📖 GitHub CLI (gh)

cli.github.com

🏠 Python IDLE

docs.python.org/3/library/idle.html

📖 Фреймворк тестирования pytest

docs.pytest.org

📖 unittest (встроенный)

docs.python.org/3/library/unittest.html


🚀 Быстрый старт

Предварительные требования

Python ngrok Git

Шаг 1 — Клонирование и установка

git clone https://github.com/nandhakumar-murugan/antigravity-mcp-bridge.git
cd antigravity-mcp-bridge
pip install -r requirements.txt

Шаг 2 — Добавьте свой ngrok-токен

Получите токен на dashboard.ngrok.com/get-started/your-authtoken

Отредактируйте run_with_tunnel.py:

AUTHTOKEN = "your_ngrok_authtoken_here"

Шаг 3 — Запуск

# Windows (Double-click or run):
start_server.bat

# macOS / Linux:
python run_with_tunnel.py

Вывод:

[INFO] NGROK MCP TUNNEL IS LIVE!
[LINK] PASTE THIS IN GEMINI SPARK: https://xxxx.ngrok-free.dev/mcp

Шаг 4 — Подключение к Gemini Spark

  1. Откройте gemini.google.com

  2. Перейдите в Настройки → Пользовательские подключенные приложения

  3. Вставьте: https://xxxx.ngrok-free.dev/mcp

  4. Примите разрешения → Нажмите Сохранить

  5. Введите @Antigravity System Bridge в любом чате, чтобы активировать!


💻 Руководство по интеграции для разработчиков

Python (официальный MCP SDK)

import asyncio
from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamable_http_client

async def main():
    url = "https://xxxx.ngrok-free.dev/mcp"
    async with streamable_http_client(url) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            print([t.name for t in tools.tools])

            # Run a command
            result = await session.call_tool("run_system_command", {
                "command": "python --version"
            })
            print(result.content[0].text)

asyncio.run(main())

cURL (любой язык)

curl -X POST https://xxxx.ngrok-free.dev/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-app","version":"1.0"}}}'

Конфигурация Claude Desktop

{
  "mcpServers": {
    "antigravity-bridge": {
      "command": "python",
      "args": ["run_with_tunnel.py"],
      "env": { "NGROK_AUTHTOKEN": "your_token" }
    }
  }
}

👥 Кому это полезно

🎓 Студентам

  • Наблюдайте, как реальный код пишется и выполняется на вашем диске, а не в фейковых песочницах

  • ИИ сам выполняет pip install, настраивает виртуальные окружения и PATH

  • Учитесь отладке, наблюдая в реальном времени, как ИИ исправляет настоящие ошибки терминала

💻 Инженерам

  • Полностью автономная TDD: ИИ пишет код → запускает тесты → исправляет ошибки → повторяет

  • Поручайте целые фичи: «Создай REST API с аутентификацией» → готово за минуты

  • Больше никакого копирования между чатом и редактором

🔬 Исследователям

  • Запускайте локальные Python-пайплайны, не загружая чувствительные данные в облако

  • Автоматизируйте экспериментальные скрипты, бенчмарки и анализ данных в диалоговом режиме

  • Используйте локальные GPU-вычисления через команды терминала


📁 Структура проекта

antigravity-mcp-bridge/
├── server.py               # Core MCP server with all 7 tool definitions
├── run_with_tunnel.py      # One-click launcher (server + ngrok tunnel)
├── start_server.bat        # Windows double-click starter
├── test_client.py          # MCP connection verification script
├── calculator.py           # Example: AI-generated code via Gemini Spark
├── test_calculator.py      # Example: AI-generated tests (all 6 passed)
├── requirements.txt        # Python dependencies
├── .gitignore
├── LICENSE                 # MIT
└── README.md

📦 requirements.txt

mcp>=2.0.0
uvicorn
fastapi
pyngrok
python-dotenv

🛡️ Безопасность

  • Весь трафик зашифрован по TLS через ngrok HTTPS

  • Authtoken ngrok предотвращает несанкционированный доступ

  • 180-секундный тайм-аут команды для всех операций в терминале

  • terminate_task немедленно останавливает любого запущенного субагента

  • Все операции полностью видны в вашем локальном терминале


📄 Лицензия

Лицензия MIT — подробности см. в LICENSE.


Создано в экосистеме Google. Работает на открытых стандартах.

Gemini Cloud MCP Python ngrok GitHub

⭐ Поставьте звезду этому репозиторию, если он вам помог! | 🍴 Сделайте форк, чтобы настроить под свою команду

🐛 Сообщить о проблемах · 💬 Обсуждения · 🤝 Внести вклад

Available Tools

23 tools
append_fileB

Appends text to the end of an existing file (or creates it if it doesn't exist).

NameRequiredDescriptionDefault
sourceNo
contentYes
file_pathYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of explaining side effects. It accurately discloses the core behavior — appending to an existing file or creating it if absent. It does not mention permission requirements, encoding, or newline handling, but these are minor for such a simple operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence with no filler. It efficiently conveys the essential operation and the create-if-missing fallback.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the primary action but leaves crucial context out: the 'source' parameter is not addressed, and no mention is made of the output or return value. Since the tool operates on files and has an output schema, a complete description should clarify these aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description names 'text' and 'file' informally, but it does not explicitly explain the three parameters. In particular, 'source' is completely unexplained — its role is unclear (e.g., whether it's a source file, a session reference, or something else). Since schema coverage is 0%, the description fails to compensate for the lack of parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: appending text to a file, with a explicit fallback to creating the file if it doesn't exist. The verb 'append' and resource 'file' make the purpose unambiguous, and it distinguishes naturally from siblings like write_file or edit_file by its specific behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given about when to use this tool versus alternatives. It doesn't state 'use this when you need to add to an existing file without overwriting' or contrast with write_file/edit_file. The behavior is implied but not directly advised.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_write_filesA

Creates or updates multiple files in a single tool call. Reduces permission prompts from N to 1. Parameters: files: Dictionary of {"relative/or/abs/filepath": "file_content"} base_dir: Optional root directory (defaults to server CWD)

NameRequiredDescriptionDefault
filesYes
sourceNo
base_dirNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states it 'creates or updates' files, which is informative, but it does not mention whether it overwrites existing content without confirmation, whether it creates parent directories, or whether the operation is atomic. Given no annotations, lacks critical behavioral details that affect how an agent might use it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise, consisting of two short sentences. It avoids unnecessary detail and gets straight to the point, making it easy to parse and remember.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives a basic overview but omits important context such as return value structure, error handling behavior, and the purpose of the 'source' parameter. While it is sufficient for a simple batch write, the lack of these details may leave an agent uncertain about edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the 'files' parameter as a dictionary mapping paths to content, and 'base_dir' as an optional root directory with a default. However, the 'source' parameter is not described at all, leaving its meaning ambiguous. Since only two of three parameters are covered, coverage is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: it creates or updates multiple files in one call. It also implies a distinction from single-file operations, aligning with the sibling tools like write_file and edit_file, so the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a concrete usage scenario by noting it reduces permission prompts from N to 1, implying preference for batched writes when multiple files are involved. However, it does not explicitly contrast with alternatives like a loop of write_file calls or when to avoid using it (e.g., when you need individual error handling).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_full_projectA

Creates an entire project directory, writes all code files, and runs initial setup/test commands in a SINGLE tool call with 1 permission confirmation. Parameters: project_name: Name of the project folder to create. files: Dictionary of {"rel/path/filename.ext": "file content"} setup_commands: Optional list of commands to run inside the new project (e.g. ["pip install -r requirements.txt", "python test.py"]) working_dir: Parent directory where project folder will be created (defaults to CWD).

NameRequiredDescriptionDefault
filesYes
sourceNo
working_dirNo
project_nameYes
setup_commandsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains the side effects (creating directory, writing files, running commands) and mentions the permission confirmation, but does not disclose potential risks like overwriting existing files or the impact of running arbitrary setup commands.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a clear two-sentence overview followed by a flat parameter list. Every sentence adds value; no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and five parameters, the description is moderately complete. It covers the core action, but misses important context like return values, error conditions, and interaction with existing files—context that would be valuable for an agent deciding to invoke this powerful tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description only paraphrases parameter names. It adds no semantic depth beyond what the parameter names imply. The 'files' parameter's map structure and the behavior of 'setup_commands' are not elaborated, leaving the agent to infer from names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Creates an entire project directory, writes all code files, and runs initial setup/test commands') and distinguishes it from sibling file-writing tools by emphasizing it does all in one call with one permission confirmation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the all-in-one project creation tool versus the granular write_file/edit_file/batch_write_files siblings. It could be more explicit about when to choose this over batch_write_files, but the single-call permission confirmation hint gives practical guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_fileC

Performs a precise surgical search-and-replace edit in an existing file. Avoids having to rewrite the entire file when making targeted code changes.

NameRequiredDescriptionDefault
sourceNo
file_pathYes
find_textYes
replace_textYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, and it only says the edit is 'surgical search-and-replace.' It doesn't disclose failure modes (what happens if find_text isn't found or matches multiple locations), whether edits are in-place, or any safety caveats for a mutating operation. This is a significant gap for a destructive tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with the primary purpose front-loaded. The word 'surgical' adds little information, but overall the description is tight and wastes no words. It could afford to carry more useful content, but what's there is efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. But for a mutating tool with 0% parameter coverage, no annotations, and an undocumented 'source' parameter, the description is incomplete: it leaves match behavior, failure handling, and the extra parameter unexplained. An agent cannot fully predict tool behavior from this definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it mentions nothing about file_path, find_text, replace_text, or the unexplained 'source' parameter (anyOf string/null with default null). The three required params are somewhat self-explanatory by name, but the odd 'source' field is completely undocumented, and no syntax/format guidance is given for the find/replace strings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: a surgical search-and-replace edit on an existing file. It implicitly differentiates from file-rewriting siblings (write_file, append_file) by noting it avoids rewriting the entire file, though it never names a sibling explicitly. Clear enough for an agent to understand the core operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Avoids having to rewrite the entire file when making targeted code changes' implies this tool is for targeted edits rather than full-file rewrites, which hints at when to prefer it over write_file. However, it never names alternatives explicitly, states when NOT to use it, or covers edge cases like multiple matches or non-existent files.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_agent_statusB

Fetches the live status and output of a running or completed agent task.

NameRequiredDescriptionDefault
task_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description conveys that this is a read-only retrieval operation and covers both running and completed tasks. However, it does not disclose return format, error behavior, or what happens if the task_id is invalid or not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with a clear verb-object structure and no unnecessary words. It is appropriately sized for the tool's simple purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool, the description states the basic purpose but omits what the returned status and output look like. It also does not mention whether this is a polling endpoint or how it relates to launching agent tasks, leaving the caller with limited operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The task_id parameter is required, but the description gives no explanation of its format, source, or meaning beyond the field name. Since the schema also lacks a description for it, the tool description does nothing to clarify the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (fetches), the object (live status and output of an agent task), and the scope (running or completed). This makes the tool's purpose immediately understandable and distinguishes it from task-launching siblings like run_agent_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to prefer this tool over alternatives such as get_antigravity_agent_report or get_bridge_history. There are no conditions, prerequisites, or typical usage scenarios mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_antigravity_agent_reportB

Retrieves the structured status report and latest responses from Antigravity. Shows completion notes, modified files, test outputs, and executive summary.

NameRequiredDescriptionDefault
sourceNo
task_idNo
conversation_idNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly indicates a read-only retrieval and lists the report contents, but does not mention failure modes, prerequisites, or whether any state changes occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured, consisting of two focused sentences that convey the tool's purpose and output without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the description lists the report contents, it lacks essential context about parameter roles, the relationship between task_id and conversation_id, and the expected output structure. This leaves an agent guessing about how to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The three parameters (source, task_id, conversation_id) are completely unexplained, with no indication of their purpose, format, or whether any combination is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (retrieves structured status report and latest responses) and specifies the resource (Antigravity), plus the main content areas included. This distinguishes it from sibling tools like get_agent_status or get_bridge_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no explicit guidance on when to use this tool versus similar sibling tools such as get_agent_status or list_antigravity_conversations. The usage context is only implicit from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bridge_historyB

Returns the full shared history of all tool calls made through this bridge.

NameRequiredDescriptionDefault
limitNo
tool_filterNo
source_filterNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly discloses this is a read operation ('Returns') and specifies the scope ('full shared history of all tool calls'). However, it does not disclose whether history persists across sessions, how the limit/filter parameters interact with the returned data, or any other behavioral constraints. For a tool with zero annotation coverage, more disclosure would be warranted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no wasted words. It front-loads the core purpose clearly, though it may be under-specified given the number of parameters it fails to address.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, which covers return-value documentation, reducing the need for the description to explain returns. However, with 0% schema parameter coverage, no annotations, and no usage context, the description leaves significant gaps: the three parameters are undocumented and there is no guidance on filtering or limiting behavior. It is minimally adequate but thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining the parameters. It does not mention limit, tool_filter, or source_filter at all. The parameter names are somewhat self-explanatory and the schema provides types and defaults, but the description adds no meaning beyond what the schema offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Returns the full shared history of all tool calls made through this bridge.' It is clear about what it does and its scope (full shared history). It distinguishes from siblings since none of the listed sibling tools concern history retrieval, though it doesn't explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or when not to use it. The description leaves usage entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_session_notesB

Retrieves all saved session notes from the shared bridge log.

NameRequiredDescriptionDefault
tag_filterNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the burden for behavioral disclosure. The verb 'Retrieves' implies a read-only operation with no side effects, but no details are given about potential large result sets, errors, or how the 'shared bridge log' is accessed. This is minimally transparent but not fully explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no redundant words or filler. It is well-structured and immediately understandable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks context about when this tool is preferred over similar siblings like 'get_bridge_history' or 'save_session_note'. An output schema exists but is not shown in the prompt, so the description does not need to detail return values, yet it could still provide more contextual differentiators.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage for the single 'tag_filter' parameter is 0% with no description. The parameter name is self-explanatory to some degree and optional, but the description does not mention filtering or the expected value format, leaving semantics under-specified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb 'Retrieves' and identifies resource 'all saved session notes' from the 'shared bridge log', clearly indicating the tool's primary function. It is distinct from sibling tools like 'save_session_note' and 'get_bridge_history', though not explicitly contrasted with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'get_bridge_history' or 'save_session_note'. There is also no explanation of how or why to use the optional 'tag_filter' parameter, leaving usage context ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_spark_connected_apps_catalogA

Returns the complete list and capabilities of external tools & Google Workspace apps connected to Gemini Spark that Antigravity can orchestrate.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description alone carries the burden. It only states the return behavior without disclosing side effects (e.g., read-only, no state changes). For a list tool, it's implicitly safe, but the description does not explicitly state that it performs no modifications or consumes significant resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant words or unnecessary details. It is well-structured and front-loaded with the main action ('Returns'), making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (no parameters, no nested objects), the description is complete enough for a user to understand the tool's basic purpose. However, it does not describe the output format beyond 'list and capabilities', and the output schema is not shown in the prompt, so some context about the returned structure is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100% (no parameters). Therefore, the description does not need to explain parameter semantics. The baseline for 0 parameters is 4, and the description adequately matches this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a complete list and capabilities of external tools and Google Workspace apps, which is a specific, actionable verb ('Returns') with a defined resource. It distinguishes itself from the sibling 'request_spark_connected_app_action' which likely performs an action rather than listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing to enumerate available apps and their capabilities, contrasting with the sibling action tool. However, it does not explicitly state when to use this over other listing tools or include exclusions, so it's clear but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

git_quick_statusB

Returns high-level Git status: active branch, changed files, untracked files, and recent commit.

NameRequiredDescriptionDefault
sourceNo
repo_dirNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates that the tool returns status information, which suggests a read-only operation, but it does not explicitly disclose whether it modifies anything, what errors may occur, or whether authentication or repository validation is required. With no annotations, more explicit behavioral disclosure would be better.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the main purpose and then lists the exact information returned. It contains no unnecessary words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the output fields are listed, the description omits crucial parameter semantics and does not provide enough context about how to invoke the tool correctly. The lack of parameter documentation makes the description incomplete for an agent that needs to call it with proper arguments.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The two parameters, 'source' and 'repo_dir', are completely undocumented in the description, and the schema provides no descriptions either. There is no indication of what values are expected, whether they are mutually exclusive, or how they affect the tool's behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Returns high-level Git status') and identifies the resource and scope. It distinguishes this tool from the broader sibling tools by focusing on a concise status summary rather than file operations or command execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when this tool should be used—when a quick, high-level Git status is needed—but it does not explicitly state when to prefer alternatives or when not to use it. There is no direct comparison with sibling tools such as run_system_command or read_file.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inject_messageC

Injects a message directly into any Antigravity conversation's inbox.

NameRequiredDescriptionDefault
titleNo
senderNo
messageYes
priorityNo
conversation_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action 'injects directly' without revealing side effects, permission requirements, reversibility, or impact on existing conversations. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core action. While efficient, it omits important contextual details that could be added without significant bloat, making it slightly under-specified but not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has five parameters and zero schema coverage, the description should clarify parameter semantics and usage context. It does neither, nor does it mention output or side effects. An agent would lack essential information to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does not mention any of the five parameters (conversation_id, message, title, sender, priority), leaving their meanings and formats unexplained. This fails to add value beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (inject a message) and the target (Antigravity conversation's inbox). It is specific and distinguishable from siblings like send_spark_to_antigravity_task, which focuses on tasks rather than direct message injection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or selection criteria, leaving the agent to infer appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_antigravity_conversationsA

Lists ALL Antigravity projects/conversations with their real names, conversation IDs, last active time, message count, artifact count, and task count.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It implies a read-only operation via 'Lists', but does not explicitly state non-destructiveness or potential performance implications (e.g., large result set). It adds no behavioral details beyond the action itself, which is acceptable for a simple listing but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the key action and resource, then enumerates return fields. No wasted words; every part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists (though not shown), so return format is covered. With zero parameters and a clear description of scope and returned attributes, the tool is fully specified for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters, so schema coverage is 100% trivially. The description adds context about what is returned, which is helpful, though no parameter explanations are needed. Baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific action ('Lists ALL Antigravity projects/conversations') and enumerates the exact data returned (real names, IDs, last active time, counts). It clearly distinguishes from siblings, which are about other operations like sending tasks or retrieving reports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose is self-evident as a list-all operation; no explicit when-to-use guidance is given, but no sibling tool performs the same function, so ambiguity is minimal. Clear context is provided by the description, and no exclusions are needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_directoryC

Lists files and directories at the specified path with file sizes.

NameRequiredDescriptionDefault
sourceNo
directory_pathNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The verb 'lists' implies a read-only operation and the description says what is returned (names and sizes), which is the core behavior. However, with no annotations and no explicit statement about side effects, permissions, or error behavior, the description does not fully carry the transparency burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant or promotional wording. It front-loads the action and then provides the key additional detail about file sizes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description leaves out important operational context: the meaning of 'source', whether the listing is recursive, whether hidden files are included, and what errors or permissions may arise. Without an output schema in view, the return shape beyond 'file sizes' is also unclear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions and the tool description only refers to 'the specified path' without clarifying which parameter is the path or what 'source' means. The 'directory_path' parameter is self-explanatory, but 'source' remains ambiguous and uncompensated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource (directory) and the action (list files and directories), and even adds the useful detail that file sizes are included. It is unambiguous enough for basic selection, though it does not explicitly contrast with sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to prefer this tool over similar capabilities such as run_system_command or read_file, and no mention of recursion, hidden files, or permission requirements. The agent must infer when this listing tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_fileC

Reads the content of a file from the local filesystem.

NameRequiredDescriptionDefault
sourceNo
file_pathYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behaviors such as error handling, file size limits, encoding assumptions, or whether the file must exist. The agent has no information about what happens on failure or edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no fluff or redundancy. It is well-structured and easy to read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the unexplained 'source' parameter creates a gap in completeness. An agent cannot confidently invoke the tool without knowing whether 'source' is required or how it interacts with 'file_path'. The description does not provide enough context for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has two parameters, but the description does not explain their roles. 'file_path' is somewhat self-explanatory by name, but 'source' is ambiguous (e.g., alternative path, URI, or something else). The description fails to compensate for the lack of parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Reads' and the resource 'file from the local filesystem', which is specific. However, it does not differentiate from sibling tools like list_directory or run_system_command, but the core purpose is understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., list_directory, run_system_command, edit_file), an agent has no indication when reading a file is the appropriate choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_spark_connected_app_actionB

Dispatches a task from Antigravity to Gemini Spark requesting execution via Spark's connected apps (e.g. @Canva, @Google Drive, @Google Docs, @Google Keep, @YouTube, @Gmail, @Dropbox). Spark will read this request on sync and execute the tool action in the Google ecosystem.

NameRequiredDescriptionDefault
appYes
actionYes
sourceNo
contextNo
detailsYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It does disclose that the task is dispatched and will be read and executed later by Spark, indicating asynchronous behavior. However, it does not mention side effects, error conditions, authentication requirements, or whether the tool returns an immediate acknowledgment vs. a final result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: two sentences, a clear action verb, and an illustrative list of example apps. It avoids unnecessary detail while covering the essential high-level behavior, making it easy to parse and remember.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no annotations, no parameter descriptions, and an unresolved output schema. The description provides the high-level purpose but fails to give enough context for correct invocation: it does not explain parameter semantics, return values, prerequisites (e.g., app must be in catalog), or what happens after dispatch. Given the moderate complexity of five parameters, the description is insufficient on its own.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 0% of parameters, and the description only gives examples of values for 'app'. There is no explanation of what 'action', 'details', 'source', or 'context' should contain, nor how they relate to each other. The agent would have to guess or infer critical fields, making parameter semantics severely deficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb ('Dispatches a task'), the source/destination (Antigravity to Gemini Spark), and the purpose (execute actions via Spark's connected apps). It also provides concrete examples of target apps, making the purpose highly distinguishable from siblings like send_spark_to_antigravity_task or get_spark_connected_apps_catalog.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when you need to request execution of an action through a connected app via Gemini Spark, but it does not explicitly contrast with sibling tools or state when not to use it. The async nature ('will read this request on sync') is mentioned, providing some usage context, but explicit guidance on alternatives is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_agent_taskC

Launches an autonomous Antigravity AI agent task using ANTIGRAVITY's credits and models. Routes the task into a real Antigravity conversation via message injection.

NameRequiredDescriptionDefault
promptYes
sourceNo
workspace_dirNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool uses credits/models and routes via message injection, which is some behavioral context. However, it omits details like whether the task runs asynchronously, what the output contains, or side effects on conversations, making it only partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler, front-loading the core action. It is concise and well-structured, though it could use the space to add parameter or usage details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, no annotations, and an output schema not shown, the description is incomplete. It lacks parameter explanations, usage context, output expectations, and prerequisites, so an agent would struggle to call it correctly without additional information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no information about the parameters (prompt, source, workspace_dir). It does not explain their meaning, defaults, or relationships, leaving the agent without any added guidance beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Launches') and resource ('autonomous Antigravity AI agent task'), and adds context about using credits/models and message injection. It is clear and distinct from generic actions, though it doesn't explicitly name sibling tools like inject_message or send_spark_to_antigravity_task to differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It doesn't mention conditions, exclusions, or compare to related tools such as inject_message or send_spark_to_antigravity_task, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_batch_commandsA

Executes multiple shell/PowerShell commands sequentially in a single tool call. Reduces permission prompts from N to 1. Parameters: commands: List of shell command strings to execute in order. working_dir: Working directory for all commands. stop_on_error: If True, halts execution if any command returns non-zero exit code. timeout_per_command: Max seconds per command (default: 180s).

NameRequiredDescriptionDefault
sourceNo
commandsYes
working_dirNo
stop_on_errorNo
timeout_per_commandNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. However, it only mentions that commands are executed and does not disclose potential side effects, required permissions, return output, or error handling beyond the stop_on_error parameter. This leaves safety and behavior underspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear main statement and a structured parameter list. No redundant words or filler, and the information is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema (though not shown), so return-value details are not required in the description. It covers the core functionality, parameter meanings, and a key use-case benefit. Minor gaps like prerequisites or environment assumptions are not mentioned, but they are not critical for a batch command executor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes a 'Parameters' section that provides a one-line explanation for each parameter (e.g., 'commands: List of shell command strings to execute in order,' 'stop_on_error: If True, halts execution...'). This adds meaningful semantics beyond the bare schema titles, covering all five parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'executes' and the resource 'multiple shell/PowerShell commands,' and distinguishes it from sibling tools like run_system_command by highlighting the batch nature and the benefit of reducing permission prompts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states a usage guideline: 'Reduces permission prompts from N to 1,' which tells the agent when to prefer this tool (for multiple commands) over individual command execution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_system_commandC

Executes a shell/PowerShell command on the local system (e.g. python, npm, git, tests, pip). Includes safety filtering and configurable timeout (default: 180s).

NameRequiredDescriptionDefault
sourceNo
commandYes
working_dirNo
timeout_secondsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing side effects. It mentions 'safety filtering' but does not clarify what commands are restricted, whether it can modify the system, or what the output looks like. No mention of permissions or potential destructive impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and to the point, using examples to illustrate the command type. No unnecessary filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the core purpose is clear, the description lacks essential context for safe and effective use: parameter semantics, output format, safety filtering details, and differentiation from similar tools. An agent would need additional information to call it correctly in all cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description only elaborates the timeout default. Parameters like command (required), working_dir, and the odd 'source' field are not explained. The agent must guess their meaning and usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: executing a shell/PowerShell command on the local system, with concrete examples (python, npm, git, tests, pip). This distinguishes it from the batch variant and other file/agent tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to choose this tool over similar siblings like run_batch_commands. It mentions safety filtering and timeout but does not explain scenarios or trade-offs, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_session_noteB

Saves a note or memory to the shared bridge session log.

NameRequiredDescriptionDefault
tagNo
noteYes
sourceNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the burden of explaining side effects. It only states that a note is saved, but does not clarify whether the note is appended or overwrites existing ones, whether it persists across sessions, or what the response indicates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no unnecessary words or detail. It is highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives the core purpose but lacks broader context such as the relationship to 'get_session_notes', whether this is the only way to persist notes, or any expectations about the shared log. The existence of an output schema reduces the need to describe return values, but more context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no descriptions, and the description only mentions 'note' without explaining the meaning or purpose of the 'tag' and 'source' parameters. This leaves the agent guessing about how to properly populate these fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('saves') and the object ('a note or memory to the shared bridge session log'), making the tool's purpose immediately obvious. It also distinguishes itself from the sibling tool 'get_session_notes'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_session_notes' or other logging tools. There is no mention of appropriate contexts or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_spark_to_antigravity_taskA

Sends a crystal-clear, structured task brief from Gemini Spark to Antigravity IDE. Automatically generates a formatted markdown instruction envelope with Task ID, objectives, context, step-by-step actions, and reporting instructions.

Parameters: objective: Clear 1-2 sentence primary goal. context: Optional background, architectural details, or file paths. required_actions: Optional ordered list of specific steps (e.g. ["write tests", "run pytest", "fix bugs"]). conversation_id: Target Antigravity conversation UUID (if None, targets most recent active). working_dir: Target working folder on disk.

NameRequiredDescriptionDefault
sourceNo
contextNo
objectiveYes
working_dirNo
conversation_idNo
required_actionsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that it automatically generates a formatted markdown instruction envelope, which is a useful behavioral detail, but it does not mention side effects, permissions, reversibility, or error handling. This is a moderate disclosure but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the primary purpose, and structured with a parameter list. Every sentence adds value, and there is no redundancy with the schema. It efficiently conveys both function and parameter usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, 1 required) and the presence of an output schema (implied), the description covers most essential aspects: it explains the core behavior, provides parameter details, and notes the default behavior for conversation_id. It lacks guidance on edge cases or how to obtain a conversation UUID, but is otherwise sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful semantics for 5 of 6 parameters, compensating for the 0% schema description coverage. Each described parameter includes purpose and examples (e.g., required_actions lists ordered steps). However, the 'source' parameter is missing from the description, leaving a gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends a structured task brief from Gemini Spark to Antigravity IDE and describes the generated markdown envelope. It is specific about the verb, resource, and scope, and distinguishes it from siblings by its cross-IDE purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for sending task briefs but provides no explicit guidance on when to use this tool versus alternatives like run_agent_task or inject_message. It lacks exclusions or alternative routing, leaving the agent to infer the use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sync_project_to_geminiB

Called by Antigravity to push a complete project status report and architectural summary into the shared bridge memory. Gemini Spark can read this anytime to understand your exact project state.

NameRequiredDescriptionDefault
sourceNo
summaryYes
key_filesNo
tech_stackNo
project_nameYes
next_milestoneNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the burden. It does disclose the core side effect (pushing data into shared bridge memory) and indicates a sync-like write, but it does not clarify overwrite semantics, idempotency, persistence, or access requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The core purpose and consumer are stated upfront, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the output schema reduces the need to document return values, the description still lacks parameter-level guidance and usage conditions for a 6-parameter mutation with no input schema descriptions. It is not complete enough for an agent to invoke confidently in varied situations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has no descriptions (0% coverage), and the description does not explain the parameters. Most names are self-explanatory, but 'source' is ambiguous and there is no guidance on how key_files, tech_stack, next_milestone, or summary should be formatted or used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('push') and the object ('complete project status report and architectural summary into the shared bridge memory'), and identifies the intended consumer ('Gemini Spark'). It is easy to distinguish from most siblings, though it does not explicitly name any alternative tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance or contrast with sibling tools such as send_spark_to_antigravity_task or get_bridge_history. The phrase 'Called by Antigravity' gives some context but does not tell an agent when to choose this over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

terminate_taskA

Terminates or cancels a running agent task by task ID.

NameRequiredDescriptionDefault
task_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the action but does not disclose side effects, irreversibility, required permissions, or behavior when the task is not found. For a termination tool, more transparency about consequences would be expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant words. It is well-structured and directly communicates the tool's purpose without any fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple termination tool, the description covers the basic purpose and parameter. However, it omits details about success/failure behavior, return values, or any side effects on the task's resources. Given a moderate complexity, this is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, task_id, is clearly described in the tool description as the identifier used to select the task. The schema provides the type and required status, and the description clarifies its role, achieving full coverage for this simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Terminates or cancels'), the object ('running agent task'), and the method ('by task ID'). It is specific and easily distinguishable from sibling tools like run_agent_task and get_agent_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the appropriate context by specifying 'running agent task', making it clear when to use this tool. It does not explicitly list alternatives or when not to use, but the condition is enough for a simple termination action.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

write_fileB

Creates or overwrites a file on the local filesystem with specified content. Automatically creates parent directories if they don't exist.

NameRequiredDescriptionDefault
sourceNo
contentYes
file_pathYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the key behaviors: creating or overwriting files and automatically creating parent directories. It does not mention confirmation prompts or permission issues, but the destructive overwrite action is explicitly stated, which is essential transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and direct, covering the main functionality and a valuable side effect in two sentences. No unnecessary wording or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core behavior, but the 'source' parameter is left unexplained and no information is given about return values or error conditions. For a simple write tool, the gap regarding 'source' is notable, leaving the description somewhat incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not explain any of the parameters. The schema shows file_path and content as required and self-explanatory, but 'source' is ambiguous and the description does not clarify its purpose or relationship to the other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates or overwrites a file on the local filesystem with specified content, and also mentions auto-creating parent directories. It is specific and distinguishes this tool as a full-file writer, though it does not explicitly reference sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives like edit_file or append_file. It implies full-file replacement with 'overwrites' but does not state conditions for choosing this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 23 tool updatesv0.1.0
    • First observedappend_file
    • First observedbatch_write_files
    • First observedcreate_full_project
    • First observededit_file
    • First observedget_agent_status
    • First observedget_antigravity_agent_report
    • First observedget_bridge_history
    • First observedget_session_notes
    • First observedget_spark_connected_apps_catalog
    • First observedgit_quick_status
    • First observedinject_message
    • First observedlist_antigravity_conversations
    • First observedlist_directory
    • First observedread_file
    • First observedrequest_spark_connected_app_action
    • First observedrun_agent_task
    • First observedrun_batch_commands
    • First observedrun_system_command
    • First observedsave_session_note
    • First observedsend_spark_to_antigravity_task
    • First observedsync_project_to_gemini
    • First observedterminate_task
    • First observedwrite_file

TDQS

C2.9/5.0

Scored across 23 tools

Disambiguation2/5

Multiple tools have overlapping purposes, such as run_system_command vs run_batch_commands, write_file vs batch_write_files, and run_agent_task vs send_spark_to_antigravity_task vs inject_message. The boundaries between session notes, bridge history, and agent status reports are also unclear, creating significant potential for misselection.

Naming Consistency3/5

Most tool names follow a verb_noun pattern, but the verbs are inconsistent across similar actions (e.g., run_agent_task, send_spark_to_antigravity_task, inject_message) and some names like git_quick_status do not follow the pattern. The naming is readable but not systematically consistent.

Tool Count3/5

With 23 tools, the set is at the high end of the 'heavy but not extreme' range. The broad scope of filesystem, shell, agent, notes, and external app operations partially justifies the count, but it feels larger than necessary and could be consolidated.

Completeness4/5

The toolset covers core filesystem operations, command execution, batch operations, agent task management, session notes, and external app integration. Minor gaps exist such as no explicit delete file/note tool and no direct list-agent-tasks function, but the primary workflows are well represented.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables web-based AI clients like Claude, ChatGPT, and Grok to securely operate a local machine through OAuth-gated MCP tools covering files, shell, Git, databases, browser automation, and background tasks.
    MIT