Инструменты и MCP¶
Каждый агент собирается из каталога встроенных категорий инструментов, которые вы включаете и выключаете в настройках агента Инструменты. Каждая категория открывает возможность, которой агент может пользоваться в разговоре. Помимо встроенного каталога, можно подключать MCP-серверы, чтобы дать агенту инструменты и источники данных, которых нет на платформе.
Встроенные инструменты¶
| Инструмент | Что он позволяет агенту |
|---|---|
| Векторный поиск | Искать по коллекциям знаний, привязанным к агенту. Включён по умолчанию. |
| Чтение документов | Читать документы из привязанных коллекций целиком, а не только фрагменты из поиска. |
| Веб-поиск | Искать актуальную информацию в открытом интернете. |
| Веб-браузер | Загружать и читать веб-страницы. |
| Управление браузером | Интерактивная автоматизация браузера (см. Управление компьютером и браузером). |
| Python | Выполнять код на Python в изолированной среде. |
| Субагенты | Запускать вспомогательных агентов для частей задачи (см. Команды агентов). |
| Отправка email | Отправлять письма из общего почтового ящика платформы. Чтобы отправлять письма из настоящего почтового ящика — или читать его, — дайте агенту почтовый ящик; его инструменты не требуют переключателя. |
| Генерация изображений | Создавать изображения (см. Генерация медиа). |
| Генерация видео | Создавать короткие видео (см. Генерация медиа). |
| Транскрипция аудио | Расшифровывать загруженные аудио и видео с отметками времени и метками говорящих (см. Транскрипция). |
| База данных | Читать и записывать собственные структурированные данные агента по заданной политике (см. База данных агента). |
| Воркфлоу | Запускать многошаговые воркфлоу (см. Воркфлоу). |
| Управление компьютером | Управлять разрешёнными ему приложениями на подключённом устройстве (см. Управление компьютером и браузером). |
Векторный поиск, Python и Чтение документов включены по умолчанию у каждого агента.
Некоторым инструментам, чтобы приносить пользу, нужны предварительные условия — например, веб-поиску и веб-браузеру нужен настроенный доступ в интернет, отправке email — почтовый ящик платформы, который настраивает администратор, а управлению компьютером — подключённое устройство. Включение переключателя делает возможность доступной; подключение того, от чего она зависит (интеграции, коллекции знаний, провайдера медиа и т. д.), — отдельный шаг.
Библиотеки Python¶
В инструменте Python уже установлены такие библиотеки: requests, beautifulsoup4, lxml, numpy, pandas, openpyxl, httpx, Pillow, pypdf, pdfplumber, pypdfium2, pdf2image, pytesseract, defusedxml, python-pptx, python-docx, reportlab, markitdown, weasyprint, matplotlib, vtracer, duckdb, pytz, ruff, cairosvg, pymupdf, opencv-python-headless, scipy.
Любой другой пакет агент может запросить, когда выполняет код. Установка пакета добавляет время к этому вызову. Установить можно только пакеты, опубликованные в виде готовых wheel: пакет, опубликованный лишь как исходный код, установить нельзя, даже если он написан только на Python.
Код выполняется без системных привилегий, поэтому команды, которым они нужны, например ping или mount, не работают.
Подключение внешних инструментов через MCP¶
MCP (Model Context Protocol) — открытый стандарт подключения агента к внешним инструментам и источникам данных. Подключениями вы управляете в настройках агента MCP-серверы, и каждый подключённый сервер добавляет свой набор инструментов, которые агент может вызывать.
Добавить сервер можно двумя способами:
- Установить пакет — установить опубликованный MCP-сервер прямо из реестра npm или PyPI. Вы указываете идентификатор пакета (например, сервера файловой системы или git), а платформа сама скачивает и настраивает его.
- Ручная настройка — указать агенту сервер самостоятельно, выбрав транспорт:
- Стандартный ввод-вывод (stdio) — сервер, работающий как локальный процесс (самый распространённый вариант).
- HTTP — удалённый сервер, доступный по URL.
На панели MCP-серверов агента Добавить сервер → С помощью ассистента открывает ассистента аккаунта, который может сам найти и подключить сервер, в том числе выполнить вход через OAuth, если серверу это нужно.
В приложении для Android та же панель — пункт MCP-серверы в меню билдера. У каждого сервера есть переключатель Включён и, у агентов v2, переключатель Общее / Для каждого, который определяет, кто подключается, — см. Общие и персональные подключения; у опубликованного агента приложение сначала просит подтверждение, потому что люди увидят изменение только после повторной публикации. Для сервера показано, какое из ваших подключений даёт ему учётные данные. Проверить соединение проверяет, что сервер запускается и выдаёт список инструментов, Войти завершает OAuth, если серверу это нужно, а Удалить удаляет его. Добавить сервер MCP предлагает Из моих подключений (сервер, который уже есть в вашей библиотеке подключений), Новый сервер (URL или команда, с переменными окружения и заголовками) или С помощью ассистента.
Для каждого сервера можно задать отображаемое имя, таймаут на один вызов и любые нужные серверу переменные окружения или API-ключи — они хранятся в зашифрованном виде. На шаге действия воркфлоу вызов, превысивший таймаут, автоматически повторяется — так же, как при обрыве соединения; для инструмента, который что-то меняет, повтор может выполнить это изменение дважды. Серверы можно включать и выключать по отдельности, а Проверить соединение проверяет, что сервер запускается и выдаёт список инструментов.
Где работает сервер стандартного ввода-вывода¶
Сервер стандартного ввода-вывода (stdio) — установленный из пакета или настроенный командой — работает в изолированной песочнице на платформе, а не внутри процесса вашего агента. Он запускается, когда он впервые нужен в чьём-то разговоре, по одному экземпляру на каждого человека, пользующегося агентом, поэтому сервер одного человека никогда не видит файлы или состояние другого. Примерно через полчаса без вызовов он останавливается, а следующий вызов запускает его снова, поэтому первый вызов после перерыва может занять чуть больше времени. У сервера фиксированный лимит памяти. До сервера доходят только переменные окружения и ключи того подключения, которым этому человеку разрешено пользоваться, — больше ничего из вашего агента или платформы.
Что умеет сервер¶
Когда вы добавляете, сохраняете, включаете или подключаете MCP-сервер, платформа запрашивает у него список инструментов и сохраняет ответ. Это происходит в фоне, поэтому инструменты только что добавленного сервера появляются чуть позже, а не в момент сохранения, — а если сервер медленно запускается в первый раз (у только что установленного пакета так часто бывает), платформа сама повторяет попытку несколько раз, а не сдаётся после первой (у сервера, который не отвечает дольше, инструменты остаются неподтверждёнными, пока он не восстановится). Проверить соединение выполняет ту же проверку сразу: это больше не шаг, о котором нужно помнить, а диагностика, которую можно запустить в любой момент, чтобы увидеть актуальный список прямо сейчас. Изменение адреса, команды или учётных данных сервера помечает сохранённый список как непроверенный — инструменты остаются видны, но платформа заново проверяет сервер с новыми настройками, прежде чем позволить воркфлоу на них полагаться.
Шаг воркфлоу может использовать только инструмент из сохранённого списка сервера. Шаг, в котором указан инструмент, которого там нет, не проходит валидацию, а билдер получает список инструментов, которые сервер действительно предлагает, чтобы исправить шаг до того, как воркфлоу будет готов к запуску. Для сервера, список которого ещё не заполнен, платформа перед валидацией ещё раз пытается до него достучаться: если это удаётся, шаг проверяется по свежему списку; если сервер по-прежнему не отвечает, валидация не проходит и указывает на настройки сервера, а не на шаг. Если серверу нужен OAuth и авторизация истекла, валидация сообщает об этом и указывает на Подключить, а не на настройки.
Эта проверка актуальна лишь настолько, насколько недавно платформа получала ответ от сервера. Когда инструмент тихо исчезает на стороне самого сервера, следующее сохранение обычно это замечает: платформа заново читает список и сохраняет более короткий. Исключение — сервер, который перестал предлагать вообще какие-либо инструменты: пустой ответ считается сбоем, а не правдой, поэтому сохраняется последний известный список. Проверить соединение заменяет его тем, что сервер говорит сейчас. Изменение адреса, команды или учётных данных сервера помечает список как непроверенный, а не стирает его: инструменты остаются на экране, но платформа заново проверяет сервер перед следующей публикацией, а не доверяет списку, собранному со старыми настройками. Если эта повторная проверка не проходит, публикация отклоняется и указывает на настройки сервера, а не на шаг, — так же, как для сервера, список которого никогда не заполнялся. Пока повторной проверки не было, валидация по-прежнему видит старый инструмент, и ошибку выявляет сам запуск, когда шаг в следующий раз попытается его использовать.
Общие и персональные подключения¶
У каждого MCP-сервера (и каждой интеграции с Google) есть режим подключения:
- Общее (моё подключение) — агент использует собственное подключение владельца для всех пользователей, с которыми общается, и во всех запусках воркфлоу.
- Каждый пользователь — своё — каждый конечный пользователь подключает свой аккаунт, прежде чем сможет пользоваться инструментами сервера, и агент работает с данными этого человека — в чате и в запусках воркфлоу, которые выполняются от имени этого человека: их шаги вызывают сервер через его подключение. Подключение сохраняется в его библиотеке подключений, поэтому его можно повторно использовать в других агентах, которым нужно такое же подключение.
Переменную окружения MCP-сервера тоже можно пометить как «Заполняет каждый пользователь», вместо того чтобы владелец задавал её один раз, — каждый конечный пользователь указывает своё значение, когда оно впервые понадобится.
Когда вы меняете то, как запускается сервер, добавленный из пакета, — его версию или аргументы, — всех, кроме вас, попросят заново выбрать подключение к нему.
Персональные подключения и переменные окружения для каждого пользователя требуют агента v2; агенты v1 поддерживают только режим общего подключения.
Общие подключения у агента с общим доступом
У агента с общим доступом или опубликованного агента сервер в режиме Общее (моё подключение) отмечается предупреждающим значком в библиотеке подключений владельца — Все, кто использует <agent>, используют ваши учётные данные, — потому что каждый, кто общается с агентом, действует через собственное подключение владельца, в чате и в своих запусках воркфлоу. Переключитесь на Каждый пользователь — своё, если вам нужно не это.
Это касается и изменений: каждый инструмент общего MCP-сервера выполняется с вашими учётными данными, кто бы его ни вызвал, включая инструменты, которые что-то меняют или удаляют, — для людей, которые только пользуются агентом, чтение и запись ничем не разделены. Общий почтовый ящик и общий аккаунт Google устроены уже: см. Почтовый ящик и Google Workspace.
Подключение MCP-серверов через OAuth¶
Некоторые облачные MCP-серверы требуют войти во внешний аккаунт, а не вставить API-ключ. Платформа определяет это автоматически: когда серверу это нужно, у него появляется пометка «Этому серверу нужна авторизация OAuth.» с кнопкой Авторизация.
Нажатие открывает во всплывающем окне экран входа провайдера. Когда вы подтвердите доступ, у сервера появится Авторизация OAuth пройдена, и агент сможет им пользоваться. Если доступ позже истечёт, сервер покажет Авторизация OAuth истекла — переподключите, и вы авторизуетесь заново тем же способом. Токены обновляются автоматически в фоне и не покидают платформу. Завершайте вход в том же аккаунте Агента Атом, из которого его начали: вход, начатый по чужой ссылке, отклоняется, и ничего не подключается.