Инструмент: lookup_weather
Получает исчерпывающие данные о погоде, включая текущие условия, почасовые и суточные прогнозы. Доступные конкретные данные: температура (текущая, ощущаемая, максимальная/минимальная, индекс жары), ветер (скорость, порывы, направление), небесные явления (восход/заход солнца, фаза Луны), осадки (тип, вероятность, количество/QPF), атмосферные условия (УФ-индекс, влажность, облачность, вероятность грозы) и адрес с геолокацией. Местоположение и правила определения местоположения (КРИТИЧЕСКИ ВАЖНО): местоположение, для которого запрашиваются данные о погоде, указывается с помощью поля «местоположение». Это поле имеет структуру «один из», то есть для обеспечения точного поиска данных о погоде НЕОБХОДИМО указать значение ТОЛЬКО для ОДНОГО из трех подполей местоположения ниже. 1. Географические координаты (широта/долгота) * Используйте это поле, если вам предоставлены точные координаты широты/долготы. * Пример: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Лос-Анджелес 2. Идентификатор места (place_id) * Однозначный строковый идентификатор (идентификатор места в Google Maps). * place_id можно получить с помощью инструмента search_places. * Пример: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Эйфелева башня 3. Адресная строка (address) * Строка произвольного формата, требующая детализации для геокодирования. * Город и регион: Всегда указывайте регион/страну (например, "Лондон, Великобритания", а не "Лондон"). * Адрес улицы: Укажите полный адрес (например, "1600 Pennsylvania Ave NW, Вашингтон, округ Колумбия"). * Почтовый индекс: ДОЛЖЕН сопровождаться названием страны (например, "90210, США", а НЕ "90210"). Режимы использования: 1. Текущая погода: Укажите только address . Не указывайте date и hour . 2. Почасовой прогноз: Укажите address , date и hour (0-23). Используйте для указания конкретного времени (например, «в 17:00») или терминов типа «в ближайшие несколько часов» или «позже сегодня». Если пользователь указывает минуты, округлите до ближайшего часа в меньшую сторону. Почасовой прогноз на период более 48 часов не поддерживается. 3. Суточный прогноз: Укажите address и date . Не указывайте hour . Используйте для общих запросов на день (например, «погода на завтра», «погода в пятницу», «погода 25 декабря»). Если сегодняшняя дата отсутствует в контексте, следует уточнить это у пользователя. Суточный прогноз на период более 7 дней, включая сегодняшний день, не поддерживается. Исторические данные о погоде не поддерживаются. Ограничения параметров: * Часовые пояса: Все введенные date и hour должны быть относительными к местному часовому поясу местоположения , а не к часовому поясу пользователя. * Формат даты: Входные данные должны быть разделены на целые числа {year, month, day} . * Единицы измерения: По умолчанию используется METRIC . Установите units_system в IMPERIAL для градусов Фаренгейта/миль, если пользователь подразумевает стандарты США или явно запрашивает их.
В следующем примере показано, как использовать curl для вызова инструмента MCP lookup_weather .
| Запрос Curl |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "lookup_weather", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
Запрос метода LookupWeather — отображает погодные условия в запрошенном месте.
LookupWeatherRequest
| JSON-представление |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| Поля | |
|---|---|
DEPRECATEDAddress | УСТАРЕВШАЯ ВЕРСИЯ: Используйте вместо этого местоположение. |
unitsSystem | Необязательный параметр. Система единиц измерения, используемая для возвращаемых погодных условий. Если не указана, возвращаемые погодные условия будут представлены в метрической системе (по умолчанию = МЕТРИЧЕСКАЯ). |
location | Обязательно. Место, для которого необходимо получить информацию о погоде. |
Объединенное поле | |
date | Необязательно. Дата получения необходимой информации о погоде. Примечание: Эта дата указывается относительно местного часового пояса местоположения, указанного в поле местоположения. Дата должна быть в пределах следующих 7 дней. |
Union field | |
hour | Необязательно. Время предоставления запрашиваемой информации о погоде в 24-часовом формате (0-23). Это значение указывается относительно местного часового пояса местоположения, указанного в поле местоположения. Почасовой прогноз поддерживается только на следующие 48 часов с текущего времени. |
Дата
| JSON-представление |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Поля | |
|---|---|
year | Год даты. Должен быть от 1 до 9999, или 0, чтобы указать дату без года. |
month | Месяц года. Должен быть от 1 до 12 или 0, чтобы указать год без месяца и дня. |
day | День месяца. Должен быть от 1 до 31 и соответствовать году и месяцу, или 0, чтобы указать только год или год и месяц, где день не имеет значения. |
Расположение
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
Поле объединения location_type . Различные способы представления местоположения. location_type может принимать только одно из следующих значений: | |
latLng | Точка, заданная с использованием географических координат. |
placeId | Идентификатор места, связанный с данным местоположением. |
address | Адрес в удобочитаемом виде или код «плюс». Подробности см. на сайте https://plus.codes . |
LatLng
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
| Поля | |
|---|---|
latitude | Широта в градусах. Она должна находиться в диапазоне [-90,0, +90,0]. |
longitude | Долгота в градусах. Она должна находиться в диапазоне [-180,0, +180,0]. |
Схема вывода
Ответ на RPC-запрос LookupWeather — отображает погодные условия в запрошенном месте.
Этот ответ содержит как почасовую, так и суточную информацию, поэтому он разделен на три раздела: почасовой, суточный и общий. Поля, содержащие только почасовую и только суточную информацию, помечены как необязательные. Для полей, общих для почасовой и суточной информации, некоторые из них присутствуют всегда и не помечены как необязательные, а остальные помечены как необязательные, поскольку они доступны не всегда.
LookupWeatherResponse
| JSON-представление |
|---|
{ "weatherCondition": { object ( |
| Поля | |
|---|---|
weatherCondition | Погодные условия |
precipitation | Вероятность выпадения осадков и количество выпавших осадков. |
wind | Ветровые условия |
DEPRECATEDGeocodedAddress | УСТАРЕЛО: Используйте returned_location вместо этого. |
returnedLocation | Обязательно. Местоположение, куда возвращается информация о погоде. Это местоположение идентично местоположению в запросе, но может отличаться, если запрашиваемое местоположение представляет собой произвольный текстовый адрес, указывающий на приблизительное местоположение (например, «Маунтин-Вью, Калифорния»). |
Объединенное поле | |
temperature | Почасовая температура |
Поле объединения | |
feelsLikeTemperature | Почасовая оценка того, как ощущается температура. |
Объединенное поле | |
heatIndex | Почасовой индекс тепловой нагрузки. |
Объединенное поле | |
airPressure | Почасовые данные об атмосферном давлении. |
Объединенное поле | |
maxTemperature | Максимальная (высокая) температура в течение дня. |
Объединенное поле | |
minTemperature | Минимальная (низкая) температура в течение дня. |
Поле объединения | |
feelsLikeMaxTemperature | Максимальная (высокая) ощущаемая температура в течение дня. |
Поле объединения | |
feelsLikeMinTemperature | Минимальная (низкая) ощущаемая температура в течение дня. |
Объединенное поле | |
maxHeatIndex | Максимальная температура по индексу жары в течение дня. |
Union field | |
sunEvents | События, связанные с солнцем (например, восход, закат). |
Объединенное поле | |
moonEvents | События, связанные с Луной (например, восход и закат Луны). |
Объединенное поле | |
relativeHumidity | Процент относительной влажности (значения от 0 до 100). Это необязательный параметр, поскольку он доступен не всегда. |
Объединенное поле | |
uvIndex | Максимальный ультрафиолетовый (УФ) индекс. Это необязательный параметр, поскольку он доступен не всегда. |
Объединенное поле | |
thunderstormProbability | Вероятность грозы (значения от 0 до 100). Это необязательный параметр, поскольку он доступен не всегда. |
Объединенное поле | |
cloudCover | Процент облачности на небе (значения от 0 до 100). Это необязательный параметр, поскольку он доступен не всегда. |
Температура
| JSON-представление |
|---|
{ "unit": enum ( |
| Поля | |
|---|---|
unit | Код единицы измерения, используемой для определения значения температуры. |
Объединенное поле | |
degrees | Значение температуры (в градусах) в указанной единице измерения. |
Давление воздуха
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
Объединенное поле | |
meanSeaLevelMillibars | Среднее атмосферное давление на уровне моря в миллибарах. |
SunEvents
| JSON-представление |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| Поля | |
|---|---|
sunriseTime | Время восхода солнца. ПРИМЕЧАНИЕ: В некоторых уникальных случаях (например, к северу от Полярного круга) время восхода солнца в течение дня может отсутствовать. В таких случаях это поле будет пустым. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
sunsetTime | Время захода солнца. ПРИМЕЧАНИЕ: В некоторых уникальных случаях (например, к северу от Полярного круга) время захода солнца в течение дня может отсутствовать. В таких случаях это поле будет пустым. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
Отметка времени
| JSON-представление |
|---|
{ "seconds": string, "nanos": integer } |
| Поля | |
|---|---|
seconds | Обозначает количество секунд UTC-времени с начала эпохи Unix 1970-01-01T00:00:00Z. Должно находиться в диапазоне от -62135596800 до 253402300799 включительно (что соответствует периоду с 0001-01-01T00:00:00Z по 9999-12-31T23:59:59Z). |
nanos | Неотрицательные доли секунды с разрешением в наносекунды. Это поле представляет собой наносекундную часть длительности, а не альтернативу секундам. Отрицательные значения секунд с дробными долями должны по-прежнему иметь неотрицательные значения в наносекундах, отсчитываемые вперед во времени. Должны быть в диапазоне от 0 до 999 999 999 включительно. |
MoonEvents
| JSON-представление |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| Поля | |
|---|---|
moonriseTimes[] | Время, когда верхний край Луны появляется над горизонтом (см. https://en.wikipedia.org/wiki/Moonrise_and_moonset) . ПРИМЕЧАНИЕ: В большинстве случаев в течение дня будет указано только одно время восхода луны. В других случаях список может быть пустым (например, если луна восходит после полуночи следующего дня). Однако в уникальных случаях (например, в полярных регионах) список может содержать более одного значения. В этих случаях значения сортируются в порядке возрастания. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
moonsetTimes[] | Время, когда верхний край Луны скрывается за горизонтом (см. https://en.wikipedia.org/wiki/Moonrise_and_moonset) . ПРИМЕЧАНИЕ: В большинстве случаев в течение дня будет указано только одно время захода Луны. В других случаях список может быть пустым (например, если Луна заходит после полуночи следующего дня). Однако в уникальных случаях (например, в полярных регионах) список может содержать более одного значения. В этих случаях значения сортируются в порядке возрастания. Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: |
moonPhase | Фаза Луны (или лунная фаза). |
Погодные условия
| JSON-представление |
|---|
{ "iconBaseUri": string, "description": { object ( |
| Поля | |
|---|---|
iconBaseUri | Базовый URI для значка, не включающий расширение файла. Чтобы отобразить значок, при желании добавьте тему оформления и расширение файла ( |
description | Текстовое описание данного погодного явления (локальное). |
type | Тип погодных условий. |
Локализованный текст
| JSON-представление |
|---|
{ "text": string, "languageCode": string } |
| Поля | |
|---|---|
text | Локализованная строка на языке, соответствующем значению |
languageCode | Языковой код текста в системе BCP-47, например, "en-US" или "sr-Latn". Для получения дополнительной информации см. http://www.unicode.org/reports/tr35/#Unicode_locale_identifier . |
Осадки
| JSON-представление |
|---|
{ "probability": { object ( |
| Поля | |
|---|---|
probability | Вероятность выпадения осадков (значения от 0 до 100). |
snowQpf | Количество снега, измеренное в эквиваленте жидкой воды, накопившееся за определенный период времени. Примечание: QPF — это аббревиатура от Quantitative Precipitation Forecast (подробнее см. определение QuantitativePrecipitationForecast). |
qpf | Количество осадков в виде дождя, измеренное в эквиваленте жидкой воды, накопившееся за определенный период времени. Примечание: QPF — это аббревиатура от Quantitative Precipitation Forecast (подробнее см. определение QuantitativePrecipitationForecast). |
Вероятность осадков
| JSON-представление |
|---|
{ "type": enum ( |
| Поля | |
|---|---|
type | Код, указывающий на тип осадков. |
| |
percent | Процентное значение от 0 до 100, указывающее на вероятность осадков. |
Количественный прогноз осадков
| JSON-представление |
|---|
{ "unit": enum ( |
| Поля | |
|---|---|
unit | Код единицы измерения, используемой для определения количества накопленных осадков. |
Объединенное поле | |
quantity | Количество осадков, измеренное в эквиваленте жидкой воды, накопившееся за определенный период времени. |
Ветер
| JSON-представление |
|---|
{ "direction": { object ( |
| Поля | |
|---|---|
direction | Направление ветра, угол его дуновения. |
speed | Скорость ветра. |
gust | Порыв ветра (внезапное увеличение скорости ветра). |
Направление ветра
| JSON-представление |
|---|
{ "cardinal": enum ( |
| Поля | |
|---|---|
cardinal | Код, обозначающий основное направление ветра. |
Объединенное поле | |
degrees | Направление ветра в градусах (значения от 0 до 360). |
Скорость ветра
| JSON-представление |
|---|
{ "unit": enum ( |
| Поля | |
|---|---|
unit | Код, обозначающий единицу измерения скорости ветра. |
Объединенное поле | |
value | Значение скорости ветра. |
Расположение
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
Поле объединения location_type . Различные способы представления местоположения. location_type может принимать только одно из следующих значений: | |
latLng | Точка, заданная с использованием географических координат. |
placeId | Идентификатор места, связанный с данным местоположением. |
address | Адрес в удобочитаемом виде или код «плюс». Подробности см. на сайте https://plus.codes . |
LatLng
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
| Поля | |
|---|---|
latitude | Широта в градусах. Она должна находиться в диапазоне [-90,0, +90,0]. |
longitude | Долгота в градусах. Она должна находиться в диапазоне [-180,0, +180,0]. |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ❌ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌