Strumento: lookup_weather
Recupera dati meteo completi, tra cui condizioni attuali, previsioni orarie e giornaliere.
Dati specifici disponibili:temperatura (attuale, percepita, massima/minima, indice di calore), vento (velocità, raffiche, direzione), eventi celesti (alba/tramonto, fase lunare), precipitazioni (tipo, probabilità, quantità/QPF), condizioni atmosferiche (indice UV, umidità, copertura nuvolosa, probabilità di temporali) e indirizzo della località geocodificata.
Posizione e regole per la posizione (CRITICO):
La località per cui vengono richiesti i dati meteo viene specificata utilizzando il campo location. Questo campo è una struttura "oneof", il che significa che DEVI fornire un valore per UNO SOLO dei tre sottocampi di posizione riportati di seguito per garantire una ricerca accurata dei dati meteo.
Coordinate geografiche (lat_lng)
- Utilizzalo quando ti vengono fornite le coordinate di latitudine/longitudine esatte.
- Esempio: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles
ID luogo (place_id)
- Un identificatore di stringa univoco (ID luogo di Google Maps).
- L'ID luogo può essere recuperato dallo strumento search_places.
- Esempio: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Eiffel Tower
Stringa dell'indirizzo (address)
- Una stringa in formato libero che richiede specificità per la geocodifica.
- Città e regione: includi sempre la regione/il paese (ad es. "Londra, Regno Unito", non "Londra").
- Indirizzo: fornisci l'indirizzo completo (ad es. "1600 Pennsylvania Ave NW, Washington, DC").
- Codici postali: DEVONO essere accompagnati dal nome di un paese (ad es. "90210, USA", NON "90210").
- Esempio: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}
Modalità di utilizzo:
Meteo attuale:fornisci solo
location. Non specificaredateehour.Previsione oraria: fornisci
location,dateehour(0-23). Utilizza orari specifici (ad es. "alle 17:00") o termini come "nelle prossime ore" o "più tardi oggi". Se l'utente specifica i minuti, arrotonda per difetto all'ora più vicina. La previsione oraria oltre le 120 ore successive non è supportata. I dati meteo orari storici sono supportati fino a 24 ore nel passato.Previsione giornaliera:fornisci
locationedate. Non specificarehour. Utilizza per richieste generali relative al giorno (ad es. "che tempo farà domani?", "che tempo farà venerdì?", "che tempo farà il 25/12?"). Se la data odierna non è nel contesto, devi chiarirla con l'utente. La previsione giornaliera oltre i 10 giorni, incluso quello corrente, non è supportata. Le condizioni meteo storiche non sono supportate.
Vincoli dei parametri:
- Fusi orari:tutti gli input
dateehourdevono essere relativi al fuso orario locale della sede, non a quello dell'utente. - Formato data:gli input devono essere separati in
{year, month, day}numeri interi. - Unità:il valore predefinito è
METRIC. Impostaunits_systemsuIMPERIALper Fahrenheit/Miglia se l'utente fa riferimento agli standard statunitensi o lo richiede esplicitamente. L'output basato su dati reali deve essere attribuito alla fonte utilizzando le informazioni del campo
attribution, se disponibili.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP lookup_weather.
| Curl Request |
|---|
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 }' |
Schema di input
Richiesta del metodo LookupWeather, che rappresenta le condizioni meteo nella località richiesta.
LookupWeatherRequest
| Rappresentazione JSON |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| Campi | |
|---|---|
DEPRECATEDAddress |
DEPRECATO: utilizza la posizione. |
unitsSystem |
Facoltativo. Il sistema di unità da utilizzare per le condizioni meteo restituite. Se non viene fornito, le condizioni meteo restituite saranno nel sistema metrico (valore predefinito = METRIC). |
location |
Obbligatorio. La località per cui ottenere le condizioni meteo. |
Campo unione
|
|
date |
Facoltativo. La data delle informazioni meteo richieste. Nota: questa data è relativa al fuso orario locale della località specificata nel campo della località. La data deve essere compresa tra le 24 ore precedenti e i 10 giorni successivi. |
Campo unione
|
|
hour |
Facoltativo. L'ora delle informazioni meteo richieste, in formato di 24 ore (0-23). Questo valore è relativo al fuso orario locale della posizione specificata nel campo della posizione. La previsione oraria oltre le 120 ore successive non è supportata. I dati meteo orari storici sono supportati fino a 24 ore nel passato. |
Data
| Rappresentazione JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Campi | |
|---|---|
year |
L'anno della data. Deve essere compreso tra 1 e 9999 oppure tra 0 e 9999 per specificare una data senza anno. |
month |
Mese dell'anno. Deve essere compreso tra 1 e 12 o 0 per specificare un anno senza mese e giorno. |
day |
Giorno del mese. Deve essere compreso tra 1 e 31 e valido per l'anno e il mese oppure compreso tra 0 e 31 per specificare un anno da solo o un anno e un mese in cui il giorno non è significativo. |
Località
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione location_type. Diversi modi per rappresentare una località. location_type può essere solo uno dei seguenti tipi: |
|
latLng |
Un punto specificato utilizzando le coordinate geografiche. |
placeId |
L'ID luogo associato alla posizione . |
address |
Indirizzo leggibile o un plus code. Per ulteriori dettagli, visita la pagina https://plus.codes. |
LatLng
| Rappresentazione JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campi | |
|---|---|
latitude |
La latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0]. |
longitude |
La longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0]. |
Schema di output
Risposta per l'RPC LookupWeather, che rappresenta le condizioni meteo nella località richiesta.
Questa risposta rappresenta informazioni orarie e giornaliere, pertanto è suddivisa in tre sezioni: oraria, giornaliera e condivisa. I campi Solo orario e Solo giornaliero sono contrassegnati come facoltativi. Per i campi condivisi tra le informazioni orarie e giornaliere, alcuni sono sempre presenti, quindi non sono contrassegnati come facoltativi, mentre gli altri sono contrassegnati come facoltativi perché non sono sempre disponibili.
LookupWeatherResponse
| Rappresentazione JSON |
|---|
{ "weatherCondition": { object ( |
| Campi | |
|---|---|
weatherCondition |
Condizione meteo |
precipitation |
La probabilità di precipitazioni e la quantità di precipitazioni accumulate |
wind |
Condizioni del vento |
DEPRECATEDGeocodedAddress |
DEPRECATO: utilizza returned_location. |
returnedLocation |
Obbligatorio. La località per cui vengono restituite le informazioni meteo. Questa posizione è identica a quella nella richiesta, ma può essere diversa se la posizione richiesta è un indirizzo di testo libero che cerca una posizione approssimativa (ad es. "Mountain View, CA"). |
attribution |
Attribuzione obbligatoria da mostrare con il meteo. |
Campo unione
|
|
temperature |
La temperatura oraria |
Campo unione
|
|
feelsLikeTemperature |
La misurazione oraria della temperatura percepita. |
Campo unione
|
|
heatIndex |
La temperatura oraria dell'indice di calore. |
Campo unione
|
|
airPressure |
Le condizioni di pressione atmosferica oraria. |
Campo unione
|
|
maxTemperature |
La temperatura massima (alta) durante la giornata. |
Campo unione
|
|
minTemperature |
La temperatura minima (bassa) durante il giorno. |
Campo unione
|
|
feelsLikeMaxTemperature |
La temperatura percepita massima (alta) durante la giornata. |
Campo unione
|
|
feelsLikeMinTemperature |
La temperatura percepita minima (bassa) durante il giorno. |
Campo unione
|
|
maxHeatIndex |
La temperatura massima dell'indice di calore durante la giornata. |
Campo unione
|
|
sunEvents |
Gli eventi relativi al sole (ad es. alba, tramonto). |
Campo unione
|
|
moonEvents |
Gli eventi relativi alla luna (ad es. sorgere della luna, tramonto della luna). |
Campo unione
|
|
relativeHumidity |
La percentuale di umidità relativa (valori da 0 a 100). Definisci facoltativo perché non è sempre disponibile |
Campo unione
|
|
uvIndex |
L'indice ultravioletto (UV) massimo. Definisci facoltativo perché non è sempre disponibile |
Campo unione
|
|
thunderstormProbability |
La probabilità di temporale (valori da 0 a 100). Definisci facoltativo perché non è sempre disponibile |
Campo unione
|
|
cloudCover |
La percentuale di cielo coperta da nuvole (valori da 0 a 100). Definisci facoltativo perché non è sempre disponibile |
Temperatura
| Rappresentazione JSON |
|---|
{ "unit": enum ( |
| Campi | |
|---|---|
unit |
Il codice dell'unità utilizzata per misurare il valore della temperatura. |
Campo unione
|
|
degrees |
Il valore della temperatura (in gradi) nell'unità specificata. |
AirPressure
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione
|
|
meanSeaLevelMillibars |
La pressione atmosferica media al livello del mare in millibar. |
SunEvents
| Rappresentazione JSON |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| Campi | |
|---|---|
sunriseTime |
L'ora in cui sorge il sole. NOTA: in alcuni casi unici (ad es. a nord del circolo polare artico) potrebbe non esserci l'ora dell'alba per un giorno. In questi casi, questo campo non verrà impostato. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
sunsetTime |
L'ora in cui tramonta il sole. NOTA: in alcuni casi unici (ad es. a nord del circolo polare artico) potrebbe non esserci un orario del tramonto per un giorno. In questi casi, questo campo non verrà impostato. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
MoonEvents
| Rappresentazione JSON |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| Campi | |
|---|---|
moonriseTimes[] |
Il momento in cui il bordo superiore della luna appare sopra l'orizzonte (vedi https://en.wikipedia.org/wiki/Moonrise_and_moonset). NOTA: nella maggior parte dei casi, ci sarà un solo orario di levata della luna al giorno. In altri casi, l'elenco potrebbe essere vuoto (ad es. quando la luna sorge dopo la mezzanotte del giorno successivo). Tuttavia, in casi unici (ad es. nelle regioni polari), l'elenco può contenere più di un valore. In questi casi, i valori vengono ordinati in ordine crescente. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
moonsetTimes[] |
Il momento in cui il bordo superiore della luna scompare sotto l'orizzonte (vedi https://en.wikipedia.org/wiki/Moonrise_and_moonset). NOTA: nella maggior parte dei casi, ci sarà un solo orario di tramonto della luna al giorno. In altri casi, l'elenco potrebbe essere vuoto (ad es. quando la luna tramonta dopo la mezzanotte del giorno successivo). Tuttavia, in casi unici (ad es. nelle regioni polari), l'elenco può contenere più di un valore. In questi casi, i valori vengono ordinati in ordine crescente. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
moonPhase |
La fase lunare. |
WeatherCondition
| Rappresentazione JSON |
|---|
{ "iconBaseUri": string, "description": { object ( |
| Campi | |
|---|---|
iconBaseUri |
L'URI di base per l'icona, esclusa l'estensione del tipo di file. Per visualizzare l'icona, aggiungi un tema, se vuoi, e l'estensione del tipo di file ( |
description |
La descrizione testuale di questa condizione meteo (localizzata). |
type |
Il tipo di condizione meteorologica. |
LocalizedText
| Rappresentazione JSON |
|---|
{ "text": string, "languageCode": string } |
| Campi | |
|---|---|
text |
Stringa localizzata nella lingua corrispondente a |
languageCode |
Il codice lingua BCP-47 del testo, ad esempio "en-US" o "sr-Latn". Per maggiori informazioni, visita la pagina http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
Precipitazioni
| Rappresentazione JSON |
|---|
{ "probability": { object ( |
| Campi | |
|---|---|
probability |
La probabilità di precipitazioni (valori da 0 a 100). |
snowQpf |
La quantità di neve, misurata come equivalente di acqua liquida, che si è accumulata in un determinato periodo di tempo. Nota: QPF è l'abbreviazione di Previsione quantitativa delle precipitazioni (per ulteriori dettagli, consulta la definizione di Previsione quantitativa delle precipitazioni). |
qpf |
La quantità di pioggia precipitata, misurata come equivalente di acqua liquida, che si è accumulata in un determinato periodo di tempo. Nota: QPF è l'abbreviazione di Previsione quantitativa delle precipitazioni (per ulteriori dettagli, consulta la definizione di Previsione quantitativa delle precipitazioni). |
PrecipitationProbability
| Rappresentazione JSON |
|---|
{ "type": enum ( |
| Campi | |
|---|---|
type |
Un codice che indica il tipo di precipitazione. |
Campo unione
|
|
percent |
Una percentuale compresa tra 0 e 100 che indica la probabilità di precipitazioni. |
QuantitativePrecipitationForecast
| Rappresentazione JSON |
|---|
{ "unit": enum ( |
| Campi | |
|---|---|
unit |
Il codice dell'unità utilizzata per misurare la quantità di precipitazioni accumulate. |
Campo unione
|
|
quantity |
La quantità di precipitazioni, misurata come equivalente di acqua liquida, che si è accumulata in un determinato periodo di tempo. |
Wind
| Rappresentazione JSON |
|---|
{ "direction": { object ( |
| Campi | |
|---|---|
direction |
La direzione del vento, l'angolo da cui proviene. |
speed |
La velocità del vento. |
gust |
La raffica di vento (improvviso aumento della velocità del vento). |
WindDirection
| Rappresentazione JSON |
|---|
{ "cardinal": enum ( |
| Campi | |
|---|---|
cardinal |
Il codice che rappresenta la direzione cardinale da cui soffia il vento. |
Campo unione
|
|
degrees |
La direzione del vento in gradi (valori da 0 a 360). |
WindSpeed
| Rappresentazione JSON |
|---|
{ "unit": enum ( |
| Campi | |
|---|---|
unit |
Il codice che rappresenta l'unità utilizzata per misurare la velocità del vento. |
Campo unione
|
|
value |
Il valore della velocità del vento. |
Località
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione location_type. Diversi modi per rappresentare una località. location_type può essere solo uno dei seguenti tipi: |
|
latLng |
Un punto specificato utilizzando le coordinate geografiche. |
placeId |
L'ID luogo associato alla posizione . |
address |
Indirizzo leggibile o un plus code. Per ulteriori dettagli, visita la pagina https://plus.codes. |
LatLng
| Rappresentazione JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campi | |
|---|---|
latitude |
La latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0]. |
longitude |
La longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0]. |
Attribuzione
| Rappresentazione JSON |
|---|
{ "title": string, "url": string } |
| Campi | |
|---|---|
title |
Il titolo da visualizzare per l'attribuzione. |
url |
L'URL a cui rimandare per l'attribuzione. |
Annotazioni dello strumento
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌