Инструменты агента Maps Experience (ранее – Maps Grounding Lite) – это сервис платформы Google Карт с поддержкой протокола контекста модели (MCP), который позволяет заземлять ИИ-приложения с помощью надежных геопространственных данных из Google Карт. MCP-сервер предоставляет инструменты, которые позволяют LLM получать доступ к данным о местах, погоде и маршрутах. Другие инструменты преобразуют названия мест и URL Google Карт в идентификаторы мест. Чтобы попробовать инструменты агента Maps Experience, включите их в любом инструменте, поддерживающем серверы MCP.
Инструменты агента Maps Experience – это один продукт с двумя SKU: Essentials и Pro. Каждый запрос оплачивается по тарифу Essentials, если не используется вариант Pro. В версии Pro доступна расширенная информация о местах, больше мест в результатах поиска, больше промежуточных остановок на маршруте и маршрутизация с учетом загруженности дорог в реальном времени. В период ограниченной общей доступности функции Pro доступны только для проектов из белого списка Pro. Оба SKU используют один и тот же MCP-сервер, инструменты и учетные данные. Подробнее о версиях Essentials и Pro…
Инструменты
Инструменты агента Maps Experience позволяют LLM получать доступ к следующим возможностям Google Карт:
- Поиск мест. Запрашивайте информацию о местах и получайте краткие пересказы, созданные ИИ. В ответе также будут идентификаторы мест, координаты и ссылки на Google Карты для каждого места в сводке. Идентификаторы мест и координаты можно использовать с другими API платформы Google Карт, чтобы показывать места на карте. В версии Pro можно запрашивать расширенную информацию о местах, например статистику по отзывам, и до 10 мест за запрос.
- Погода. Запрашивает информацию о погоде и возвращает текущие условия, почасовые и ежедневные прогнозы.
Расчет маршрутов. Запросите маршрут между пунктами отправления и назначения, при необходимости с промежуточными остановками, и получите расстояние и время в пути. В версии Pro маршруты могут учитывать текущую загруженность дорог и включать больше промежуточных остановок.
Разрешить названия и Разрешить URL Карт. Позволяет сопоставить названия мест, адреса и URL Google Карт с идентификаторами мест. Подробнее о Resolution API…
После включения MCP-сервера LLM могут вызывать его инструменты, чтобы получать информацию для обоснования этих типов данных. LLM может использовать эту информацию в качестве контекста. Однако в окончательном ответе может не быть точной информации, возвращенной сервером MCP. Проверяйте точность сгенерированных ответов.
Essentials и Pro
Essentials и Pro – это два SKU одного продукта, а не отдельные продукты или планы. Запрос оплачивается по тарифу Pro, если в нем используется функция Pro. Все остальные запросы оплачиваются по тарифу Essentials. Параметры Pro – это обычные поля в запросе инструмента, поэтому LLM может использовать их от вашего имени. Агент также может использовать обе лицензии в одном разговоре. Например, агент может использовать Essentials, чтобы найти кофейни рядом с достопримечательностью. Затем, чтобы ответить на уточняющий вопрос о фирменных напитках и количестве мест, Gemini может использовать Pro. Для Pro нет отдельного MCP-сервера, конечной точки или учетных данных.
Сравнение Essentials, Pro и обоснования с Google Картами
Обоснование с Google Картами – это отдельный продукт. Она встроена в модели Gemini в Gemini API, Google AI Studio и Gemini Enterprise Agent Platform. Модель сама решает, когда запрашивать информацию у Google Карт, и возвращает обоснованные ответы с цитатами. Выберите обоснование с Google Картами, если вы разрабатываете продукт на основе Gemini и хотите, чтобы модель выполняла обоснование. Выберите инструменты агента Maps Experience для других моделей или фреймворков агентов, или для прямого управления каждым вызовом инструмента.
| инструменты агента Maps Experience | Обоснование с Google Картами | ||
|---|---|---|---|
| Essentials SKU (ранее Maps Grounding Lite) |
Pro SKU | ||
| Как оплачиваются запросы | Каждый запрос к инструменту, в котором не используется функция Pro | Каждый запрос инструмента, в котором используется функция Pro:
include_extended_details,
page_size выше 5,
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL или более 10
промежуточных путевых точек. |
Каждый запрос к Google Картам или обоснованный запрос в зависимости от платформы и модели. |
| Модели и платформы | Любая модель или фреймворк агента, поддерживающие MCP. Один MCP-сервер, один набор инструментов и одни и те же учетные данные для обеих подписок. | Модели Gemini в Gemini API, Google AI Studio и Gemini Enterprise Agent Platform | |
| Что возвращают инструменты | Основные факты: информация о местах (до пяти мест на поиск), расстояние и продолжительность маршрута без учета трафика в реальном времени, текущая погода и прогнозы. | Все возможности Essentials, а также расширенная информация о местах (например, статистика по отзывам), до 10 мест на поиск, маршруты с учетом загруженности дорог в реальном времени и до 25 промежуточных путевых точек. | Информация о местах и отзывы о них, а также сведения о маршрутах и загруженности дорог. |
| Примеры запросов | Фактические и логистические вопросы: поиск магазинов или компаний, часы работы, адреса, а также расчет расстояния или времени в пути. | Субъективные или общие вопросы: атмосфера, фирменные блюда, советы посетителям, сравнение 6–10 мест и время в пути с учетом текущей загруженности дорог. | Поиск в режиме диалога, планирование маршрутов и поиск мест поблизости в Gemini. |
| Визуализации Places UI Kit | Входит в токен визуализации данных агента (предварительная версия) без дополнительной платы. | Оплачивается отдельно | |
| Бесплатное использование в месяц | 10 000 запросов | 5000 запросов; | Зависит от платформы и модели. Например, в Gemini API для Gemini 3 и более новых моделей доступно 5000 бесплатных поисковых запросов в месяц. После этого поисковые запросы будут стоить 14 долларов США за 1000. |
| Цена с оплатой по мере использования | 7 долларов США за 1000 запросов со скидками за объем | 14 долларов США за 1000 запросов. Цены для особо крупных объемов уточняйте в отделе продаж. | |
| Оформите подписку, чтобы сэкономить | Входит в тарифные планы Essentials и Pro | Не включено | Недоступно |
| Начать | Один процесс настройки для обоих SKU: см. Как настроить LLM для использования сервера MCP. В период ограниченного доступа к общедоступной версии для использования функций Pro также требуется, чтобы проект был добавлен в белый список Pro. | Gemini API или платформа агентов | |
Эти параметры работают одинаково с обоими SKU: режимы передвижения, время отправления и прибытия, альтернативные маршруты, ломаные линии маршрутов, поиск погоды и Resolution API. Они не влияют на то, по какому SKU выставляется счет за запрос.
Что оплачивается по тарифу Pro
| Инструмент | Возможности | Essentials | Pro |
|---|---|---|---|
| Поиск мест | Мест на запрос | До 5 | 6–10 (page_size из 6–10) |
| Расширенная информация о местах в сводках поиска (данные из отзывов, популярные блюда, атмосфера, загруженность, советы посетителей, а также расстояние или время в пути для запросов о близости). | Недоступно | Доступно в тарифном плане include_extended_details |
|
| Расчет маршрутов | Настройки маршрутизации | Не учитывает текущую загруженность дорог. | Учитывает текущую загруженность дорог или данные об общественном транспорте в реальном времени (ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL). |
| Промежуточные путевые точки на маршруте | До 10 | От 11 до 25 (более 10 intermediate_waypoints) |
|
| Lookup weather и Resolution API | Нет версий Pro. Все запросы оплачиваются по тарифу Essentials. | ||
О том, какие параметры запроса включают каждую из функций, читайте в статьях Поиск мест и Расчет маршрутов.
Варианты перехода на Pro в период ограниченной общей доступности
В период ограниченной общей доступности функции Pro доступны только для облачных проектов Google Cloud, включенных в белый список Pro. Чтобы запросить доступ, свяжитесь с отделом продаж. После того как проект будет добавлен в белый список, все ключи API и клиенты OAuth в нем смогут использовать функции Pro.
Если ваш проект ещё не добавлен в белый список, запросы, в которых используются функции Pro, обрабатываются следующим образом:
- Поиск мест. Параметр
include_extended_detailsигнорируется, а ответ содержит не более пяти мест, даже если вы задали дляpage_sizeбольшее значение. Плата за запрос взимается по тарифу Essentials. - Compute Routes.
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALобрабатывается какROUTING_PREFERENCE_TRAFFIC_UNAWARE, и плата за запрос взимается по коду Essentials. Если в запросе указано больше 10 промежуточных путевых точек, возвращается ошибкаINVALID_ARGUMENT.
Чтобы проверить, есть ли ваш проект в белом списке, отправьте запрос search_places, указав для параметра page_size значение 10. Используйте широкий запрос, например restaurants in
Chicago. Проект из белого списка может возвращать более пяти мест, оплачиваемых по тарифу Pro. Другие проекты возвращают не более 5 мест.
Как управлять доступом к Pro
По умолчанию функции Pro отключены. LLM задает их, когда этого требует запрос пользователя и это разрешено схемой инструмента или вашими инструкциями. Схема инструмента описывает page_size значений до 5 и не более 10 промежуточных путевых точек.
Поэтому модели используют более высокие лимиты Pro, только когда это требуется для выполнения ваших инструкций. Чтобы управлять расходами:
- Укажите модели, когда следует использовать функции Pro. Например: "Задавай значение
include_extended_details, только когда пользователь спрашивает об отзывах, меню или атмосфере". Или: "ИспользуйROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, только когда пользователь спрашивает текущее время в пути". - Чтобы агент оставался в Essentials SKU, укажите в инструкции для модели, что она не должна использовать функции Pro. В Pro-версии можно выбрать
include_extended_details,page_size(больше 5),ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALи более 10 промежуточных точек. Если ваш клиент MCP может ограничивать аргументы инструментов, вы также можете заблокировать эти значения в конфигурации инструмента. - Отслеживайте использование в отчетах об оплате и настройте оповещения о бюджете.
Resolution API
Инструменты агента Maps Experience предоставляют Resolution API. Она преобразует текст и URL местоположений в свободной форме в структурированные идентификаторы мест Google Карт. Resolution API доступен в виде методов REST и инструментов на сервере MCP:
- Resolve names (REST, MCP). Сопоставление группы названий или адресов с определенными местами на Google Картах. Это полезно для привязки неструктурированных пользовательских запросов к стабильным идентификаторам мест.
- Resolve Maps URLs (REST, MCP) – сопоставляет пакет URL Google Карт с определенными объектами мест. Поддерживаются стандартные и сокращенные URL.
Полученные идентификаторы мест можно использовать с другими API платформы Google Карт. Каждый ответ также содержит ссылку, по которой можно сохранить найденные места в виде списка в Google Картах.
Подробную информацию вы найдете в статье Maps Tools Resolution API.
Попробуйте пример приложения (откроется в новой вкладке)
Оплата и квоты
Как взимается оплата
При использовании модели оплаты по мере использования платформы Google Карт использование инструментов агента Maps Experience рассчитывается для каждого запроса. Каждый запрос представляет собой одно событие оплаты. Использование отслеживается отдельно для каждого кода продукта. В счете будет указана отдельная строка для каждого SKU, а также общая сумма к оплате. Подробнее об отчетах…
Каждый запрос Search places, Compute routes или Lookup weather оплачивается по одному коду продукта: Essentials или Pro. Запрос, в котором используется любая функция Pro, оплачивается по коду Pro. Оплата никогда не взимается по обоим SKU, и количество вариантов Pro не влияет на размер платы. Следующие параметры определяют SKU:
| Инструмент | Essentials | Pro |
|---|---|---|
search_places |
Любой запрос без параметра Pro: page_size не больше 5, а include_extended_details не задано или false. |
include_extended_details со значением true или page_size со значением от 6 до 10. |
compute_routes |
Любой запрос без параметра Pro: routing_preference не задан или ROUTING_PREFERENCE_TRAFFIC_UNAWARE, не более 10 промежуточных путевых точек, любой способ передвижения. |
routing_preference имеет значение ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL или от 11 до 25 промежуточных путевых точек. |
lookup_weather |
Каждый запрос | — |
Цены на Essentials приведены в сведениях о SKU Essentials. Запросы Pro оплачиваются по тарифу 14 долларов США за 1000 запросов после первых 5000 запросов в месяц. Цены для особо крупных объемов уточняйте в отделе продаж.
В период ограниченного общего доступа функции Pro будут действовать только в проектах из белого списка Pro. Подробнее о возможностях Pro во время ограниченного общего доступа…
Подробные сведения о ценах приведены в основной таблице цен и таблице цен для Индии.
Запросы к Resolution API (ResolveNames и ResolveMapsUrls) не оплачиваются. Они относятся к коду Places API Text Search Essentials (IDs Only).
Использование Essentials SKU также включено в пакеты Essentials и Pro Подпишитесь, чтобы сэкономить. Тарифный план Pro не входит в пакеты "Подписка со скидкой".
Квоты
Для инструментов и API, предоставляемых инструментами агента Maps Experience, действуют следующие квоты:
- Поиск мест: 300 запросов в минуту на проект.
- Поиск погоды: 300 запросов в минуту на проект.
- Расчет маршрутов: 300 запросов в минуту на проект.
- Разрешение имен: 600 запросов в минуту на проект.
- Resolve Maps URLs: 600 запросов в минуту на проект.
Квоты рассчитываются для каждого инструмента и являются общими для версий Essentials и Pro. Запрос Pro расходует ту же квоту, что и запрос Essentials к тому же инструменту.
Каждый запрос к Resolution API считается за один запрос, независимо от того, сколько элементов он содержит.
Правила и условия использования
Использование инструментов агента Maps Experience регулируется Условиями использования платформы Google Карт, включая Условия использования отдельных сервисов. В этом разделе описаны дополнительные требования к использованию инструментов агента Maps Experience, включая совместимые LLM и атрибуцию источников. Требования применяются ко всем результатам независимо от того, по какому SKU оплачивается запрос.
Требования к совместимым LLM
Вы можете использовать инструменты агента Maps Experience только с LLM, которая соответствует Условиям использования платформы Google Карт.
Например, вы должны убедиться, что контент Google Карт не кешируется, не хранится и не используется для улучшения выбранной вами LLM. Прежде чем использовать инструменты агента Maps Experience, ознакомьтесь с Условиями использования модели, которую вы планируете применять. Запрещается использовать инструменты агента Maps Experience с моделями, которые используют входные данные для обучения или улучшения. Вы несете ответственность за то, чтобы использование модели полностью соответствовало ограничениям на контент Google Карт, указанным в Условиях использования платформы Google Карт, включая условия для отдельных сервисов.
Требования к указанию авторства для источников Google Карт
Каждый ответ от инструментов агента Maps Experience содержит источники. Когда вы показываете результаты, полученные с помощью инструментов агента Maps Experience, вы должны указать связанные источники Google Карт и соблюдать следующие требования:
- Источники Google Карт должны быть указаны сразу после сгенерированного контента, который они подтверждают. Этот сгенерированный контент также называется обоснованными выходными данными.
- Источники Google Карт должны быть видны в рамках одного взаимодействия с пользователем.
Источники данных для инструмента "Поиск мест"
Поле search_places tool places содержит источники, подтверждающие summary. Для places возвращаются следующие метаданные:
place(название ресурса)idlocationgoogleMapsLinks
Для каждого места необходимо создать предварительный просмотр ссылки, который соответствует следующим требованиям:
- Укажите Google Карты в качестве источника, следуя правилам указания источника для инструментов агента Maps Experience.
- Укажите ссылку на источник, используя
places.googleMapsLinks.placeUrlиз ответа.
Эти требования также распространяются на сводки, которые включают расширенные сведения о местах из Pro, например информацию из отзывов. В summary каждое место указывается с помощью индекса, начинающегося с нуля, например [0], который сопоставляется с записью в places. Каждое место также включает googleMapsLinks.reviewsUrl, которое ссылается на отзывы о месте в Google Картах. Пользователи могут перейти по ней, чтобы посмотреть отзывы, на основе которых была создана подсказка.
Голосовые интерфейсы
Если ваше приложение озвучивает результаты, полученные от инструментов агента Maps Experience, вы также должны соблюдать требования к голосовым интерфейсам. Сводные указания:
- Источники. Показывайте источники Google Карт в сопутствующем интерфейсе, который содержит дословную запись голосового разговора.
- Активное раскрытие информации. В момент взаимодействия сообщайте пользователям, что контент, созданный ИИ, может включать информацию из Google Карт. Также сообщите, что подробные источники доступны в интерфейсе Companion. Это можно сделать на экране или с помощью голосовой команды.
- Постоянное раскрытие информации. Добавьте постоянное пояснение, например в меню настроек голоса, о том, что контент, созданный ИИ, может включать контент Google Карт.
- Запросы пользователей. Точно отвечайте на вопросы пользователей об источнике контента и направляйте их к сопутствующему интерфейсу за подробностями.
Настройте LLM для использования MCP-сервера
Чтобы использовать инструменты агента Maps Experience, вам нужен облачный проект Google Cloud с включенным сервисом API инструментов агента Maps Experience. Кроме того, вам потребуется ключ API или идентификатор клиента OAuth. Затем вы можете настроить LLM для доступа к MCP-серверу. MCP-сервер использует потоковый транспорт HTTP.
Включите инструменты агента Maps Experience в облачном проекте Google Cloud.
Чтобы включить API в проекте, выполните следующие действия:
- В консоли Google Cloud выберите проект, который хотите использовать для инструментов агента Maps Experience.
- Включите оплату для проекта в Google Cloud Console.
- Включите инструменты агента Maps Experience в библиотеке API Google Cloud Console.
Аутентификация с помощью ключа API
Вы можете использовать существующий ключ API или создать новый. В любом случае включите сервис Maps Experience agent tools API как в облачном проекте Google Cloud, так и в ключе.
Чтобы выполнить аутентификацию с помощью ключа API, сделайте следующее:
- Создайте или настройте ключ API, следуя инструкциям в статье Начало работы с платформой Google Карт.
- Передайте ключ на MCP-сервер, используя заголовок
X-Goog-Api-Key. Его нужно указать в качестве специального HTTP-заголовка в конфигурации MCP-инструмента LLM.
Аутентификация с помощью OAuth
Чтобы выполнить аутентификацию с помощью OAuth, создайте учетные данные OAuth и передайте их хосту MCP или приложению MCP-сервера.
Чтобы выполнить аутентификацию с помощью OAuth:
- В консоли Google Cloud выберите проект, который хотите использовать для инструментов агента Maps Experience.
- В меню API & Services (API и сервисы) выберите Credentials (Учетные данные).
- В верхнем меню выберите Создать учетные данные > Идентификатор клиента OAuth.
- Если в проекте не настроено окно запроса доступа, нажмите Настроить окно запроса доступа и следуйте инструкциям на экране.
- В разделе Показатели нажмите Создать клиент OAuth.
- На экране Создать идентификатор клиента OAuth выберите тип приложения и введите название идентификатора клиента.
- Укажите дополнительные сведения, относящиеся к типу вашего приложения. Например, если вы создаете веб-приложение, добавьте авторизованные URI для запросов браузера и сервера.
- После создания клиента сохраните идентификатор клиента и секретный код.
- При настройке хоста или приложения MCP-сервера передайте идентификатор клиента OAuth и секретный код. Также необходимо запросить следующую область действия:
https://www.googleapis.com/auth/maps-platform.mapstools.
Подробнее о том, как использовать протокол OAuth 2.0 для доступа к API Google…
Настройте LLM для доступа к серверу MCP инструментов агента Maps Experience
После того как вы включите сервис Maps Experience agent tools и создадите учетные данные, вы сможете настроить LLM для доступа к MCP-серверу. Следуйте инструкциям по настройке MCP для вашей LLM и используйте URL сервера MCP: https://mapstools.googleapis.com/mcp
Подробнее о том, как настроить MCP в ИИ-приложении…
Как настроить инструменты агента Maps Experience с помощью Gemini CLI
В этом разделе приведен пример настройки MCP-сервера инструментов агента Maps Experience с помощью Gemini CLI. Подробнее о серверах MCP с Gemini CLI…
После установки Gemini CLI запустите
gemini mcp add, чтобы настроить сервер MCP:gemini mcp add -s user -t http -H 'X-Goog-Api-Key: API_KEY' maps-experience-agent-tools-mcp https://mapstools.googleapis.com/mcpЕсли настройка выполнена успешно, вы увидите подтверждение того, что сервер добавлен в ваши пользовательские настройки.
Чтобы убедиться, что сервер работает правильно, выполните команду
/mcp list:> /mcp list Configured MCP servers: maps-experience-agent-tools-mcp - Ready (5 tools) Tools: - compute_routes - lookup_weather - resolve_maps_urls - resolve_names - search_placesНачните задавать вопросы о Картах с помощью CLI. Например, попробуйте сказать "Порекомендуй мне рестораны в Маунтин-Вью". Инструмент search_places должен выполнить поиск от вашего имени.
Как настроить инструменты агента Maps Experience с помощью Agent Development Kit (ADK)
В этом разделе показано, как настроить сервер MCP с помощью Agent Development Kit (ADK) на Python, Java или TypeScript.
Python
Полную реализацию этого примера можно найти на GitHub в репозитории adk-samples.
Шаг 1. Определите агента с помощью инструментов McpToolset для агентов Maps Experience
Измените файл agent.py. Замените YOUR_GOOGLE_MAPS_API_KEY своим ключом API.
# ./adk_agent_samples/mcp_agent/agent.py import os from google.adk.agents.llm_agent import Agent from google.adk.tools.mcp_tool import McpToolset from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams # Retrieve the API key from an environment variable or directly insert it. GOOGLE_MAPS_API_KEY = os.getenv("GOOGLE_MAPS_API_KEY") if not GOOGLE_MAPS_API_KEY: GOOGLE_MAPS_API_KEY = "YOUR_GOOGLE_MAPS_API_KEY_HERE" if GOOGLE_MAPS_API_KEY == "YOUR_GOOGLE_MAPS_API_KEY_HERE": print("WARNING: GOOGLE_MAPS_API_KEY is not set.") root_agent = Agent( model='gemini-flash-latest', name='travel_planner_agent', description='A helpful assistant for planning travel routes.', tools=[ McpToolset( connection_params=StreamableHTTPConnectionParams( url="https://mapstools.googleapis.com/mcp", headers={ "X-Goog-Api-Key": GOOGLE_MAPS_API_KEY, "Content-Type": "application/json", "Accept": "application/json, text/event-stream" } ) ) ] )
Шаг 2. Убедитесь, что __init__.py существует
Убедитесь, что файл __init__.py находится в том же каталоге, что и файл agent.py.
from . import agent
Шаг 3. Запустите adk web и начните работу
- Задайте переменную среды.
Задайте ключ Google Maps API в качестве переменной среды в терминале:export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
- Запустите
adk web.
Чтобы запустить веб-интерфейс ADK, выполните следующую команду:adk web
- В интерфейсе:
- Выберите сеть
travel_planner_agent. - Попробуйте такие запросы:
- "Завтра я буду в Сан-Франциско. Какая сейчас погода?"
- "Найди кофейни рядом с парком "Золотые ворота".
- "Проложи маршрут от GooglePlex до аэропорта Сан-Франциско".
- Выберите сеть
Java
Определите агент, который инициализирует McpToolset в Java.
Если вы не используете переменную среды, замените YOUR_GOOGLE_MAPS_API_KEY_HERE на полученный ключ API.
package agents; import com.google.adk.agents.LlmAgent; import com.google.adk.runner.InMemoryRunner; import com.google.adk.sessions.SessionKey; import com.google.adk.tools.mcp.McpToolset; import com.google.adk.tools.mcp.StreamableHttpServerParameters; import com.google.genai.types.Content; import com.google.genai.types.Part; import java.util.HashMap; import java.util.Map; public class MapsAgentCreator { public static void main(String[] args) { String googleMapsApiKey = System.getenv("GOOGLE_MAPS_API_KEY"); if (googleMapsApiKey == null || googleMapsApiKey.trim().isEmpty()) { googleMapsApiKey = "YOUR_GOOGLE_MAPS_API_KEY_HERE"; if ("YOUR_GOOGLE_MAPS_API_KEY_HERE".equals(googleMapsApiKey)) { System.out.println("WARNING: GOOGLE_MAPS_API_KEY is not set."); } } Map<String, String> headers = new HashMap<>(); headers.put("X-Goog-Api-Key", googleMapsApiKey); headers.put("Content-Type", "application/json"); headers.put("Accept", "application/json, text/event-stream"); StreamableHttpServerParameters serverParams = StreamableHttpServerParameters.builder("https://mapstools.googleapis.com/mcp") .headers(headers) .build(); try (McpToolset toolset = new McpToolset(serverParams)) { LlmAgent agent = LlmAgent.builder() .model("gemini-flash-latest") .name("travel_planner_agent") .description("A helpful assistant for planning travel routes.") .tools(toolset) .build(); System.out.println("Agent created: " + agent.name()); InMemoryRunner runner = new InMemoryRunner(agent); String userId = "maps-user-" + System.currentTimeMillis(); String sessionId = "maps-session-" + System.currentTimeMillis(); String promptText = "Please give me directions to the nearest pharmacy to Madison Square Garden."; SessionKey sessionKey = runner.sessionService() .createSession(runner.appName(), userId, null, sessionId) .blockingGet() .sessionKey(); System.out.println("Session created: " + sessionId + " for user: " + userId); Content promptContent = Content.fromParts(Part.fromText(promptText)); System.out.println("\nSending prompt: \"" + promptText + "\" to agent...\n"); runner.runAsync(sessionKey, promptContent) .blockingForEach(event -> { System.out.println("Event received: " + event.toJson()); }); } catch (Exception e) { System.err.println("An error occurred: " + e.getMessage()); e.printStackTrace(); } } }
TypeScript
Определите агент, который инициализирует MCPToolset в TypeScript:
import 'dotenv/config'; import {LlmAgent, MCPToolset} from "@google/adk"; const googleMapsApiKey = process.env.GOOGLE_MAPS_API_KEY; if (!googleMapsApiKey) { console.warn("WARNING: GOOGLE_MAPS_API_KEY is not set."); throw new Error( 'GOOGLE_MAPS_API_KEY is not provided, please run "export GOOGLE_MAPS_API_KEY=YOUR_ACTUAL_KEY" to add that.' ); } export const rootAgent = new LlmAgent({ model: "gemini-flash-latest", name: "travel_planner_agent", description: "A helpful assistant for planning travel.", tools: [ new MCPToolset({ type: "SseConnectionParams", url: "https://mapstools.googleapis.com/mcp", headers: { "X-Goog-Api-Key": googleMapsApiKey, "Content-Type": "application/json", "Accept": "application/json, text/event-stream" } }) ], });
Отправка отзыва
Чтобы поделиться отзывом об инструментах агента Maps Experience, используйте следующие формы: