MCP Tools Reference: mapstools.googleapis.com

Инструмент: 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 (UnitsSystem),
  "location": {
    object (Location)
  },

  // Union field _date can be only one of the following:
  "date": {
    object (google.type.Date)
  }
  // End of list of possible types for union field _date.

  // Union field _hour can be only one of the following:
  "hour": integer
  // End of list of possible types for union field _hour.
}
Поля
DEPRECATEDAddress
(deprecated)

string

УСТАРЕВШАЯ ВЕРСИЯ: Используйте вместо этого местоположение.

unitsSystem

enum ( UnitsSystem )

Необязательный параметр. Система единиц измерения, используемая для возвращаемых погодных условий. Если не указана, возвращаемые погодные условия будут представлены в метрической системе (по умолчанию = МЕТРИЧЕСКАЯ).

location

object ( Location )

Обязательно. Место, для которого необходимо получить информацию о погоде.

Объединенное поле _date .

_date может принимать только одно из следующих значений:

date

object ( google.type.Date )

Необязательно. Дата получения необходимой информации о погоде. Примечание: Эта дата указывается относительно местного часового пояса местоположения, указанного в поле местоположения. Дата должна быть в пределах следующих 7 дней.

Union field _hour .

_hour может принимать только одно из следующих значений:

hour

integer

Необязательно. Время предоставления запрашиваемой информации о погоде в 24-часовом формате (0-23). ​​Это значение указывается относительно местного часового пояса местоположения, указанного в поле местоположения. Почасовой прогноз поддерживается только на следующие 48 часов с текущего времени.

Дата

JSON-представление
{
  "year": integer,
  "month": integer,
  "day": integer
}
Поля
year

integer

Год даты. Должен быть от 1 до 9999, или 0, чтобы указать дату без года.

month

integer

Месяц года. Должен быть от 1 до 12 или 0, чтобы указать год без месяца и дня.

day

integer

День месяца. Должен быть от 1 до 31 и соответствовать году и месяцу, или 0, чтобы указать только год или год и месяц, где день не имеет значения.

Расположение

JSON-представление
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (google.type.LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
Поля
Поле объединения location_type . Различные способы представления местоположения. location_type может принимать только одно из следующих значений:
latLng

object ( google.type.LatLng )

Точка, заданная с использованием географических координат.

placeId

string

Идентификатор места, связанный с данным местоположением.

address

string

Адрес в удобочитаемом виде или код «плюс». Подробности см. на сайте https://plus.codes .

LatLng

JSON-представление
{
  "latitude": number,
  "longitude": number
}
Поля
latitude

number

Широта в градусах. Она должна находиться в диапазоне [-90,0, +90,0].

longitude

number

Долгота в градусах. Она должна находиться в диапазоне [-180,0, +180,0].

Схема вывода

Ответ на RPC-запрос LookupWeather — отображает погодные условия в запрошенном месте.

Этот ответ содержит как почасовую, так и суточную информацию, поэтому он разделен на три раздела: почасовой, суточный и общий. Поля, содержащие только почасовую и только суточную информацию, помечены как необязательные. Для полей, общих для почасовой и суточной информации, некоторые из них присутствуют всегда и не помечены как необязательные, а остальные помечены как необязательные, поскольку они доступны не всегда.

LookupWeatherResponse

JSON-представление
{
  "weatherCondition": {
    object (WeatherCondition)
  },
  "precipitation": {
    object (Precipitation)
  },
  "wind": {
    object (Wind)
  },
  "DEPRECATEDGeocodedAddress": string,
  "returnedLocation": {
    object (Location)
  },

  // Union field _temperature can be only one of the following:
  "temperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _temperature.

  // Union field _feels_like_temperature can be only one of the following:
  "feelsLikeTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_temperature.

  // Union field _heat_index can be only one of the following:
  "heatIndex": {
    object (Temperature)
  }
  // End of list of possible types for union field _heat_index.

  // Union field _air_pressure can be only one of the following:
  "airPressure": {
    object (AirPressure)
  }
  // End of list of possible types for union field _air_pressure.

  // Union field _max_temperature can be only one of the following:
  "maxTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _max_temperature.

  // Union field _min_temperature can be only one of the following:
  "minTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _min_temperature.

  // Union field _feels_like_max_temperature can be only one of the following:
  "feelsLikeMaxTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_max_temperature.

  // Union field _feels_like_min_temperature can be only one of the following:
  "feelsLikeMinTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_min_temperature.

  // Union field _max_heat_index can be only one of the following:
  "maxHeatIndex": {
    object (Temperature)
  }
  // End of list of possible types for union field _max_heat_index.

  // Union field _sun_events can be only one of the following:
  "sunEvents": {
    object (SunEvents)
  }
  // End of list of possible types for union field _sun_events.

  // Union field _moon_events can be only one of the following:
  "moonEvents": {
    object (MoonEvents)
  }
  // End of list of possible types for union field _moon_events.

  // Union field _relative_humidity can be only one of the following:
  "relativeHumidity": integer
  // End of list of possible types for union field _relative_humidity.

  // Union field _uv_index can be only one of the following:
  "uvIndex": integer
  // End of list of possible types for union field _uv_index.

  // Union field _thunderstorm_probability can be only one of the following:
  "thunderstormProbability": integer
  // End of list of possible types for union field _thunderstorm_probability.

  // Union field _cloud_cover can be only one of the following:
  "cloudCover": integer
  // End of list of possible types for union field _cloud_cover.
}
Поля
weatherCondition

object ( WeatherCondition )

Погодные условия

precipitation

object ( Precipitation )

Вероятность выпадения осадков и количество выпавших осадков.

wind

object ( Wind )

Ветровые условия

DEPRECATEDGeocodedAddress
(deprecated)

string

УСТАРЕЛО: Используйте returned_location вместо этого.

returnedLocation

object ( Location )

Обязательно. Местоположение, куда возвращается информация о погоде. Это местоположение идентично местоположению в запросе, но может отличаться, если запрашиваемое местоположение представляет собой произвольный текстовый адрес, указывающий на приблизительное местоположение (например, «Маунтин-Вью, Калифорния»).

Объединенное поле _temperature .

_temperature может принимать только одно из следующих значений:

temperature

object ( Temperature )

Почасовая температура

Поле объединения _feels_like_temperature .

_feels_like_temperature может принимать только одно из следующих значений:

feelsLikeTemperature

object ( Temperature )

Почасовая оценка того, как ощущается температура.

Объединенное поле _heat_index .

_heat_index может принимать только одно из следующих значений:

heatIndex

object ( Temperature )

Почасовой индекс тепловой нагрузки.

Объединенное поле _air_pressure .

_air_pressure может принимать только одно из следующих значений:

airPressure

object ( AirPressure )

Почасовые данные об атмосферном давлении.

Объединенное поле _max_temperature .

_max_temperature может принимать только одно из следующих значений:

maxTemperature

object ( Temperature )

Максимальная (высокая) температура в течение дня.

Объединенное поле _min_temperature .

_min_temperature может принимать только одно из следующих значений:

minTemperature

object ( Temperature )

Минимальная (низкая) температура в течение дня.

Поле объединения _feels_like_max_temperature .

_feels_like_max_temperature может принимать только одно из следующих значений:

feelsLikeMaxTemperature

object ( Temperature )

Максимальная (высокая) ощущаемая температура в течение дня.

Поле объединения _feels_like_min_temperature .

_feels_like_min_temperature может принимать только одно из следующих значений:

feelsLikeMinTemperature

object ( Temperature )

Минимальная (низкая) ощущаемая температура в течение дня.

Объединенное поле _max_heat_index .

_max_heat_index может принимать только одно из следующих значений:

maxHeatIndex

object ( Temperature )

Максимальная температура по индексу жары в течение дня.

Union field _sun_events .

_sun_events может принимать только одно из следующих значений:

sunEvents

object ( SunEvents )

События, связанные с солнцем (например, восход, закат).

Объединенное поле _moon_events .

_moon_events может принимать только одно из следующих значений:

moonEvents

object ( MoonEvents )

События, связанные с Луной (например, восход и закат Луны).

Объединенное поле _relative_humidity .

_relative_humidity может принимать только одно из следующих значений:

relativeHumidity

integer

Процент относительной влажности (значения от 0 до 100). Это необязательный параметр, поскольку он доступен не всегда.

Объединенное поле _uv_index .

_uv_index может принимать только одно из следующих значений:

uvIndex

integer

Максимальный ультрафиолетовый (УФ) индекс. Это необязательный параметр, поскольку он доступен не всегда.

Объединенное поле _thunderstorm_probability .

_thunderstorm_probability может принимать только одно из следующих значений:

thunderstormProbability

integer

Вероятность грозы (значения от 0 до 100). Это необязательный параметр, поскольку он доступен не всегда.

Объединенное поле _cloud_cover .

_cloud_cover может принимать только одно из следующих значений:

cloudCover

integer

Процент облачности на небе (значения от 0 до 100). Это необязательный параметр, поскольку он доступен не всегда.

Температура

JSON-представление
{
  "unit": enum (TemperatureUnit),

  // Union field _degrees can be only one of the following:
  "degrees": number
  // End of list of possible types for union field _degrees.
}
Поля
unit

enum ( TemperatureUnit )

Код единицы измерения, используемой для определения значения температуры.

Объединенное поле _degrees .

_degrees может принимать только одно из следующих значений:

degrees

number

Значение температуры (в градусах) в указанной единице измерения.

Давление воздуха

JSON-представление
{

  // Union field _mean_sea_level_millibars can be only one of the following:
  "meanSeaLevelMillibars": number
  // End of list of possible types for union field _mean_sea_level_millibars.
}
Поля

Объединенное поле _mean_sea_level_millibars .

_mean_sea_level_millibars может принимать только одно из следующих значений:

meanSeaLevelMillibars

number

Среднее атмосферное давление на уровне моря в миллибарах.

SunEvents

JSON-представление
{
  "sunriseTime": string,
  "sunsetTime": string
}
Поля
sunriseTime

string ( Timestamp format)

Время восхода солнца.

ПРИМЕЧАНИЕ: В некоторых уникальных случаях (например, к северу от Полярного круга) время восхода солнца в течение дня может отсутствовать. В таких случаях это поле будет пустым.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

sunsetTime

string ( Timestamp format)

Время захода солнца.

ПРИМЕЧАНИЕ: В некоторых уникальных случаях (например, к северу от Полярного круга) время захода солнца в течение дня может отсутствовать. В таких случаях это поле будет пустым.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

Отметка времени

JSON-представление
{
  "seconds": string,
  "nanos": integer
}
Поля
seconds

string ( int64 format)

Обозначает количество секунд UTC-времени с начала эпохи Unix 1970-01-01T00:00:00Z. Должно находиться в диапазоне от -62135596800 до 253402300799 включительно (что соответствует периоду с 0001-01-01T00:00:00Z по 9999-12-31T23:59:59Z).

nanos

integer

Неотрицательные доли секунды с разрешением в наносекунды. Это поле представляет собой наносекундную часть длительности, а не альтернативу секундам. Отрицательные значения секунд с дробными долями должны по-прежнему иметь неотрицательные значения в наносекундах, отсчитываемые вперед во времени. Должны быть в диапазоне от 0 до 999 999 999 включительно.

MoonEvents

JSON-представление
{
  "moonriseTimes": [
    string
  ],
  "moonsetTimes": [
    string
  ],
  "moonPhase": enum (MoonPhase)
}
Поля
moonriseTimes[]

string ( Timestamp format)

Время, когда верхний край Луны появляется над горизонтом (см. https://en.wikipedia.org/wiki/Moonrise_and_moonset) .

ПРИМЕЧАНИЕ: В большинстве случаев в течение дня будет указано только одно время восхода луны. В других случаях список может быть пустым (например, если луна восходит после полуночи следующего дня). Однако в уникальных случаях (например, в полярных регионах) список может содержать более одного значения. В этих случаях значения сортируются в порядке возрастания.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

moonsetTimes[]

string ( Timestamp format)

Время, когда верхний край Луны скрывается за горизонтом (см. https://en.wikipedia.org/wiki/Moonrise_and_moonset) .

ПРИМЕЧАНИЕ: В большинстве случаев в течение дня будет указано только одно время захода Луны. В других случаях список может быть пустым (например, если Луна заходит после полуночи следующего дня). Однако в уникальных случаях (например, в полярных регионах) список может содержать более одного значения. В этих случаях значения сортируются в порядке возрастания.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

moonPhase

enum ( MoonPhase )

Фаза Луны (или лунная фаза).

Погодные условия

JSON-представление
{
  "iconBaseUri": string,
  "description": {
    object (google.type.LocalizedText)
  },
  "type": enum (Type)
}
Поля
iconBaseUri

string

Базовый URI для значка, не включающий расширение файла. Чтобы отобразить значок, при желании добавьте тему оформления и расширение файла ( .png или .svg ) к этому URI. По умолчанию значок имеет светлую тему, но для темного режима можно добавить _dark . Например: "https://maps.gstatic.com/weather/v1/dust.svg" или "https://maps.gstatic.com/weather/v1/dust_dark.svg", где icon_base_uri — это "https://maps.gstatic.com/weather/v1/dust".

description

object ( google.type.LocalizedText )

Текстовое описание данного погодного явления (локальное).

type

enum ( Type )

Тип погодных условий.

Локализованный текст

JSON-представление
{
  "text": string,
  "languageCode": string
}
Поля
text

string

Локализованная строка на языке, соответствующем значению google.type.LocalizedText.language_code указанному ниже.

languageCode

string

Языковой код текста в системе BCP-47, например, "en-US" или "sr-Latn".

Для получения дополнительной информации см. http://www.unicode.org/reports/tr35/#Unicode_locale_identifier .

Осадки

JSON-представление
{
  "probability": {
    object (PrecipitationProbability)
  },
  "snowQpf": {
    object (QuantitativePrecipitationForecast)
  },
  "qpf": {
    object (QuantitativePrecipitationForecast)
  }
}
Поля
probability

object ( PrecipitationProbability )

Вероятность выпадения осадков (значения от 0 до 100).

snowQpf

object ( QuantitativePrecipitationForecast )

Количество снега, измеренное в эквиваленте жидкой воды, накопившееся за определенный период времени. Примечание: QPF — это аббревиатура от Quantitative Precipitation Forecast (подробнее см. определение QuantitativePrecipitationForecast).

qpf

object ( QuantitativePrecipitationForecast )

Количество осадков в виде дождя, измеренное в эквиваленте жидкой воды, накопившееся за определенный период времени. Примечание: QPF — это аббревиатура от Quantitative Precipitation Forecast (подробнее см. определение QuantitativePrecipitationForecast).

Вероятность осадков

JSON-представление
{
  "type": enum (PrecipitationType),

  // Union field _percent can be only one of the following:
  "percent": integer
  // End of list of possible types for union field _percent.
}
Поля
type

enum ( PrecipitationType )

Код, указывающий на тип осадков.

_percent поля объединения.

_percent может принимать только одно из следующих значений:

percent

integer

Процентное значение от 0 до 100, указывающее на вероятность осадков.

Количественный прогноз осадков

JSON-представление
{
  "unit": enum (Unit),

  // Union field _quantity can be only one of the following:
  "quantity": number
  // End of list of possible types for union field _quantity.
}
Поля
unit

enum ( Unit )

Код единицы измерения, используемой для определения количества накопленных осадков.

Объединенное поле _quantity .

_quantity может принимать только одно из следующих значений:

quantity

number

Количество осадков, измеренное в эквиваленте жидкой воды, накопившееся за определенный период времени.

Ветер

JSON-представление
{
  "direction": {
    object (WindDirection)
  },
  "speed": {
    object (WindSpeed)
  },
  "gust": {
    object (WindSpeed)
  }
}
Поля
direction

object ( WindDirection )

Направление ветра, угол его дуновения.

speed

object ( WindSpeed )

Скорость ветра.

gust

object ( WindSpeed )

Порыв ветра (внезапное увеличение скорости ветра).

Направление ветра

JSON-представление
{
  "cardinal": enum (CardinalDirection),

  // Union field _degrees can be only one of the following:
  "degrees": integer
  // End of list of possible types for union field _degrees.
}
Поля
cardinal

enum ( CardinalDirection )

Код, обозначающий основное направление ветра.

Объединенное поле _degrees .

_degrees может принимать только одно из следующих значений:

degrees

integer

Направление ветра в градусах (значения от 0 до 360).

Скорость ветра

JSON-представление
{
  "unit": enum (SpeedUnit),

  // Union field _value can be only one of the following:
  "value": number
  // End of list of possible types for union field _value.
}
Поля
unit

enum ( SpeedUnit )

Код, обозначающий единицу измерения скорости ветра.

Объединенное поле _value .

_value может принимать только одно из следующих значений:

value

number

Значение скорости ветра.

Расположение

JSON-представление
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (google.type.LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
Поля
Поле объединения location_type . Различные способы представления местоположения. location_type может принимать только одно из следующих значений:
latLng

object ( google.type.LatLng )

Точка, заданная с использованием географических координат.

placeId

string

Идентификатор места, связанный с данным местоположением.

address

string

Адрес в удобочитаемом виде или код «плюс». Подробности см. на сайте https://plus.codes .

LatLng

JSON-представление
{
  "latitude": number,
  "longitude": number
}
Поля
latitude

number

Широта в градусах. Она должна находиться в диапазоне [-90,0, +90,0].

longitude

number

Долгота в градусах. Она должна находиться в диапазоне [-180,0, +180,0].

Аннотации инструментов

Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ❌ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌