Outil : lookup_weather
Récupère des données météorologiques complètes, y compris les conditions actuelles, les prévisions horaires et quotidiennes. Données spécifiques disponibles : température (actuelle, ressentie, max./min., indice de chaleur), vent (vitesse, rafales, direction), événements célestes (lever/coucher du soleil, phase de la lune), précipitations (type, probabilité, quantité/QPF), conditions atmosphériques (indice UV, humidité, nébulosité, probabilité d'orage) et adresse de localisation géocodée. Emplacement et règles d'emplacement (CRITIQUE) : l'emplacement pour lequel les données météo sont demandées est spécifié à l'aide du champ "location" (emplacement). Ce champ est une structure "oneof", ce qui signifie que vous DEVEZ fournir une valeur pour UN SEUL des trois sous-champs de localisation ci-dessous afin de garantir une recherche précise des données météorologiques. 1. Coordonnées géographiques (lat_lng) : utilisez-les lorsque vous disposez de coordonnées exactes de latitude et de longitude. * Exemple : "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Angeles 2. ID de lieu (place_id) : chaîne d'identification non ambiguë (ID de lieu Google Maps). * L'identifiant de lieu peut être récupéré à partir de l'outil search_places. * Exemple : "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Tour Eiffel 3. Chaîne d'adresse (adresse) * : chaîne au format libre qui doit être spécifique pour le géocodage. * Ville et région : incluez toujours la région/le pays (par exemple, "Londres, Royaume-Uni", et non "Londres"). * Adresse postale : indiquez l'adresse complète (par exemple, "1600 Pennsylvania Ave NW, Washington, DC"). * Codes postaux : DOIVENT être accompagnés d'un nom de pays (par exemple, "90210, États-Unis", et non "90210"). Modes d'utilisation : 1. Météo actuelle : fournissez uniquement address. Ne spécifiez pas date ni hour. 2. Prévisions horaires : indiquez address, date et hour (0 à 23). Utilisez-les pour des périodes spécifiques (par exemple, "à 17h") ou des expressions comme "dans les prochaines heures" ou "plus tard dans la journée". Si l'utilisateur spécifie une minute, arrondissez à l'heure inférieure. Les prévisions horaires au-delà de 48 heures ne sont pas disponibles. 3. Prévisions quotidiennes : indique address et date. Ne spécifiez pas hour. Utilisez-le pour les demandes générales concernant la journée (par exemple, "météo pour demain", "météo pour vendredi", "météo pour le 25/12"). Si la date du jour n'est pas dans le contexte, vous devez la préciser à l'utilisateur. Les prévisions quotidiennes au-delà de sept jours (y compris aujourd'hui) ne sont pas disponibles. Les données météo historiques ne sont pas disponibles. Contraintes des paramètres : * Fuseaux horaires : toutes les entrées date et hour doivent être relatives au fuseau horaire local de l'établissement, et non à celui de l'utilisateur. * Format de date : les entrées doivent être séparées en {year, month, day} nombres entiers. * Unités : la valeur par défaut est METRIC. Définissez units_system sur IMPERIAL pour les unités Fahrenheit/Miles si l'utilisateur sous-entend ou demande explicitement les normes américaines.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP lookup_weather.
| Requête 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 }' |
Schéma d'entrée
Requête pour la méthode LookupWeather : représente les conditions météorologiques à l'emplacement demandé.
LookupWeatherRequest
| Représentation JSON |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| Champs | |
|---|---|
DEPRECATEDAddress |
OBSOLÈTE : utilisez plutôt "location". |
unitsSystem |
Facultatif. Système d'unités à utiliser pour les conditions météorologiques renvoyées. Si aucune valeur n'est indiquée, les conditions météorologiques renvoyées seront exprimées en unités métriques (par défaut : METRIC). |
location |
Obligatoire. Lieu pour lequel obtenir les conditions météorologiques. |
Champ d'union
|
|
date |
Facultatif. Date des informations météo requises. Remarque : Cette date est basée sur le fuseau horaire local de l'emplacement spécifié dans le champ "Emplacement". La date doit être comprise dans les sept prochains jours. |
Champ d'union
|
|
hour |
Facultatif. Heure des informations météo demandées, au format 24 heures (0-23). Cette valeur est relative au fuseau horaire local du lieu spécifié dans le champ "Lieu". Les prévisions horaires ne sont disponibles que pour les 48 heures suivant l'heure actuelle. |
Date
| Représentation JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Champs | |
|---|---|
year |
Année de la date. Elle doit être comprise entre 1 et 9999, ou égale à 0 si vous spécifiez une date sans année. |
month |
Mois d'une année. Il doit être compris entre 1 et 12, ou égal à 0 si vous spécifiez une année sans mois ni jour. |
day |
Jour du mois. Il doit être compris entre 1 et 31, et valide pour l'année et le mois, ou égal à 0 si vous spécifiez une année seule, ou une année et un mois où le jour n'est pas significatif. |
Emplacement
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union location_type. Différentes façons de représenter un lieu. location_type ne peut être qu'un des éléments suivants : |
|
latLng |
Point spécifié à l'aide de coordonnées géographiques. |
placeId |
ID du lieu associé à l'établissement . |
address |
Adresse lisible ou plus code. Pour en savoir plus, consultez https://plus.codes. |
LatLng
| Représentation JSON |
|---|
{ "latitude": number, "longitude": number } |
| Champs | |
|---|---|
latitude |
Latitude en degrés. Elle doit être comprise dans la plage [-90.0, +90.0]. |
longitude |
Longitude en degrés. Elle doit être comprise dans la plage [-180.0, +180.0]. |
Schéma de sortie
Réponse au RPC LookupWeather : représente les conditions météorologiques à l'emplacement demandé.
Cette réponse représente à la fois des informations horaires et quotidiennes. Elle est donc divisée en trois sections : "Hourly" (Horaire), "Daily" (Quotidien) et "Shared" (Partagé). Les champs "Only-Hourly" (Uniquement par heure) et "Only-Daily" (Uniquement par jour) sont facultatifs. Pour les champs partagés entre les informations horaires et quotidiennes, certains sont toujours présents et ne sont donc pas marqués comme facultatifs, tandis que les autres sont marqués comme facultatifs, car ils ne sont pas toujours disponibles.
LookupWeatherResponse
| Représentation JSON |
|---|
{ "weatherCondition": { object ( |
| Champs | |
|---|---|
weatherCondition |
Conditions météo |
precipitation |
Probabilité de précipitations et quantité de précipitations accumulées |
wind |
les conditions de vent ; |
DEPRECATEDGeocodedAddress |
OBSOLÈTE : utilisez plutôt returned_location. |
returnedLocation |
Obligatoire. Lieu pour lequel les informations météorologiques sont renvoyées. Cet emplacement est identique à celui de la requête, mais peut être différent si l'emplacement demandé est une adresse en texte libre qui correspond à un emplacement approximatif (par exemple, "Mountain View, CA"). |
Champ d'union
|
|
temperature |
Température horaire |
Champ d'union
|
|
feelsLikeTemperature |
Mesure horaire de la température ressentie. |
Champ d'union
|
|
heatIndex |
Température horaire de l'indice de chaleur. |
Champ d'union
|
|
airPressure |
Conditions de pression atmosphérique par heure. |
Champ d'union
|
|
maxTemperature |
Température maximale (élevée) de la journée. |
Champ d'union
|
|
minTemperature |
Température minimale (basse) de la journée. |
Champ d'union
|
|
feelsLikeMaxTemperature |
Température maximale ressentie au cours de la journée. |
Champ d'union
|
|
feelsLikeMinTemperature |
Température ressentie minimale (basse) de la journée. |
Champ d'union
|
|
maxHeatIndex |
Température maximale de l'indice de chaleur au cours de la journée. |
Champ d'union
|
|
sunEvents |
Événements liés au soleil (par exemple, lever et coucher du soleil). |
Champ d'union
|
|
moonEvents |
Événements liés à la lune (par exemple, lever et coucher de lune). |
Champ d'union
|
|
relativeHumidity |
Pourcentage d'humidité relative (valeurs de 0 à 100). Définissez cette valeur comme facultative, car elle n'est pas toujours disponible. |
Champ d'union
|
|
uvIndex |
Indice ultraviolet (UV) maximal. Définir comme facultatif, car il n'est pas toujours disponible |
Champ d'union
|
|
thunderstormProbability |
Probabilité d'orage (valeurs de 0 à 100). Définir comme facultatif, car elle n'est pas toujours disponible. |
Champ d'union
|
|
cloudCover |
Pourcentage du ciel couvert par les nuages (valeurs de 0 à 100). Définissez cette valeur comme facultative, car elle n'est pas toujours disponible. |
Température
| Représentation JSON |
|---|
{ "unit": enum ( |
| Champs | |
|---|---|
unit |
Code de l'unité utilisée pour mesurer la valeur de température. |
Champ d'union
|
|
degrees |
Valeur de la température (en degrés) dans l'unité spécifiée. |
AirPressure
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union
|
|
meanSeaLevelMillibars |
Pression atmosphérique moyenne au niveau de la mer en millibars. |
SunEvents
| Représentation JSON |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| Champs | |
|---|---|
sunriseTime |
Heure à laquelle le soleil se lève. REMARQUE : Dans certains cas exceptionnels (par exemple, au nord du cercle polaire arctique), il peut arriver qu'il n'y ait pas d'heure de lever du soleil pour une journée donnée. Dans ce cas, ce champ ne sera pas défini. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
sunsetTime |
Heure à laquelle le soleil se couche. REMARQUE : Dans certains cas exceptionnels (par exemple, au nord du cercle arctique), il peut arriver qu'il n'y ait pas d'heure de coucher du soleil pour une journée donnée. Dans ce cas, ce champ ne sera pas défini. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z). |
nanos |
Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus. |
MoonEvents
| Représentation JSON |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| Champs | |
|---|---|
moonriseTimes[] |
Heure à laquelle le limbe supérieur de la Lune apparaît au-dessus de l'horizon (voir https://en.wikipedia.org/wiki/Moonrise_and_moonset). REMARQUE : Dans la plupart des cas, il n'y a qu'une seule heure de lever de lune par jour. Dans d'autres cas, la liste peut être vide (par exemple, lorsque la lune se lève après minuit le lendemain). Toutefois, dans des cas uniques (par exemple, dans les régions polaires), la liste peut contenir plusieurs valeurs. Dans ces cas, les valeurs sont triées par ordre croissant. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
moonsetTimes[] |
Heure à laquelle le limbe supérieur de la Lune disparaît sous l'horizon (voir https://en.wikipedia.org/wiki/Moonrise_and_moonset). REMARQUE : Dans la plupart des cas, il n'y a qu'une seule heure de coucher de lune par jour. Dans d'autres cas, la liste peut être vide (par exemple, lorsque la lune se couche après minuit le lendemain). Toutefois, dans certains cas (par exemple, dans les régions polaires), la liste peut contenir plusieurs valeurs. Dans ce cas, les valeurs sont triées par ordre croissant. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
moonPhase |
La phase lunaire |
WeatherCondition
| Représentation JSON |
|---|
{ "iconBaseUri": string, "description": { object ( |
| Champs | |
|---|---|
iconBaseUri |
URI de base de l'icône, sans l'extension du type de fichier. Pour afficher l'icône, ajoutez un thème si vous le souhaitez, ainsi que l'extension du type de fichier ( |
description |
Description textuelle de cette condition météorologique (localisée). |
type |
Type de condition météorologique. |
LocalizedText
| Représentation JSON |
|---|
{ "text": string, "languageCode": string } |
| Champs | |
|---|---|
text |
Chaîne localisée dans la langue correspondant à |
languageCode |
Code de langue BCP-47 du texte, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez la page http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
Précipitations
| Représentation JSON |
|---|
{ "probability": { object ( |
| Champs | |
|---|---|
probability |
Probabilité de précipitations (valeurs comprises entre 0 et 100). |
snowQpf |
Quantité de neige accumulée sur une période donnée, mesurée en équivalent eau liquide. Remarque : QPF est l'abréviation de "Quantitative Precipitation Forecast" (prévision quantitative des précipitations). Pour en savoir plus, consultez la définition de "QuantitativePrecipitationForecast". |
qpf |
Quantité de précipitations (pluie) accumulée sur une période donnée, mesurée en équivalent eau liquide. Remarque : QPF est l'abréviation de "Quantitative Precipitation Forecast" (prévision quantitative des précipitations). Pour en savoir plus, consultez la définition de "QuantitativePrecipitationForecast". |
PrecipitationProbability
| Représentation JSON |
|---|
{ "type": enum ( |
| Champs | |
|---|---|
type |
Code indiquant le type de précipitations. |
Champ d'union
|
|
percent |
Pourcentage compris entre 0 et 100 indiquant le risque de précipitations. |
QuantitativePrecipitationForecast
| Représentation JSON |
|---|
{ "unit": enum ( |
| Champs | |
|---|---|
unit |
Code de l'unité utilisée pour mesurer la quantité de précipitations accumulées. |
Champ d'union
|
|
quantity |
Quantité de précipitations, mesurée en équivalent eau liquide, qui s'est accumulée au cours d'une période donnée. |
Vent
| Représentation JSON |
|---|
{ "direction": { object ( |
| Champs | |
|---|---|
direction |
Direction du vent, angle d'où il provient. |
speed |
Vitesse du vent. |
gust |
Rafale de vent (augmentation soudaine de la vitesse du vent). |
WindDirection
| Représentation JSON |
|---|
{ "cardinal": enum ( |
| Champs | |
|---|---|
cardinal |
Code représentant la direction cardinale d'où souffle le vent. |
Champ d'union
|
|
degrees |
Direction du vent en degrés (valeurs comprises entre 0 et 360). |
WindSpeed
| Représentation JSON |
|---|
{ "unit": enum ( |
| Champs | |
|---|---|
unit |
Code représentant l'unité utilisée pour mesurer la vitesse du vent. |
Champ d'union
|
|
value |
Valeur de la vitesse du vent. |
Emplacement
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union location_type. Différentes façons de représenter un lieu. location_type ne peut être qu'un des éléments suivants : |
|
latLng |
Point spécifié à l'aide de coordonnées géographiques. |
placeId |
ID du lieu associé à l'établissement . |
address |
Adresse lisible ou plus code. Pour en savoir plus, consultez https://plus.codes. |
LatLng
| Représentation JSON |
|---|
{ "latitude": number, "longitude": number } |
| Champs | |
|---|---|
latitude |
Latitude en degrés. Elle doit être comprise dans la plage [-90.0, +90.0]. |
longitude |
Longitude en degrés. Elle doit être comprise dans la plage [-180.0, +180.0]. |
Annotations d'outils
Indication de destruction : ❌ | Indication d'idempotence : ❌ | Indication de lecture seule : ✅ | Indication de monde ouvert : ❌