Инструмент: lookup_weather
Получает подробные данные о погоде, включая текущие условия, почасовые и ежедневные прогнозы.
Доступные данные: температура (текущая, ощущаемая, максимальная/минимальная, тепловой индекс), ветер (скорость, порывы, направление), астрономические события (восход/закат, фаза луны), осадки (тип, вероятность, количество/QPF), атмосферные условия (УФ-индекс, влажность, облачность, вероятность грозы) и геокодированный адрес местоположения.
Местоположение и правила для местоположений (КРИТИЧЕСКИ ВАЖНО)
Местоположение, для которого запрашиваются данные о погоде, указывается в поле location. Это поле имеет структуру "один из", то есть вы ДОЛЖНЫ указать значение ТОЛЬКО ДЛЯ ОДНОГО из трех подполей местоположения, чтобы обеспечить точный поиск данных о погоде.
Географические координаты (lat_lng)
- Используйте его, если у вас есть точные координаты широты и долготы.
- Пример: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Лос-Анджелес
Идентификатор места (place_id)
- Однозначный строковый идентификатор (идентификатор места в Google Картах).
- Идентификатор place_id можно получить с помощью инструмента search_places.
- Пример: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Эйфелева башня
Строка адреса (address)
- Строка в свободной форме, которая требует уточнения для геокодирования.
- Город и регион. Всегда указывайте регион или страну (например, "Лондон, Великобритания", а не просто "Лондон").
- Почтовый адрес. Укажите полный адрес, например "1600 Pennsylvania Ave NW, Washington, DC".
- Почтовые индексы: ОБЯЗАТЕЛЬНО должны сопровождаться названием страны (например, "90210, США", а не "90210").
- Пример: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}
Режимы использования
Текущая погода. Укажите только
location. Не указывайте свойстваdateиhour.Почасовой прогноз. Укажите
location,dateиhour(0–23). Используйте для конкретного времени (например, "в 17:00") или таких выражений, как "в ближайшие несколько часов" или "позже сегодня". Если пользователь указывает минуты, округлите время до ближайшего часа. Почасовой прогноз погоды на период более 120 часов не поддерживается. Почасовые данные о погоде доступны за последние 24 часа.Прогноз на день. Укажите
locationиdate. Не указывайтеhour. Используйте для общих запросов о погоде на определенный день, например "погода на завтра", "погода в пятницу", "погода 25 декабря". Если в контексте нет сегодняшней даты, уточните ее у пользователя. Прогноз на срок более 10 дней, включая сегодняшний, не поддерживается. Прогноз погоды за прошедшие дни не поддерживается.
Ограничения параметров:
- Часовые пояса. Все значения
dateиhourдолжны быть указаны в местном часовом поясе, а не в часовом поясе пользователя. - Формат даты. Вводимые данные должны быть разделены на
{year, month, day}целых чисел. - Единицы измерения. По умолчанию –
METRIC. Установите для параметраunits_systemзначениеIMPERIAL(градусы Фаренгейта/мили), если пользователь подразумевает стандарты США или явно запрашивает их. Обоснованный ответ должен быть связан с источником с помощью информации из поля
attribution, если оно доступно.
В примере кода ниже показано, как использовать 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 MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
Запрос для метода LookupWeather – представляет погодные условия в запрашиваемом местоположении.
LookupWeatherRequest
| JSON-представление |
|---|
{ "unitsSystem": enum ( |
| Поля | |
|---|---|
unitsSystem |
Необязательное поле. Система единиц измерения, которая будет использоваться для возвращаемых погодных условий. Если не указано, возвращаемые погодные условия будут в метрической системе (по умолчанию = METRIC). |
location |
Обязательно. Местоположение, для которого нужно получить прогноз погоды. |
Объединенное поле Поле |
|
date |
Необязательное поле. Дата, на которую запрашивается информация о погоде. Примечание. Эта дата относится к местному часовому поясу местоположения, указанного в поле "Местоположение". Дата должна быть в диапазоне от 24 часов в прошлом до 10 дней в будущем. |
Объединенное поле Поле |
|
hour |
Необязательное поле. Час, на который запрашивается информация о погоде, в 24-часовом формате (0–23). Это значение относится к местному часовому поясу местоположения, указанного в поле местоположения. Почасовой прогноз погоды на период более 120 часов не поддерживается. Почасовые данные о погоде доступны за последние 24 часа. |
Дата
| 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 |
Адрес в понятном для человека формате или код Plus Code. Подробную информацию можно найти на сайте https://plus.codes. |
LatLng
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
| Поля | |
|---|---|
latitude |
Градусная мера широты. Должна попадать в диапазон [-90.0, +90.0]. |
longitude |
Градусная мера долготы. Должна попадать в диапазон [-180,0, +180,0]. |
UnitsSystem
Система единиц измерения, используемая для значений.
| Перечисления | |
|---|---|
UNITS_SYSTEM_UNSPECIFIED |
Система единиц измерения не указана. |
IMPERIAL |
Английская система мер (например, градусы Фаренгейта, мили и т.д.). |
METRIC |
Метрическая система (например, градусы Цельсия, километры и т.д.). |
Схема вывода
Ответ на RPC-запрос LookupWeather – представляет погодные условия в запрошенном местоположении.
Этот ответ содержит информацию как за час, так и за день, поэтому он разделен на три раздела: "Почасовая", "Ежедневная" и "Общая". Поля Only-Hourly и Only-Daily помечены как необязательные. Некоторые поля, которые есть и в почасовых, и в ежедневных отчетах, присутствуют всегда, поэтому они не помечены как необязательные. Остальные поля помечены как необязательные, поскольку они доступны не всегда.
LookupWeatherResponse
| JSON-представление |
|---|
{ "weatherCondition": { object ( |
| Поля | |
|---|---|
weatherCondition |
Погодные условия. |
precipitation |
Вероятность осадков и их количество. |
wind |
ветер; |
returnedLocation |
Обязательно. Местоположение, для которого возвращается информация о погоде. Это местоположение совпадает с указанным в запросе, но может отличаться от него, если в запросе указан адрес в виде текста, который соответствует приблизительному местоположению (например, "Маунтин-Вью, Калифорния"). |
attribution |
Обязательная атрибуция, которая показывается вместе с погодой. |
Объединенное поле Поле |
|
temperature |
Почасовая температура. |
Объединенное поле Поле |
|
feelsLikeTemperature |
Почасовые данные о том, как ощущается температура. |
Объединенное поле Поле |
|
heatIndex |
Почасовой тепловой индекс. |
Объединенное поле Поле |
|
airPressure |
Почасовой прогноз атмосферного давления. |
Объединенное поле Поле |
|
maxTemperature |
Максимальная температура в течение дня. |
Объединенное поле Поле |
|
minTemperature |
Минимальная температура в течение дня. |
Объединенное поле Поле |
|
feelsLikeMaxTemperature |
Максимальная температура по ощущениям в течение дня. |
Объединенное поле Поле |
|
feelsLikeMinTemperature |
Минимальная ощущаемая температура в течение дня. |
Объединенное поле Поле |
|
maxHeatIndex |
Максимальная температура по тепловому индексу в течение дня. |
Объединенное поле Поле |
|
sunEvents |
События, связанные с солнцем (например, восход, закат). |
Объединенное поле Поле |
|
moonEvents |
События, связанные с Луной (например, восход и заход Луны). |
Объединенное поле Поле |
|
relativeHumidity |
Относительная влажность в процентах (значения от 0 до 100). Необязательный параметр, так как эти данные не всегда доступны. |
Объединенное поле Поле |
|
uvIndex |
Максимальный УФ-индекс. Необязательный параметр, так как он не всегда доступен. |
Объединенное поле Поле |
|
thunderstormProbability |
Вероятность грозы (значения от 0 до 100). Необязательный параметр, так как он не всегда доступен. |
Объединенное поле Поле |
|
cloudCover |
Процент неба, покрытого облаками (значения от 0 до 100). Определите как необязательное, так как оно не всегда доступно. |
Температура
| JSON-представление |
|---|
{ "unit": enum ( |
| Поля | |
|---|---|
unit |
Код единицы измерения температуры. |
Объединенное поле Поле |
|
degrees |
Значение температуры (в градусах) в указанной единице измерения. |
AirPressure
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
Объединенное поле Поле |
|
meanSeaLevelMillibars |
Среднее атмосферное давление на уровне моря в миллибарах. |
SunEvents
| JSON-представление |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| Поля | |
|---|---|
sunriseTime |
Время восхода солнца. ПРИМЕЧАНИЕ. В некоторых уникальных случаях (например, к северу от полярного круга) время восхода солнца может отсутствовать. В таких случаях это поле не будет заполнено. Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: |
sunsetTime |
Время заката. ПРИМЕЧАНИЕ. В некоторых случаях (например, за полярным кругом) заката может не быть. В таких случаях это поле не будет заполнено. Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: |
Временная метка
| 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. Допустимы и другие типы нормализации. Примеры: |
moonsetTimes[] |
Время, когда верхний край Луны исчезает за горизонтом (см. https://en.wikipedia.org/wiki/Moonrise_and_moonset)). ПРИМЕЧАНИЕ. В большинстве случаев луна заходит один раз в день. В других случаях список может быть пустым (например, когда луна заходит после полуночи следующего дня). Однако в некоторых случаях (например, в полярных регионах) список может содержать несколько значений. В таких случаях значения сортируются по возрастанию. Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: |
moonPhase |
Фаза Луны. |
WeatherCondition
| JSON-представление |
|---|
{ "iconBaseUri": string, "description": { object ( |
| Поля | |
|---|---|
iconBaseUri |
Базовый URI значка без расширения типа файла. Чтобы показать значок, добавьте к этому URI тему (необязательно) и расширение типа файла ( |
description |
Текстовое описание погодных условий (локализованное). |
type |
Тип погодных условий. |
LocalizedText
| JSON-представление |
|---|
{ "text": string, "languageCode": string } |
| Поля | |
|---|---|
text |
Локализованная строка на языке, соответствующем значению |
languageCode |
Код языка по стандарту BCP-47, например "ru-RU" или "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. |
PrecipitationProbability
| JSON-представление |
|---|
{ "type": enum ( |
| Поля | |
|---|---|
type |
Код, указывающий тип осадков. |
Объединенное поле Поле |
|
percent |
Вероятность осадков в процентах (от 0 до 100). |
QuantitativePrecipitationForecast
| JSON-представление |
|---|
{ "unit": enum ( |
| Поля | |
|---|---|
unit |
Код единицы измерения, используемой для измерения количества выпавших осадков. |
Объединенное поле Поле |
|
quantity |
Количество осадков, измеренное в эквиваленте жидкой воды, которое накопилось за определенный период времени. |
Ветер
| JSON-представление |
|---|
{ "direction": { object ( |
| Поля | |
|---|---|
direction |
Направление ветра, угол, под которым он дует. |
speed |
Скорость ветра. |
gust |
Порывы ветра (внезапное увеличение скорости ветра). |
WindDirection
| JSON-представление |
|---|
{ "cardinal": enum ( |
| Поля | |
|---|---|
cardinal |
Код, обозначающий сторону света, откуда дует ветер. |
Объединенное поле Поле |
|
degrees |
Направление ветра в градусах (значения от 0 до 360). |
WindSpeed
| JSON-представление |
|---|
{ "unit": enum ( |
| Поля | |
|---|---|
unit |
Код, представляющий единицу измерения скорости ветра. |
Объединенное поле Поле |
|
value |
Значение скорости ветра. |
Местоположение
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
Объединенное поле location_type. Различные способы представления местоположения. location_type может иметь одно из следующих значений: |
|
latLng |
Точка, заданная географическими координатами. |
placeId |
Идентификатор места, связанный с местоположением . |
address |
Адрес в понятном для человека формате или код Plus Code. Подробную информацию можно найти на сайте https://plus.codes. |
LatLng
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
| Поля | |
|---|---|
latitude |
Градусная мера широты. Должна попадать в диапазон [-90.0, +90.0]. |
longitude |
Градусная мера долготы. Должна попадать в диапазон [-180,0, +180,0]. |
Атрибуция
| JSON-представление |
|---|
{ "title": string, "url": string } |
| Поля | |
|---|---|
title |
Заголовок, который будет показываться в атрибуции. |
url |
URL, на который ведет ссылка для атрибуции. |
TemperatureUnit
Единица измерения температуры.
| Перечисления | |
|---|---|
TEMPERATURE_UNIT_UNSPECIFIED |
Единица измерения температуры не указана. |
CELSIUS |
Температура измеряется в градусах Цельсия. |
FAHRENHEIT |
Температура измеряется в градусах Фаренгейта. |
MoonPhase
Отмечает фазу Луны.
| Перечисления | |
|---|---|
MOON_PHASE_UNSPECIFIED |
Фаза Луны не указана. |
NEW_MOON |
Луна не освещается солнцем. |
WAXING_CRESCENT |
Луна освещена на 0–50 % с правой стороны в Северном полушарии 🌒 и с левой стороны в Южном полушарии 🌘. |
FIRST_QUARTER |
Луна освещена на 50,1% с правой стороны в северном полушарии 🌓 и с левой стороны в южном полушарии 🌗. |
WAXING_GIBBOUS |
Луна освещена на 50–100 % с правой стороны в Северном полушарии 🌔 и с левой стороны в Южном полушарии 🌖. |
FULL_MOON |
Луна полностью освещена. |
WANING_GIBBOUS |
Луна освещена на 50–100 % с левой стороны в Северном полушарии 🌖 и с правой стороны в Южном полушарии 🌔. |
LAST_QUARTER |
Луна освещена на 50,1% с левой стороны в северном полушарии 🌗 и с правой стороны в южном полушарии 🌓. |
WANING_CRESCENT |
В Северном полушарии освещена левая сторона Луны 🌘, а в Южном – правая 🌒. Освещенность составляет от 0 до 50 %. |
Тип
Обозначает тип погодных условий в контексте элемента прогноза.
| Перечисления | |
|---|---|
TYPE_UNSPECIFIED |
Погодные условия не указаны. |
CLEAR |
Без облаков. |
MOSTLY_CLEAR |
Переменная облачность. |
PARTLY_CLOUDY |
Переменная облачность (небольшая облачность). |
MOSTLY_CLOUDY |
Преимущественно облачно (облаков больше, чем солнца). |
CLOUDY |
Облачно (солнце не видно). |
WINDY |
Сильный ветер. |
WIND_AND_RAIN |
Сильный ветер с осадками. |
LIGHT_RAIN_SHOWERS |
Небольшой кратковременный дождь. |
CHANCE_OF_SHOWERS |
Возможен дождь. |
SCATTERED_SHOWERS |
Временами дождь. |
RAIN_SHOWERS |
Ливень – это дождь, который длится меньше обычного, начинается и заканчивается внезапно, а его интенсивность быстро меняется. |
HEAVY_RAIN_SHOWERS |
Сильные ливни. |
LIGHT_TO_MODERATE_RAIN |
Дождь (небольшой или умеренный). |
MODERATE_TO_HEAVY_RAIN |
Дождь (умеренный или сильный). |
RAIN |
Умеренный дождь. |
LIGHT_RAIN |
Небольшой дождь. |
HEAVY_RAIN |
Сильный дождь. |
RAIN_PERIODICALLY_HEAVY |
Дождь, временами сильный. |
LIGHT_SNOW_SHOWERS |
Небольшой снег, который идет с разной интенсивностью в течение коротких периодов времени. |
CHANCE_OF_SNOW_SHOWERS |
Возможен снегопад. |
SCATTERED_SNOW_SHOWERS |
Снег, который идет с разной интенсивностью в течение коротких периодов времени. |
SNOW_SHOWERS |
Кратковременные снегопады. |
HEAVY_SNOW_SHOWERS |
Сильный ливневый снег. |
LIGHT_TO_MODERATE_SNOW |
Небольшой или умеренный снег. |
MODERATE_TO_HEAVY_SNOW |
Умеренный или сильный снег. |
SNOW |
Умеренный снег. |
LIGHT_SNOW |
Небольшой снег. |
HEAVY_SNOW |
Сильный снегопад. |
SNOWSTORM |
Снег, возможны гром и молния. |
SNOW_PERIODICALLY_HEAVY |
Снег, временами сильный. |
HEAVY_SNOW_STORM |
Сильный снегопад, возможны гром и молния. |
BLOWING_SNOW |
Снег с сильным ветром. |
RAIN_AND_SNOW |
Дождь со снегом. |
HAIL |
Град. |
HAIL_SHOWERS |
Град, который идет с разной интенсивностью в течение коротких периодов времени. |
THUNDERSTORM |
Гроза. |
THUNDERSHOWER |
Ливень с громом и молнией. |
LIGHT_THUNDERSTORM_RAIN |
Небольшая гроза с дождем. |
SCATTERED_THUNDERSTORMS |
Грозы с кратковременными дождями разной интенсивности. |
HEAVY_THUNDERSTORM |
Сильная гроза. |
PrecipitationType
Тип осадков в указанном местоположении.
| Перечисления | |
|---|---|
PRECIPITATION_TYPE_UNSPECIFIED |
Тип осадков не указан. |
NONE |
Без осадков. |
SNOW |
Снег. |
RAIN |
Дождь. |
LIGHT_RAIN |
Небольшой дождь. |
HEAVY_RAIN |
Сильный дождь. |
RAIN_AND_SNOW |
Дождь со снегом. |
SLEET |
Мокрый снег. |
FREEZING_RAIN |
Ледяной дождь. |
Единица измерения
Единица измерения количества выпавших осадков.
| Перечисления | |
|---|---|
UNIT_UNSPECIFIED |
Единица измерения осадков не указана. |
MILLIMETERS |
Количество осадков измеряется в миллиметрах. |
INCHES |
Количество осадков измеряется в дюймах. |
CardinalDirection
Представляет сторону света (включая промежуточные направления).
| Перечисления | |
|---|---|
CARDINAL_DIRECTION_UNSPECIFIED |
Сторона света не указана. |
NORTH |
Северное направление. |
NORTH_NORTHEAST |
Северо-северо-восток. |
NORTHEAST |
Северо-восток. |
EAST_NORTHEAST |
Восток-северо-восток. |
EAST |
Восток. |
EAST_SOUTHEAST |
Восток-юго-восток. |
SOUTHEAST |
Юго-восток. |
SOUTH_SOUTHEAST |
Юго-юго-восток. |
SOUTH |
Юг. |
SOUTH_SOUTHWEST |
Юго-юго-запад. |
SOUTHWEST |
Юго-западное направление. |
WEST_SOUTHWEST |
Запад-юго-запад. |
WEST |
Западное направление. |
WEST_NORTHWEST |
Запад-северо-запад. |
NORTHWEST |
Северо-западное направление. |
NORTH_NORTHWEST |
Северо-северо-западное направление. |
SpeedUnit
Единица измерения скорости.
| Перечисления | |
|---|---|
SPEED_UNIT_UNSPECIFIED |
Единица измерения скорости не указана. |
KILOMETERS_PER_HOUR |
Скорость измеряется в километрах в час. |
MILES_PER_HOUR |
Скорость измеряется в милях в час. |
Аннотации инструментов
Аннотации инструментов отправляются клиентам MCP, чтобы описать базовый риск, связанный с определенным инструментом. Большинство клиентов считают эти подсказки ненадежными, но их можно использовать, чтобы решить, когда пользователю может быть отправлен запрос на подтверждение.
Помимо строки заголовка, определены следующие логические подсказки:
readOnlyHint: если задано значение true, инструмент не изменяет свою среду. Значение по умолчанию – false.destructiveHint: если задано значение True, инструмент может выполнять деструктивные действия. Если задано значение false, инструмент может выполнять только действия по добавлению. Значение по умолчанию: true.idempotentHint. Если задано значение True, повторный вызов инструмента с теми же аргументами не будет иметь дополнительного эффекта в его среде. Значение по умолчанию – false.openWorldHint: если задано значение true, инструмент может взаимодействовать с открытым миром внешних объектов. Если false, то инструмент может взаимодействовать только с внутренними объектами. Например, инструмент веб-поиска будет открытым миром, а инструмент памяти – нет.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌