Herramienta: lookup_weather
Recupera datos meteorológicos integrales, incluidas las condiciones actuales y los pronósticos por hora y por día. Datos específicos disponibles: Temperatura (actual, sensación térmica, máxima/mínima, índice de calor), viento (velocidad, ráfagas, dirección), eventos celestes (amanecer/atardecer, fase lunar), precipitación (tipo, probabilidad, cantidad/QPF), condiciones atmosféricas (índice UV, humedad, cobertura de nubes, probabilidad de tormentas eléctricas) y dirección de ubicación geocodificada. Ubicación y reglas de ubicación (CRÍTICO): La ubicación para la que se solicitan datos meteorológicos se especifica con el campo "location". Este campo es una estructura "oneof", lo que significa que DEBES proporcionar un valor para SOLO UNO de los tres subcampos de ubicación que se indican a continuación para garantizar una búsqueda precisa de datos meteorológicos. 1. Coordenadas geográficas (lat_lng): * Úsalas cuando se te proporcionen coordenadas exactas de latitud y longitud. * Ejemplo: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Ángeles 2. ID de lugar (place_id): Es un identificador de cadena inequívoco (ID de lugar de Google Maps). * El place_id se puede recuperar de la herramienta search_places. * Ejemplo: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Torre Eiffel 3. Cadena de dirección (address): * Cadena de formato libre que requiere especificidad para la codificación geográfica. * Ciudad y región: Siempre incluye la región o el país (p.ej., "Londres, Reino Unido", no "Londres"). * Dirección: Proporciona la dirección completa (p.ej., "1600 Pennsylvania Ave NW, Washington, DC"). * Códigos postales: DEBEN estar acompañados del nombre del país (p.ej., "90210, EE.UU.", NO "90210"). Modos de uso: 1. Clima actual: Proporciona solo address. No especifiques date ni hour. 2. Pronóstico por hora: Proporciona address, date y hour (de 0 a 23). Usar en horarios específicos (p.ej., "a las 5 p.m.") o términos como "en las próximas horas" o "más tarde hoy". Si el usuario especifica minutos, redondea hacia abajo a la hora más cercana. No se admite la previsión por hora más allá de las 48 horas a partir de ahora. 3. Pronóstico diario: Proporciona address y date. No especifiques hour. Se usa para solicitudes generales del día (p.ej., "clima para mañana", "clima el viernes", "clima el 25/12"). Si la fecha actual no está en el contexto, debes aclararla con el usuario. No se admite la previsión diaria más allá de los 7 días, incluido el día de hoy. No se admite el clima histórico. Restricciones de parámetros: * Zonas horarias: Todas las entradas de date y hour deben ser relativas a la zona horaria local de la ubicación, no a la zona horaria del usuario. * Formato de fecha: Las entradas deben separarse en {year, month, day} números enteros. * Unidades: La configuración predeterminada es METRIC. Establece units_system en IMPERIAL para Fahrenheit/millas si el usuario implica estándares de EE.UU. o lo solicita explícitamente.
En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP lookup_weather.
| Solicitud de 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 }' |
Esquema de entrada
Solicitud para el método LookupWeather, que representa las condiciones climáticas en la ubicación solicitada.
LookupWeatherRequest
| Representación JSON |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| Campos | |
|---|---|
DEPRECATEDAddress |
OBSOLETO: Usa location en su lugar. |
unitsSystem |
Opcional. Es el sistema de unidades que se usará para las condiciones climáticas devueltas. Si no se proporciona, las condiciones climáticas devueltas estarán en el sistema métrico (predeterminado = METRIC). |
location |
Obligatorio. Es la ubicación para la que se obtendrán las condiciones climáticas. |
Campo de unión
|
|
date |
Opcional. Es la fecha de la información meteorológica requerida. Nota: Esta fecha es relativa a la zona horaria local de la ubicación especificada en el campo de ubicación. La fecha debe ser dentro de los próximos 7 días. |
Campo de unión
|
|
hour |
Opcional. Hora de la información meteorológica solicitada, en formato de 24 horas (0-23). Este valor es relativo a la zona horaria local de la ubicación especificada en el campo de ubicación. El pronóstico por hora solo se admite para las próximas 48 horas a partir de la hora actual. |
Fecha
| Representación JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Campos | |
|---|---|
year |
Año de la fecha. Debe ser entre 1 y 9,999, o bien 0 para especificar una fecha sin año. |
month |
Mes del año. Debe ser del 1 al 12 o 0 para especificar un año sin un mes ni un día. |
day |
Día del mes. Debe ser entre 1 y 31 y ser válido para el año y el mes o bien 0 para especificar un año solo o un año y un mes en los que el día no sea significativo. |
Ubicación
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión location_type. Diferentes formas de representar una ubicación. location_type puede ser solo uno de los parámetros siguientes: |
|
latLng |
Es un punto especificado con coordenadas geográficas. |
placeId |
Es el ID de lugar asociado a la ubicación . |
address |
Dirección legible o Plus Code. Visita https://plus.codes para obtener más información. |
LatLng
| Representación JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campos | |
|---|---|
latitude |
La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0]. |
longitude |
La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0]. |
Esquema de salida
Es la respuesta para la RPC de LookupWeather, que representa las condiciones climáticas en la ubicación solicitada.
Esta respuesta representa información tanto por hora como diaria, por lo que se divide en tres secciones: Hourly, Daily y Shared. Los campos Only-Hourly y Only-Daily están marcados como opcionales. En el caso de los campos que se comparten entre la información por hora y la diaria, algunos siempre están presentes, por lo que no se marcan como opcionales, mientras que el resto se marcan como opcionales porque no siempre están disponibles.
LookupWeatherResponse
| Representación JSON |
|---|
{ "weatherCondition": { object ( |
| Campos | |
|---|---|
weatherCondition |
La condición climática |
precipitation |
La probabilidad de precipitaciones y la cantidad de precipitaciones acumuladas |
wind |
Las condiciones del viento |
DEPRECATEDGeocodedAddress |
OBSOLETO: Usa returned_location en su lugar. |
returnedLocation |
Obligatorio. Es la ubicación para la que se devuelve la información del clima. Esta ubicación es idéntica a la de la solicitud, pero puede ser diferente si la ubicación solicitada es una dirección de texto libre que se busca en una ubicación aproximada (p.ej., "Mountain View, CA"). |
Campo de unión
|
|
temperature |
La temperatura por hora |
Campo de unión
|
|
feelsLikeTemperature |
Es la medida por hora de cómo se siente la temperatura. |
Campo de unión
|
|
heatIndex |
Es la temperatura de sensación térmica por hora. |
Campo de unión
|
|
airPressure |
Son las condiciones de presión atmosférica por hora. |
Campo de unión
|
|
maxTemperature |
La temperatura máxima (alta) durante el día. |
Campo de unión
|
|
minTemperature |
Es la temperatura mínima (baja) durante el día. |
Campo de unión
|
|
feelsLikeMaxTemperature |
La sensación térmica máxima (alta) durante el día. |
Campo de unión
|
|
feelsLikeMinTemperature |
Es la sensación térmica mínima (baja) durante el día. |
Campo de unión
|
|
maxHeatIndex |
Es la temperatura máxima del índice de calor durante el día. |
Campo de unión
|
|
sunEvents |
Son los eventos relacionados con el sol (p.ej., amanecer, atardecer). |
Campo de unión
|
|
moonEvents |
Son los eventos relacionados con la Luna (p.ej., salida y puesta de la Luna). |
Campo de unión
|
|
relativeHumidity |
Porcentaje de humedad relativa (valores de 0 a 100). Se define como opcional porque no siempre está disponible. |
Campo de unión
|
|
uvIndex |
Índice ultravioleta (UV) máximo. Se define como opcional porque no siempre está disponible. |
Campo de unión
|
|
thunderstormProbability |
Probabilidad de tormenta eléctrica (valores de 0 a 100). Se define como opcional porque no siempre está disponible. |
Campo de unión
|
|
cloudCover |
Porcentaje del cielo cubierto por nubes (valores de 0 a 100). Se define como opcional porque no siempre está disponible. |
Temperatura
| Representación JSON |
|---|
{ "unit": enum ( |
| Campos | |
|---|---|
unit |
Es el código de la unidad que se usa para medir el valor de la temperatura. |
Campo de unión
|
|
degrees |
Es el valor de temperatura (en grados) en la unidad especificada. |
AirPressure
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión
|
|
meanSeaLevelMillibars |
Es la presión atmosférica media a nivel del mar en milibares. |
SunEvents
| Representación JSON |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| Campos | |
|---|---|
sunriseTime |
Es la hora en que sale el sol. NOTA: En algunos casos únicos (p.ej., al norte del círculo polar ártico), es posible que no haya hora de amanecer en un día. En estos casos, este campo no se establecerá. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
sunsetTime |
Es la hora en que se pone el sol. NOTA: En algunos casos únicos (p.ej., al norte del círculo polar ártico), es posible que no haya hora de puesta del sol en un día. En estos casos, este campo no se establecerá. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
Marca de tiempo
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive. |
MoonEvents
| Representación JSON |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| Campos | |
|---|---|
moonriseTimes[] |
Es el momento en que el extremo superior de la Luna aparece sobre el horizonte (consulta https://en.wikipedia.org/wiki/Moonrise_and_moonset). NOTA: En la mayoría de los casos, habrá una sola hora de salida de la Luna por día. En otros casos, la lista podría estar vacía (p.ej., cuando la luna sale después de la medianoche del día siguiente). Sin embargo, en casos únicos (p.ej., en regiones polares), la lista puede contener más de un valor. En estos casos, los valores se ordenan de forma ascendente. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
moonsetTimes[] |
Es el momento en que el extremo superior de la Luna desaparece bajo el horizonte (consulta https://en.wikipedia.org/wiki/Moonrise_and_moonset). NOTA: En la mayoría de los casos, habrá una sola hora de puesta de la Luna por día. En otros casos, la lista podría estar vacía (p.ej., cuando la luna se oculta después de la medianoche del día siguiente). Sin embargo, en casos únicos (p.ej., en regiones polares), la lista puede contener más de un valor. En estos casos, los valores se ordenan de forma ascendente. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
moonPhase |
Fase lunar (también conocida como fase de la Luna) |
WeatherCondition
| Representación JSON |
|---|
{ "iconBaseUri": string, "description": { object ( |
| Campos | |
|---|---|
iconBaseUri |
Es el URI base del ícono sin incluir la extensión del tipo de archivo. Para mostrar el ícono, agrega un tema si lo deseas y la extensión del tipo de archivo ( |
description |
Es la descripción textual de esta condición climática (localizada). |
type |
Es el tipo de condición climática. |
LocalizedText
| Representación JSON |
|---|
{ "text": string, "languageCode": string } |
| Campos | |
|---|---|
text |
Cadena localizada en el idioma correspondiente a |
languageCode |
Es el código de idioma BCP-47 del texto, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
Precipitaciones
| Representación JSON |
|---|
{ "probability": { object ( |
| Campos | |
|---|---|
probability |
Es la probabilidad de precipitaciones (valores de 0 a 100). |
snowQpf |
Es la cantidad de nieve, medida como equivalente de agua líquida, que se acumuló durante un período. Nota: QPF es la abreviatura de pronóstico cuantitativo de precipitaciones (consulta la definición de QuantitativePrecipitationForecast para obtener más detalles). |
qpf |
Es la cantidad de lluvia acumulada durante un período, medida como equivalente de agua líquida. Nota: QPF es la abreviatura de pronóstico cuantitativo de precipitaciones (consulta la definición de QuantitativePrecipitationForecast para obtener más detalles). |
PrecipitationProbability
| Representación JSON |
|---|
{ "type": enum ( |
| Campos | |
|---|---|
type |
Es un código que indica el tipo de precipitación. |
Campo de unión
|
|
percent |
Es un porcentaje de 0 a 100 que indica las probabilidades de precipitación. |
QuantitativePrecipitationForecast
| Representación JSON |
|---|
{ "unit": enum ( |
| Campos | |
|---|---|
unit |
Es el código de la unidad que se usa para medir la cantidad de precipitación acumulada. |
Campo de unión
|
|
quantity |
Es la cantidad de precipitación, medida como equivalente de agua líquida, que se acumuló durante un período. |
Wind
| Representación JSON |
|---|
{ "direction": { object ( |
| Campos | |
|---|---|
direction |
Es la dirección del viento, el ángulo desde el que llega. |
speed |
Es la velocidad del viento. |
gust |
La ráfaga de viento (aumento repentino de la velocidad del viento). |
WindDirection
| Representación JSON |
|---|
{ "cardinal": enum ( |
| Campos | |
|---|---|
cardinal |
Es el código que representa la dirección cardinal desde la que sopla el viento. |
Campo de unión
|
|
degrees |
Dirección del viento en grados (valores de 0 a 360). |
WindSpeed
| Representación JSON |
|---|
{ "unit": enum ( |
| Campos | |
|---|---|
unit |
Es el código que representa la unidad que se usa para medir la velocidad del viento. |
Campo de unión
|
|
value |
Es el valor de la velocidad del viento. |
Ubicación
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión location_type. Diferentes formas de representar una ubicación. location_type puede ser solo uno de los parámetros siguientes: |
|
latLng |
Es un punto especificado con coordenadas geográficas. |
placeId |
Es el ID de lugar asociado a la ubicación . |
address |
Dirección legible o Plus Code. Visita https://plus.codes para obtener más información. |
LatLng
| Representación JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campos | |
|---|---|
latitude |
La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0]. |
longitude |
La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0]. |
Anotaciones de herramientas
Sugerencia destructiva: ❌ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌