Skip to main content
Glama
rundata-re

rundata · La Réunion 974 en direct

rundata.re · La Réunion 974 en direct

Sorties, randos, météo mesurée, routes : les données publiques de La Réunion en direct, datées et sourcées.

Sur rundata.re et dans votre assistant IA (ChatGPT, Claude, Le Chat). Gratuit, sans compte.

Ce serveur MCP donne à votre assistant IA (Claude, ChatGPT, Le Chat…) les données publiques de La Réunion en ce moment : météo mesurée aux stations, vigilance, mer, volcan, électricité, qualité de l'air, services publics, horaires de bus, terrain et risques. Il répond à des questions comme « quel temps fait-il à Saint-Pierre ? », « le prochain bus à la gare de Saint-Pierre ? » ou « le volcan est en éruption ? » avec des valeurs datées et sourcées. Une mesure n'est jamais mélangée à une prévision : pour « il va pleuvoir demain ? », un outil à part donne la prévision d'un modèle, toujours étiquetée comme telle.

English: an MCP server giving AI assistants the public data of Réunion Island right now (measured weather, warnings, sea, volcano, electricity, air quality, public offices, bus timetables, land and hazards), dated and sourced, with forecasts kept apart and clearly labelled. See English summary.

Outils

Outil

Pour quelles questions

Ce qu'il renvoie

meteo_actuelle(lieu)

« il fait chaud à Saint-Gilles ? », « il pleut à Mafate ? », « il a plu quand à Saint-Joseph ? », « du vent à Saint-Pierre ? »

Mesures de la station la plus représentative : température, pluie (6 min et 1 h), humidité, vent, rafales, pression, temps présent. Inclut l'heure, la distance, l'écart d'altitude et le versant. Ajoute la pluie vue par le radar de Météo-France au lieu même et à 3 km autour (image de 5 min, avec la qualité du radar, faible au fond des cirques). Avec un lieu, la pluie des dernières heures au pluviomètre le plus proche : heure par heure sur 12 à 24 h (« 14 h–15 h : 1,4 mm »), l'heure de la dernière pluie et le cumul depuis minuit, d'après le paquet horaire et les mesures 6 min de Météo-France ; quand rien n'est mesuré sous un ciel chargé, rappelle qu'une bruine peut échapper aux pluviomètres.

prevision_meteo(lieu, quand)

« il va pleuvoir demain à Saint-Denis ? », « quel temps ce week-end à Cilaos ? »

Prévision du modèle AROME outre-mer de Météo-France (maille de 2,5 km) pour les 48 premières heures, puis du modèle IFS de l'ECMWF (9 km) jusqu'à 7 jours, par jour et par tranches de 3 h, températures ramenées à l'altitude du lieu ; chaque jour dit quel modèle a donné quelles heures. Indice UV prévu de chaque jour (CAMS, Copernicus), sur l'échelle de l'OMS. Dans les Hauts (au-dessus de 800 m), la mer de nuages du matin (de 6 h à 9 h, de 9 h à 12 h) d'après la base et le sommet des nuages d'AROME : dégagé, au-dessus, au bord, dans ou sous les nuages, avec leurs altitudes à 100 m près. Confiance de chaque jour (forte, moyenne ou faible) : l'accord entre les 51 scénarios de l'ensemble ECMWF ENS sur un carré de 25 km, avec sa raison, jamais une probabilité de pluie au lieu même, et rien quand le calcul a plus de 24 h. Chaque réponse porte nature: "prevision" et rappelle que ce n'est pas une mesure, que le modèle ne voit pas les microclimats, et que pour un cyclone seule compte la vigilance officielle. quand : « demain », « ce soir », « samedi », « ce week-end »…

vigilance_meteo(lieu?)

« il y a une alerte cyclonique ? », « vigilance fortes pluies dans l'Est ? »

Vigilance officielle de Météo-France : alerte cyclonique (pré-alerte, orange, rouge…), et par zone fortes pluies / orages, vents forts, vagues-submersion, pour les 24 h du bulletin, avec les textes de suivi. Sans lieu : toute l'île ; avec : la zone du lieu. meteo_actuelle et prevision_meteo signalent d'elles-mêmes toute vigilance au-dessus du vert. Une ligne feux_detectes quand un feu de végétation a été détecté par satellite ces dernières 24 h.

temperature_mer(lieu)

« l'eau est à combien à Boucan ? », « la houle à Saint-Leu ? »

Dernière température de l'eau mesurée près du lieu, avec sa date, sa distance et sa nature (bouée ou satellite) ; à part, dans etat_de_la_mer, la prévision des vagues du modèle WAM de l'ECMWF (9 km, 4 jours) : hauteur, période et direction maintenant, par tranches de 3 h et le maximum de chaque jour, toujours étiquetée comme une prévision.

volcan_seismes()

« le volcan est en éruption ? », « on peut monter au volcan ? », « il y a eu un séisme ? »

Éruption en cours ou non, niveau ORSEC, dernière éruption, accès à l'Enclos (pitonlive.com, d'après les arrêtés préfectoraux), dernières publications de l'OVPF-IPGP et séismes localisés en 30 jours, sous le volcan et ailleurs.

electricite(lieu?)

« d'où vient l'électricité ? », « quand recharger ma voiture électrique ? », « coupure de courant à Sainte-Marie ? »

Production d'EDF toutes les 5 min par filière et part renouvelable ; « météo de l'électricité » d'EDF (heures de pointe, réseau contraint) pour les jours qui viennent ; les coupures d'électricité annoncées par EDF que relaient les mairies (jours, heures, secteurs, avec le lien de l'avis, jamais son texte), lues par l'événement planifié ; ailleurs, la réponse dit que la mairie ne les publie pas, jamais « pas de coupure ».

qualite_air(lieu?)

« l'air est pollué à Saint-Louis ? »

Indice ATMO du jour et du lendemain par commune (Atmo Réunion), avec le polluant en cause.

sites_sans_reponse(quoi?)

« le site de l'OVPF marche ? », « pourquoi pas de bulletin du volcan ? », « le site de Sudéau ne répond plus ? »

Les sites publics de l'île qui ne répondent pas en ce moment : depuis quand, le dernier constat en mots simples et ce qui manque donc sur rundata.re ; un site qui répond de nouveau sort de la liste. Une lecture qui échoue est notée par src/http.ts dans la table sans_reponse de D1 (scripts/sans-reponse.sql), seulement quand l'état du site change ; le site reste « à vérifier », jamais affiché, jusqu'à la revérification de 06:00 (un GET par site, par l'événement planifié). Deux échecs avant tout statut public, deux 403 de suite avant « répond, mais pas à nos lectures ». Un site d'une commune qui n'a pas encore donné son accord n'y figure pas. Aussi sur /sites-sans-reponse.

annuaire_services_publics(quoi, lieu?)

« horaires de la mairie de Saint-Paul ? », « où est la CAF ? », « prix de l'essence ce mois-ci ? »

Adresse, horaires (ouvert en ce moment ?), téléphone et site des services publics, d'après l'annuaire de service-public.fr. Et les prix maximums des carburants et de la bouteille de gaz du mois, fixés par arrêté du préfet (les mêmes dans toute l'île), lus chaque jour dans les communiqués de la préfecture par .github/workflows/carburants.yml ; aussi sur la page circulation. Et les pharmacies, hôpitaux et cliniques les plus proches d'un lieu, d'après FINESS (quoi = « pharmacie », « urgences », « hôpital ») : la pharmacie de garde n'est jamais devinée, la réponse renvoie à 3237.fr et au 32 37 comme l'ARS La Réunion ; l'urgence passe d'abord par le 15. Et les marchés forains et couverts cartographiés dans OpenStreetMap, avec leurs jours quand ils y sont (quoi = « marché ») : la liste n'est pas complète, la réponse le dit. Et les déchèteries de l'Ouest (quoi = « déchèterie », « encombrants », « déchets verts »…) : les bennes pleines ou non d'après les agents du TCO, une mise à jour de plus de 6 h dite à vérifier ; ailleurs, la réponse renvoie à la CINOR, la CIREST, la CIVIS ou la CASUD. Et le jour de collecte des déchets rue par rue dans les cinq communes de l'Ouest (quoi = « collecte », « poubelles », lieu = la rue et la commune), d'après les calendriers 2026 du TCO.

transports(arret, ligne?)

« prochain bus à la gare routière de Saint-Pierre ? », « à quelle heure passe le car jaune à Saint-Leu ? »

Prochains départs à l'arrêt (ligne, direction, heure, minutes d'attente), tous réseaux confondus : Car Jaune, Citalis, Kar'Ouest, Alternéo, CarSud, Estival, téléphérique Papang. Horaires publiés par les réseaux et, pour Car Jaune (et Alternéo, CarSud quand leur flux fonctionne), l'heure annoncée en direct par le réseau, le retard, les arrêts non desservis et l'info trafic. Un lieu qui n'est pas un arrêt donne les arrêts les plus proches.

velos_libre_service(lieu?)

« il reste des vélos à la station IUT ? », « où prendre un vélo près du front de mer de Saint-Pierre ? »

Vélos à assistance électrique Altervélo en libre-service (Saint-Pierre, Saint-Louis, L'Étang-Salé), en direct : vélos à prendre et places libres de chaque station, stations les plus proches d'un lieu, ou tout le réseau.

maree(lieu?)

« la marée monte ? », « c'était quand la marée haute ? », « niveau de la mer au Port ? »

Hauteur d'eau mesurée chaque minute par les marégraphes du SHOM au Port (Pointe des Galets) et à Sainte-Marie : niveau, marée montante ou descendante, dernières pleine et basse mer observées. Puis les prochaines pleines et basses mers, calculées par rundata d'après les mesures, pas la prédiction officielle du SHOM (qui n'est pas en données ouvertes) : heures arrondies à 5 min, à environ 15 min près au Port et 20 min à Sainte-Marie, hauteurs à environ 5 cm près, sans coefficient (voir « Marée calculée » plus bas).

crues_rivieres(lieu?)

« la rivière des Galets est en crue ? », « il y a une vigilance crues ? », « niveau de la ravine Saint-Gilles ? »

Vigilance crues de Vigicrues Réunion rivière par rivière, et hauteur d'eau et débit mesurés toutes les 5 minutes aux 29 stations des rivières, avec leur tendance et les crues historiques comme repères.

bornes_recharge(lieu?, rapide?)

« borne de recharge libre près de Saint-Gilles ? », « où recharger rapidement à Saint-Pierre ? »

Bornes de recharge publiques pour voiture électrique (136 stations, 411 points de charge) et l'état en direct de chaque point : libre, occupé ou hors service, avec sa puissance, ses prises, ses horaires et son réseau.

qualite_eau(lieu?, eau?)

« l'eau du robinet est potable à Cilaos ? », « on peut se baigner à l'Hermitage ? »

Qualité de l'eau d'après les analyses de l'ARS : eau du robinet réseau par réseau (dernière analyse, non-conformités sur 6 mois) et eau des 26 plages et bassins contrôlés, prélèvement par prélèvement.

sentiers_randonnee(lieu?, longueur_min_km?, longueur_max_km?, denivele_max_m?)

« sentiers fermés à Mafate ? », « le sentier de la Roche Pendue est ouvert ? », « la trace GPS du Piton des Neiges ? », « une rando de 10 km à Cilaos ? »

Sentiers de randonnée et routes forestières ouverts ou fermés d'après la carte de l'ONF, avec la cause de chaque fermeture et la date de réouverture prévue ; par sentier, autour d'un lieu, dans un cirque ou une commune, filtrés par longueur ou dénivelé. Trace GPS (GPX) de chaque sentier de l'ONF et des itinéraires complets d'OpenStreetMap (GR R1, R2, R3, Piton des Neiges, Roche Écrite…), avec longueur, dénivelé positif et négatif et profil (altitudes de l'IGN) ; pour un itinéraire, l'état des sentiers de l'ONF qu'il emprunte. Dès qu'un de ces sentiers est fermé, un champ avertissement et le début du résumé le disent. Avec la clé FIRMS, un bloc feux_detectes : les feux de végétation détectés par satellite ces dernières 24 h (faux positifs possibles), avec le 18 et le 112 ; un feu près du lieu demandé ouvre le résumé.

restrictions_eau(lieu?, profil?)

« restrictions d'eau à Saint-Joseph ? », « j'ai le droit d'arroser mon jardin ? »

Restrictions d'eau de l'arrêté sécheresse en vigueur, par commune (eau du robinet, rivières et sources, nappes) et ce qui est interdit pour un particulier, une entreprise, une collectivité ou une exploitation agricole.

coupures_eau(lieu?)

« coupure d'eau à Saint-Denis ? », « l'eau est potable à la Plaine-des-Palmistes ? »

Avis des distributeurs d'eau : coupures pour travaux (heures, rues), pannes et avis « ne pas boire l'eau » ; Saint-Denis, La Possession, les six communes de l'Est et runéo.

resume_du_jour(lieu)

« quoi de neuf à Saint-Paul aujourd'hui ? », « ma journée au Tampon »

La journée d'une commune en un appel (un lieu est rapporté à sa commune) : météo mesurée et prévision du jour, vigilance de sa zone, mer, air, électricité, routes et blocages signalés par les médias (sans mesure des bouchons), actualités de la commune, coupures d'eau, événements du jour, jour férié ou vacances, soleil, mairie ouverte ou non, marché du jour (d'après les jours d'OpenStreetMap), état des bennes des déchèteries pour les communes du TCO (seulement les états de moins de 6 h), prix maximums des carburants du mois, et la pharmacie de garde renvoyée à 3237.fr, jamais devinée. Lu dans les copies des pages du site, jamais reconstruit pendant l'appel : une douzaine de lectures au plus ; ce qui n'a pas de copie récente est nommé dans non_inclus avec l'outil à appeler, et la plus ancienne copie manquante est remise à jour après la réponse si ce qu'elle coûte tient dans le budget de l'appel. Les copies communes à toute l'île (actualités, routes, électricité, coupures d'eau, air, mer, calendrier) sont aussi tenues à jour pour tous les centres de données par l'événement planifié, après les grilles AROME (src/web/partagees.ts).

defibrillateurs(lieu?)

« où est le défibrillateur le plus proche de la plage de l'Hermitage ? »

Les défibrillateurs les plus proches d'un lieu (plus de 1 200 sur l'île) : adresse, distance et temps à pied, emplacement, accessible à toute heure ou aux heures d'ouverture ; rappelle d'appeler le 15 ou le 112.

sport(sport?, lieu?, quand?)

« match de volley dimanche dans le sud ? », « le VBSP joue quand ? », « quels matchs ce week-end ? », « classement du handball ? », « qui a gagné le Grand Raid ? »

Rendez-vous à venir et derniers résultats officiels du handball (D1) et du volley (R1 et R2, toutes les poules) régionaux, avec les clubs en toutes lettres et la commune où l'on joue (un lieu peut être une commune, « le sud » ou le sigle d'un club), les matchs annulés ou reportés d'après les avis de la Ligue de volley et l'actualité locale, classements, régates, compétitions de golf, calendrier du sport automobile, Grand Raid (partants, abandons, podiums) et actualité sportive de Réunion La 1ère (titres et liens). Pas de résultats de football : aucune source ouverte.

cyclones(lieu?)

« il y a un cyclone en ce moment ? », « la tempête va passer près de Saint-Philippe ? », « c'était quoi le dernier cyclone ? », « école fermée demain ? »

Systèmes tropicaux actifs du sud-ouest de l'océan Indien d'après les bulletins du CMRS de La Réunion (Météo-France) : stade, vent moyen, pression, position, distance et direction depuis l'île ou un lieu, déplacement, prévision officielle et passage au plus près ; alerte cyclonique de la préfecture, et ce qu'elle veut dire pour les crèches et les établissements scolaires selon le dispositif ORSEC Cyclones (arrêté 2026-182), jamais une école en particulier. Hors saison : le dernier système et les systèmes de la saison.

historique_meteo(lieu?, jours?, du?, au?, detail?)

« il a beaucoup plu ce mois-ci à Saint-Benoît ? », « il fait gris tous les jours depuis deux semaines ? », « quelle température hier à Cilaos ? », « record de chaleur à Saint-Denis ? », « à quelle heure a-t-il plu hier ? », « rafale max cette nuit ? »

Mesures quotidiennes des stations Météo-France, de leur première année (1900 pour les plus anciennes) jusqu'à hier : pluie, températures, ensoleillement, rafales, jour par jour jusqu'à deux mois, par mois ou par année au-delà (10 ans au plus par question), comparées à la normale 1991-2020 de la station, avec ses records. Sur 3 jours ou moins (7 sur demande), depuis 2000, aussi heure par heure, nuit dernière comprise : heures de pluie, soleil, températures, vent et rafales.

evenements(lieu?, quand?, quoi?)

« que faire ce week-end à Saint-Paul ? », « un concert ce soir ? », « un spectacle à Saint-Denis samedi ? », « marché forain demain ? »

Concerts, théâtre, danse, humour, soirées, fêtes, festivals, marchés et animations à venir, d'après les programmes des salles (TÉAT Champ Fleuri et Plein Air, Cité des Arts, CDNOI, Kabardock, Le Séchoir, Léspas, Bisik, Théâtre Luc Donat), les agendas des mairies de Saint-Paul, du Port, des Trois-Bassins, de La Possession, du Tampon, de l'Entre-Deux, de Saint-Louis, de L'Étang-Salé, de Petite-Île, de Saint-André, de Bras-Panon et de Saint-Benoît, de l'office de tourisme de l'Est, de la CINOR et de l'office de tourisme du Nord (OpenAgenda) et de reunion.fr : titre, date et heures, salle, commune, genre, prix et billetterie quand ils sont donnés, statut (annulé, reporté, complet), y compris quand un média de l'île l'annonce avant l'organisateur (« d'après Imaz Press », avec le lien), lien vers la page de l'événement. Par commune, par jour (aujourd'hui, ce soir, demain, ce week-end, une date) et par genre ; les séances de cinéma renvoient aux sites des cinémas.

actualites(lieu?, sujet?, heures?)

« il y a des blocages à Saint-Pierre ? », « la manifestation se passe comment ? », « quoi de neuf à Saint-Benoît ? », « dernières infos sur le cyclone »

Ce qui se passe en ce moment sur l'île, d'après les médias locaux relus toutes les 5 minutes et leurs directs : pour chaque information, l'heure, le média, le titre, la première phrase, les communes et lieux nommés, ce qu'elle dit du lieu demandé et le lien vers l'article ; les communiqués de la préfecture. Par commune ou quartier, par sujet (manifestations et blocages, routes, météo, volcan, eau, faits divers…).

calendrier(lieu?)

« c'est quand les vacances ? », « le 20 décembre est férié ? », « lever du soleil au Maïdo ? »

Vacances de l'académie de La Réunion, jours fériés (dont le 20 décembre), lever et coucher du soleil au lieu.

fiche_terrain(adresse)

« cette parcelle est constructible ? », « prix au m² à Boucan ? », « cette maison est en zone inondable ? »

Parcelle cadastrale (section, numéro, surface), zone du PLU (U, AU, A, N) avec le lien vers son règlement, altitude du sol, prix médians des maisons, appartements et terrains vendus autour depuis 5 ans (DVF, agrégés : aucune vente individuelle). Risques : le point est-il dans une zone réglementée d'un plan de prévention des risques (inondation, mouvements de terrain, littoral, ou technologique), avec le lien vers le plan ; arrêtés de catastrophe naturelle de la commune ; glissements et éboulements recensés à moins de 500 m ; sismicité et radon.

donner_avis(type, message, outil?, lieu?, question_utilisateur?)

(appelé par l'assistant)

Transmet à rundata.re un avis : une donnée qui manque, une valeur fausse, une idée, un bravo. L'assistant est invité à l'envoyer de lui-même quand un outil n'a pas trouvé ou s'est trompé, ou quand l'utilisateur exprime un souhait. Sans donnée personnelle ; numéros et adresses électroniques retirés.

sources_donnees()

« d'où viennent ces chiffres ? »

Sources, licences et attributions.

lieu est du texte libre : une commune, une plage, un quartier, un cirque, un sommet, ou des coordonnées -21.05, 55.22. Le répertoire contient environ 1 250 lieux tirés d'OpenStreetMap, avec leur altitude IGN.

Citer la source. Chaque réponse finit par citer (« rundata.re, d'après Météo-France (station Saint-Pierre Pierrefonds) », fait des sources réellement utilisées) et lien, la page de rundata.re qui montre la même chose. Le champ sources garde l'attribution et la licence complètes de chaque producteur : rundata.re s'ajoute à eux, il ne les remplace pas. Quand une réponse n'a rien trouvé, une ligne avis rappelle l'outil donner_avis.

Fraîcheur et nouveautés dans chaque réponse. À côté de citer, fraicheur dit de quand date la donnée quand la source le dit (donnee_du), quand rundata.re l'a lue (lue_a, heure de La Réunion), son âge, et copies_de_secours quand une partie vient de la dernière copie lue : la source qui n'a pas répondu, nommée, avec l'heure de cette copie (partielle quand la même réponse a aussi des parties de cette source lues à jour : chaque copie retient la source qu'elle a lue), ou une partie dont notre lecture n'a pas abouti (l'avertissement le dit, et le reste de la réponse n'est dit à jour que s'il l'est) ; le cache note ce qu'il sert à chaque appel (src/lectures.ts), aucun outil n'a à le dire. Un bloc serveur donne la version, le nombre d'outils et les outils de moins d'une semaine : un assistant dont la liste d'outils est ancienne (certains la gardent des heures) le voit et peut le dire. sources_donnees donne la liste de tous les outils et les dernières nouveautés. Le tout vient de src/nouveautes.ts, à tenir à jour à chaque nouvel outil ou changement visible ; l'index en tête des instructions du serveur en est tiré, et les changements font aussi la page /nouveautes du site et CHANGELOG.md (npm run changelog le réécrit ; un test vérifie qu'il est à jour).

Les microclimats. L'île monte de 0 à 3 000 m en 20 km. L'est est exposé aux alizés (« au vent »), l'ouest est abrité (« sous le vent »). Chaque réponse donne donc la pertinence de la station (bonne / moyenne / faible) et un avertissement quand la station est plus basse, plus loin ou sur l'autre versant. Une station du littoral ne répond jamais en silence pour Cilaos.

Related MCP server: MCP Weather Server

Sources

Source

Ce qu'elle mesure

Fraîcheur

Licence

Stations Météo-France, API Package Observations (clé gratuite, facultative)

~56 stations, de la côte aux sommets : air, pluie, et pour une partie humidité, vent, pression

toutes les 6 min, publiées 5 à 10 min après

Licence Ouverte Etalab 2.0

METAR Gillot et Pierrefonds (Météo-France, via NOAA aviationweather.gov)

air, humidité, vent, pression, temps présent

toutes les 30 min, environ 20 min de retard

données OMM, diffusion libre

Balises Pioupiou / OpenWindMap

vent

toutes les 4 min

licence communautaire OpenWindMap, attribution obligatoire

NOAA CoastWatch ACSPO L3S

température de surface de la mer, satellite, carrés de 2 km

quotidienne, paraît au plus tôt le lendemain

domaine public

NASA Aqua MODIS (via NOAA PFEG), en secours

idem, carrés de 4 km, de jour

quotidienne, paraît au plus tôt le lendemain

domaine public

Vigilance météo et alerte cyclonique, Météo-France (API DPVigilance, même clé)

couleurs par zone et par heure, textes de suivi

à chaque nouveau bulletin, lu toutes les 5 min

Licence Ouverte Etalab 2.0

Radar Météo-France, lame d'eau de La Réunion à 500 m (API DPRadar, même clé)

pluie estimée par les radars du Colorado et de Piton Villers, avec un indice de qualité

toutes les 5 min

Licence Ouverte Etalab 2.0

Séismes de l'OVPF-IPGP (service FDSN de l'IPGP)

séismes localisés sous le volcan et sur l'île, magnitude, profondeur

dès qu'un analyste les a localisés

CC BY 4.0

Publications de l'OVPF-IPGP (son compte Bluesky public)

bulletins mensuels, communiqués, éruptions ; le texte des communiqués publiés en images, lu automatiquement dans leur première image (Tesseract, scripts/ovpf-ocr.ts) et cité comme tel

à chaque publication

citées avec leur lien

pitonlive.com (site indépendant)

niveau ORSEC, éruption en cours, accès à l'Enclos d'après les arrêtés préfectoraux

lu toutes les 10 min

non précisée : cité avec son nom et son lien

EDF SEI Réunion, open data

production par filière ; « météo de l'électricité »

toutes les 5 min ; chaque jour

Licence Ouverte Etalab 2.0

Avis de coupure d'électricité d'EDF Réunion relayés par les mairies de Sainte-Marie, Saint-Philippe, Cilaos, Saint-André et Sainte-Suzanne (API WordPress de leurs sites ; pour Saint-André, la liste des courriers d'EDF qu'elle met en ligne en PDF)

jours, heures et secteurs de chaque coupure, coupure en cours ou programmée, avec le titre et le lien de l'avis ; le texte de l'avis n'est pas repris ; d'un PDF, seule la date de coupure que donne son nom, sinon sa date de mise en ligne, avec son lien (aucun PDF n'est lu)

relu toutes les 2 heures par l'événement planifié (web:courant, src/web/partagees.ts)

information publique, faits seuls

Météo des déchèteries du Territoire de l'Ouest (TCO)

pour chacune des 13 déchèteries du TCO et chaque déchet (encombrants, déchets verts, gravats, métaux…), benne pleine ou non, rempli par les agents environ toutes les 2 heures ; la liste des sites est dans le paquet (scripts/build-decheteries.py)

relu toutes les 30 minutes

Licence Ouverte

Calendriers de collectes du Territoire de l'Ouest (TCO)

pour chacune des 3 247 voies de Saint-Paul, La Possession, Saint-Leu, Le Port et Trois-Bassins, son calendrier ; de chacun des 125 calendriers, les jours de collecte des ordures ménagères, du tri, des déchets verts et des encombrants et les jours fériés, lus dans son PDF (scripts/build-collecte.py, chaque mois vérifié contre les jours de la semaine) ; dans le paquet

le lundi, .github/workflows/collecte.yml compare la date de mise à jour du jeu et échoue quand le jeu change, pour qu'on le refasse (il échoue aussi si un PDF ne se lit plus)

Licence Ouverte

Marchés forains et couverts d'OpenStreetMap (amenity=marketplace)

nom, jours et heures quand ils sont renseignés, adresse, position ; liste incomplète

dans le paquet, refait par scripts/build-marches.py

ODbL, © les contributeurs d'OpenStreetMap

FINESS, fichier national des établissements sanitaires et sociaux (ministère de la Santé)

pharmacies, sites hospitaliers et cliniques de La Réunion : nom, adresse, commune, téléphone, position (sans les sites psychiatriques ni de rééducation) ; ni les horaires ni les services d'urgences, que FINESS ne donne pas ; noms et adresses sans accents, comme dans le fichier

dans le paquet, refait par scripts/build-sante.py

Licence Ouverte 2.0

Prix maximums des carburants et de la bouteille de gaz (communiqués de la préfecture, arrêté mensuel du préfet)

supercarburant, gazole, GNR, pétrole lampant, carburants des professionnels de la mer, bouteille de gaz de 12,5 kg, et l'écart au mois précédent

lu chaque jour par .github/workflows/carburants.yml, qui échoue si l'arrêté du mois manque après le 2

Licence Ouverte (informations publiques de l'État)

Calendrier scolaire (Éducation nationale) et jours fériés (calendrier.api.gouv.fr)

vacances de l'académie de La Réunion, jours fériés

lu une fois par jour

Licence Ouverte Etalab 2.0

Indice ATMO d'Atmo Réunion (géoserveur d'Atmo France)

qualité de l'air par commune, polluant en cause

chaque jour, pour le jour et le lendemain

Licence Ouverte Etalab 2.0

Annuaire de l'administration (service-public.fr, DILA)

adresses, horaires, téléphones des services publics

mis à jour par chaque service

Licence Ouverte Etalab 2.0

Base adresse nationale et Géoplateforme de l'IGN : géocodage, cadastre (DGFiP), Géoportail de l'urbanisme, altitude RGE ALTI

adresse, parcelle, zone du PLU, altitude du sol

à chaque mise à jour des registres

Licence Ouverte Etalab 2.0

Plans de prévention des risques (servitudes PM1 et PM3 publiées par la DEAL sur le Géoportail de l'urbanisme)

zones réglementées des PPR inondation, mouvements de terrain, littoral et technologiques

à chaque révision d'un plan

Licence Ouverte Etalab 2.0

Géorisques (ministère de la Transition écologique, BRGM)

arrêtés de catastrophe naturelle, mouvements de terrain recensés (BDMvt), sismicité, radon

à chaque arrêté ou relevé

Licence Ouverte Etalab 2.0

Horaires des réseaux de bus (GTFS) : Car Jaune (Région), Citalis et téléphérique Papang (CINOR), Kar'Ouest (TCO), Alternéo (CIVIS), CarSud (CASUD), Estival (CIREST), via transport.data.gouv.fr

horaires théoriques de ~10 000 arrêts ; préparés par scripts/build-transit.py dans une base Cloudflare D1

à chaque nouvelle version publiée par un réseau

Licence Ouverte Etalab 2.0

Bus en direct (GTFS-RT) : Car Jaune, Alternéo, CarSud, via transport.data.gouv.fr

heure annoncée de chaque course à ses prochains arrêts, courses et arrêts supprimés, info trafic ; rapprochés des horaires par course et par arrêt

chaque minute

Licence Ouverte Etalab 2.0

Vélos en libre-service Altervélo (CIVIS, exploité par Ecovélo), flux GBFS via transport.data.gouv.fr

vélos et places libres de chaque station

en direct (relu au plus chaque minute)

Licence Ouverte Etalab 2.0

Marégraphes du SHOM, réseau RONIM (REFMAR) : Pointe des Galets (Le Port) et Sainte-Marie

hauteur d'eau au-dessus du zéro des cartes, données brutes ; hauteurs horaires validées pour le calcul de la marée

chaque minute, environ 4 min de retard ; calcul refait par scripts/build-maree.py

Licence Ouverte 2.0, citer « REFMAR. http://dx.doi.org/10.17183/REFMAR#RONIM »

Vigicrues Réunion (DEAL Réunion) : vigilance crues et 29 stations de rivières ; positions des stations par le référentiel Hub'Eau, préparées par scripts/build-crues.py

vigilance crues par rivière, hauteur d'eau et débit, crues de référence

toutes les 5 minutes

Licence Etalab, citer « © VIGICRUES » et la date

Bornes de recharge : base nationale des IRVE de transport.data.gouv.fr, liste des stations préparée par scripts/build-irve.py, état filtré du fichier national toutes les 15 minutes (.github/workflows/irve.yml)

stations, puissance et prises de chaque point, libre, occupé ou hors service

toutes les 15 minutes

Licence Ouverte Etalab 2.0

Eau du robinet : contrôle sanitaire de l'ARS via Hub'Eau

analyses par réseau de distribution, conformité, paramètres au-dessus des limites

à chaque publication (un à deux mois après le prélèvement)

Licence Ouverte Etalab 2.0

Eau de baignade : contrôle sanitaire des eaux de baignade (ARS, ministère chargé de la santé), liste des sites préparée par scripts/build-baignades.py, toute l'île rassemblée quatre fois par jour (.github/workflows/eau.yml)

entérocoques et E. coli de chaque prélèvement, plages et bassins

toutes les deux semaines environ

information publique

Randonnée : carte des sentiers fermés de l'ONF (service cartographique public)

état de chaque sentier et route forestière géré par l'ONF, cause, réouverture prévue

à chaque mise à jour de l'ONF (arrêtés préfectoraux, décisions ONF)

information publique, ONF La Réunion

Feux de végétation : NASA FIRMS (API par zone, satellites VIIRS Suomi NPP, NOAA-20 et NOAA-21, 375 m), avec une clé MAP_KEY gratuite (FIRMS_MAP_KEY) ; sans clé, rien n'est demandé ni affiché

points chauds des dernières 24 h : position, heure, confiance, puissance ; « détection satellite, faux positifs possibles » (toit chaud, site industriel, brûlage autorisé)

4 à 6 passages par jour ; une requête par satellite (3 sous-requêtes), gardée 30 min pour toute l'île, seulement s'il reste deux fois ce coût

données de la NASA, partage libre ; « We acknowledge the use of data and/or imagery from NASA's FIRMS (https://earthdata.nasa.gov/firms), part of NASA's Earth Science Data and Information System (ESDIS). »

Traces de randonnée : relations « hiking » d'OpenStreetMap à La Réunion, mises bout à bout et simplifiées (5 m) par scripts/build-traces.py ; sentiers de l'ONF à pleine résolution, lus à la demande ; altitudes du service d'altimétrie de l'IGN (RGE ALTI)

traces GPS (GPX), longueur, dénivelé, profil

itinéraires à chaque reconstruction ; sentiers de l'ONF relus toutes les heures

ODbL, « © les contributeurs d'OpenStreetMap » ; ONF : information publique ; IGN : Licence Ouverte Etalab 2.0

Sécheresse : VigiEau (arrêtés préfectoraux de restriction d'eau)

niveau par commune et par ressource, usages restreints

à chaque nouvel arrêté

Licence Ouverte Etalab 2.0

Coupures d'eau : flux des avis de Dionéo, runéo, Eaux de La Possession et communiqués eau de la CIREST (CISE Réunion)

coupures, travaux, avis « ne pas boire l'eau »

à chaque avis

information publique (avis aux abonnés)

Défibrillateurs : Géo'DAE, base nationale du ministère chargé de la santé, liste préparée par scripts/build-dae.py

emplacement, accès, horaires déclarés de chaque appareil

à chaque reconstruction de la liste

Licence Ouverte Etalab 2.0

Sport : FFHB, FFVB, avis de la Ligue réunionnaise de volley-ball, FFVoile, ffgolf, Ligue du sport automobile, Sportsregions (calendrier des clubs), Grand Raid (Livetrail), Réunion La 1ère

matchs, scores, classements, annulations et reports, régates, compétitions, rallyes, événements des clubs, podiums, titres d'articles

de 30 min (Grand Raid, actualité, avis de la Ligue de volley) à 24 h (calendrier du sport automobile)

information publique (calendriers et résultats officiels, événements publiés par chaque club, avis cités avec leur lien) ; titres et liens seulement pour Réunion La 1ère

Cyclones : bulletins du CMRS de La Réunion (Météo-France), republiés par GDACS (Commission européenne, Nations unies) ; côtes Natural Earth pour la carte, préparées par scripts/build-ocean.py

position, stade, vent, pression, trajectoire et prévision de chaque système

toutes les 6 heures pendant un système

réutilisation libre en citant « Global Disaster Alert and Coordination System, GDACS » ; Natural Earth : domaine public

Historique : données climatologiques de base quotidiennes de Météo-France, 249 stations depuis 1900, rangées par scripts/build-climat.py ; normales 1991-2020 calculées par scripts/build-normales.py

pluie, températures, rafales, ensoleillement, rayonnement, humidité, jour par jour

chaque matin, avec la veille

Licence Ouverte 2.0

Historique heure par heure : données climatologiques de base horaires de Météo-France, 104 stations depuis 2000, rangées par scripts/build-climat-h.py

pluie, température, humidité, vent, rafales, ensoleillement, rayonnement, heure par heure (heure de La Réunion)

chaque matin, avec la nuit qui vient de finir

Licence Ouverte 2.0

Événements : programmes des salles TÉAT Champ Fleuri et Plein Air, Cité des Arts, CDNOI, Kabardock, Le Séchoir (The Events Calendar), Léspas, Bisik, Théâtre Luc Donat ; The Events Calendar des mairies de Saint-Paul, du Port et des Trois-Bassins, flux RSS de l'agenda du Tampon, de Saint-Louis, de Saint-André, de L'Étang-Salé, de l'Entre-Deux et de La Possession, pages agenda de Petite-Île, de Bras-Panon et de Saint-Benoît, agenda de l'office de tourisme de l'Est (OTI EST REUNION), OpenAgenda de la CINOR et de l'office de tourisme du Nord, agenda de reunion.fr (Île de La Réunion Tourisme)

événements : dates, heures, lieu, prix

relu toutes les heures

Licence Ouverte Etalab 2.0 (OpenAgenda) ; information publique (programmes des salles, agendas des mairies et de reunion.fr) : de chaque événement, ses faits seulement (titre, dates, heures, lieu, genre, statut) et au plus la première phrase de son texte, avec le nom de qui le publie, le lien vers sa page et l'heure de lecture ; office de tourisme de l'Est : reproduction autorisée par ses mentions légales, citée « OTI EST REUNION — Droits réservés », titres repris tels quels

Actualités : titres de Réunion La 1ère (sitemap Google News et RSS), Clicanoo, Imaz Press (sitemap Google News et son direct « l'actu en continu »), Freedom, Parallèle Sud, Témoignages ; communiqués de presse de la préfecture

titre, heure, première phrase, communes et lieux nommés, phrase qui nomme un lieu, lien

relu toutes les 5 minutes

titres, première phrase et lien seulement, comme un agrégateur : les articles restent sur le site de chaque média ; communiqués de la préfecture : Licence Ouverte. Linfo.re et Zinfos974, qui refusent les lecteurs automatiques, ne sont pas lus.

Demandes de valeurs foncières (DGFiP), API DVF du Cerema

ventes immobilières, agrégées en médianes

deux fois par an

Licence Ouverte Etalab 2.0

Prévisions AROME outre-mer, Météo-France (API « AROME », même clé que les observations ; outil prevision_meteo seulement)

prévision de modèle, maille de 2,5 km, 48 h

4 calculs par jour

Licence Ouverte Etalab 2.0

Prévisions ECMWF IFS HRES, via Open-Meteo (outil prevision_meteo seulement, au-delà de 48 h et en secours)

prévision de modèle, maille de 9 km

nouveau calcul toutes les 6 h

CC BY 4.0 ; API Open-Meteo gratuite pour usage non commercial

Prévision des vagues ECMWF WAM, via l'API marine d'Open-Meteo (outil temperature_mer, page /mer)

hauteur, période de pic et direction des vagues, 4 jours, toutes les plages en une requête

nouveau calcul toutes les 6 h, lu toutes les 30 min

CC BY 4.0 ; API Open-Meteo gratuite pour usage non commercial

Ensemble ECMWF ENS (51 scénarios), via l'API d'ensemble d'Open-Meteo (outil prevision_meteo, pages météo)

dispersion des scénarios jour par jour (maximum, pluie, rafales : écart entre le 1er et le 9e décile des scénarios), maille de 25 km, 7 jours, toute l'île en une requête

nouveau calcul toutes les 6 à 12 h, lu toutes les 3 h par la tâche planifiée, jamais par une question

CC BY 4.0 ; API Open-Meteo gratuite pour usage non commercial

Indice UV du service Copernicus de surveillance de l'atmosphère (CAMS global), via l'API qualité de l'air d'Open-Meteo (outil prevision_meteo)

indice UV prévu, nuages compris, maille de 45 km, 5 jours, toute l'île en une requête

2 calculs par jour, lu toutes les heures

licence Copernicus (citer CAMS) et CC BY 4.0 ; API Open-Meteo gratuite pour usage non commercial

Marée calculée

Les prédictions de marée du SHOM ne sont pas en données ouvertes ; ses mesures le sont. scripts/build-maree.py ajuste aux hauteurs horaires validées de plusieurs années le modèle harmonique classique de la marée (31 ondes, corrections nodales de Schureman, moindres carrés, Python sans bibliothèque) ; le serveur fait la somme pour les heures à venir (src/maree/calcul.ts, mêmes formules), sans requête. Les hauteurs sont recalées sur l'écart entre la mesure et le calcul des 6 dernières heures (le vent, la pression et la houle montent ou baissent la mer pendant des jours). Chaque réponse le dit : « calcul de rundata d'après les mesures, pas la prédiction officielle du SHOM », et cite « REFMAR. http://dx.doi.org/10.17183/REFMAR#RONIM ».

Contrôle sur des mois que le calcul n'a pas vus, pleines et basses mers mesurées toutes les 10 minutes (lissées sur une heure, comme le calcul), recalage pris 12 h avant :

Marégraphe

Ajusté sur

Contrôlé sur

Écart d'heure médian

Écart de hauteur médian

Pointe des Galets (Le Port)

2022-07 à 2026-06 (34 969 heures)

2026-07 à 2026-09, 346 pleines et basses mers

14,2 min (38 % sous 10 min, 64 % sous 20 min)

2,1 cm recalée (89 % sous 5 cm) ; 5,3 cm sans recalage

Sainte-Marie

2022-07 à 2026-06 (26 767 heures)

2026-07 à 2026-09, 347 pleines et basses mers

21,3 min (26 % sous 10 min, 48 % sous 20 min)

2,6 cm recalée (79 % sous 5 cm) ; 5,3 cm sans recalage

La marée est faible à La Réunion (20 à 80 cm) : en mortes-eaux, la pleine ou la basse mer s'étale et son heure est plus incertaine (la réponse le signale). Le bruit de la mer hors marée (vent, pression, houle, seiches : environ 7 cm) déplace l'heure observée d'un extrême de plusieurs dizaines de minutes ; ni des ondes de plus ni un calage de l'heure n'y changent rien. D'où les heures arrondies à 5 min et annoncées « à environ 15 min près » au Port et « à environ 20 min près » à Sainte-Marie.

Code source

https://github.com/rundata-re/rundata — licence MIT (fichier LICENSE).

Ailleurs : la fiche de réutilisation sur data.gouv.fr, la fiche du serveur sur Glama et les comptes Facebook, Instagram et WhatsApp (la chaîne).

Chaque pull request fusionnée est mise en ligne sur rundata.re dès que les tests passent (.github/workflows/deploy.yml). Quand un réseau de bus publie de nouveaux horaires, ils sont importés dans D1 avant la fusion (scripts/build-transit.py --d1 rundata-transports) : sans eux, le déploiement s'arrête avant de mettre en ligne.

Utilisation

Dans votre assistant IA : ajoutez un connecteur personnalisé avec l'adresse https://rundata.re/mcp (Claude.ai, ChatGPT, Le Chat…). Rien à installer, pas de compte.

En local (Node ≥ 20) : npm install, puis npm run dev:http (point d'accès http://127.0.0.1:8787/mcp, visible de cette machine seulement ; HOST=0.0.0.0 pour l'ouvrir au réseau, par exemple dans un conteneur) ou npm run dev:stdio. npm test lance les tests, sans réseau.

En conteneur : docker build -t rundata . puis docker run -i --rm rundata lance le serveur en stdio (variables facultatives METEOFRANCE_APPLICATION_ID ou METEOFRANCE_API_KEY pour les stations, la vigilance et le radar de Météo-France).

Le site

Les pages sont rendues par le serveur, données comprises, pour les moteurs de recherche et les aperçus de liens (src/web/). Le menu, les tuiles de l'accueil, le pied de page et le sitemap viennent d'une seule liste de catégories (src/web/categories.ts) :

  • / : l'île en ce moment, une tuile par catégorie avec sa donnée du moment, puis comment brancher le connecteur ;

  • Liens croisés : chaque page météo d'un lieu liste les randonnées qui passent à moins de 12 km avec leur état, et la page de son secteur ; chaque fiche de sentier ou d'itinéraire renvoie à la page météo la plus proche et à la vigilance ; la page d'une commune a ses tuiles « Randonnée » (ses sentiers de l'ONF, ceux qui sont fermés) et « Sorties » (ses événements des deux semaines) ; /evenements/ce-week-end donne, jour par jour, la prévision des communes où il se passe quelque chose ;

  • /meteo : la météo de toute l'île (carte, stations de la côte aux sommets, mer), et /meteo/<commune> pour les 24 communes et quelques lieux (volcan, Maïdo, Hell-Bourg…), avec la station la plus pertinente, la mer sur la côte et la prévision, étiquetée ;

  • /communes/<commune> : tout ce qui concerne une commune en ce moment (météo de sa station, vigilance de sa zone, air, mer sur la côte, prochains bus à sa gare ou près de son centre, mairie ouverte ou fermée, soleil), puis le volcan et l'électricité de toute l'île ; /communes les liste par zone ;

  • /communes/<commune>.rss : les alertes d'une commune en flux RSS, un article seulement quand il se passe quelque chose : vigilance de Météo-France au-dessus du vert pour sa zone (vagues-submersion pour une commune du littoral, alerte cyclonique pour toutes), avis de coupure d'eau qui la nomment, sentiers de l'ONF fermés sur son territoire, volcan au-dessus de « Vigilance ». Lu dans les copies des pages (vigilance, /coupures-eau, /randonnees, /volcan), jamais construit pour le flux ; chaque article garde le même identifiant tant que l'événement dure, pour qu'un lecteur ne le montre qu'une fois (src/web/rss.ts). Annoncé dans l'en-tête de la page de la commune et lié dans son pied de page ;

  • /vigilance : la vigilance météo et l'alerte cyclonique, zone par zone ;

  • /ecoles-cyclone : ce que prévoit le dispositif ORSEC Cyclones de la préfecture pour les crèches, écoles, collèges, lycées et universités, et l'alerte en vigueur d'après le bulletin de Météo-France ; le dernier communiqué cyclone de la préfecture y est cité (titre et lien), avec la levée de l'alerte et la réouverture des écoles quand un communiqué les dit, et les deux sources quand elles divergent ;

  • /alerte-cyclone : ce que le dispositif ORSEC Cyclones de la préfecture prévoit à chaque niveau d'alerte (travail, écoles, manifestations, circulation, centres d'hébergement, phase de sauvegarde), cité page par page avec le lien du PDF, sous l'alerte en vigueur ; rien sur ce que le plan ne dit pas (bus, commerces) ;

  • /mer : la température de l'eau au large des plages ;

  • /volcan : éruption ou non, accès à l'Enclos, séismes et messages de l'observatoire ;

  • /bus : les réseaux et les prochains départs dans les gares routières ;

  • /actualites : ce qui se passe sur l'île depuis 24 h, d'après les médias locaux : le direct du jour quand un média en tient un, toutes les informations avec leur heure, leur média et les communes qu'elles nomment, un filtre par commune et par sujet, les communiqués de la préfecture ; les jours de mobilisation, les derniers titres passent aussi en tête de l'accueil ;

  • /trafic : la circulation, sans donnée de trafic reprise : la carte Waze en direct (chargée seulement au clic, car elle dépose des cookies), un lien vers infotrafic.re (état officiel des routes, Région Réunion), les retards et déviations des bus, les routes forestières fermées, l'accès à l'Enclos, la vigilance, et ce que disent les médias des routes et des barrages dans leurs titres des six dernières heures, avec les communiqués du jour de la préfecture (d'après la dernière lecture des actualités, refaite après la réponse quand elle date) ;

  • /coupures-eau/<commune> : l'eau d'une commune : les avis de coupure de son distributeur, ou « aucun avis publié à HH:MM », qui distribue son eau (d'après le contrôle sanitaire de l'ARS, src/eau/distributeurs.json, scripts/build-distributeurs.py), son niveau de sécheresse et son eau du robinet ; tirée des copies de /coupures-eau, /secheresse et /eau. La page de chaque commune y renvoie par sa tuile « Eau » ;

  • /air : l'indice ATMO du jour dans chaque commune, sur une carte ;

  • /electricite : la production d'électricité filière par filière, la part renouvelable et les heures de tension ; une section #coupures donne les coupures annoncées par les mairies qui relaient les avis d'EDF ;

  • /calendrier : les vacances scolaires de l'académie de La Réunion pour l'année scolaire en cours, toutes ses périodes (et l'année suivante dès qu'elle est publiée), les jours fériés, le lever et le coucher du soleil ;

  • /randonnees : la page des randonneurs, avec tous les itinéraires et sentiers sur une carte de l'île selon leur état, leurs distances et dénivelés, un filtre (recherche, distance, dénivelé, ouverts seulement, boucle) et les itinéraires coupés par une fermeture ; /sentiers : les sentiers fermés du jour, commune par commune, et, avec la clé FIRMS, les feux de végétation vus par satellite ces dernières 24 h (en tête quand il y en a, avec le 18 et le 112 ; la tuile « Randonnée » d'une commune les dit aussi) ; /feux : ces feux sur la carte de l'île et en liste, avec les sentiers fermés (copie de /sentiers) et la vigilance ; sans la clé, la page dit que la détection n'est pas encore active, n'est pas indexée (noindex), n'est pas dans le sitemap et rien n'y renvoie ;

  • /randonnees/<secteur> : une page par secteur (Mafate, Cilaos, Salazie, Volcan, Hauts de l'Ouest, Nord, Est, Sud, Sud sauvage, Littoral) : ses sentiers fermés en tête, ses itinéraires et ses sentiers de l'ONF, les accès et la météo de la page la plus proche ; tirée de la copie de /randonnees, sans rien lire de plus. Le secteur d'un sentier ou d'un itinéraire est calculé une fois par scripts/build-traces.py : celui où passe la plus grande partie de son tracé (cirque de Mafate d'OpenStreetMap, communes de geo.api.gouv.fr, altitudes de l'IGN pour le volcan et le littoral) ; un itinéraire qui traverse l'île n'en a pas, il est listé dans chaque secteur qu'il traverse ;

  • /sentiers/<sentier> et /randonnees/<randonnée> : un sentier de l'ONF ou un itinéraire de randonnée, sa trace sur la carte, son profil, son état d'après l'ONF (les tronçons fermés d'un itinéraire en tête de page) et son fichier GPX (la même adresse suivie de .gpx, avec un point « FERMÉ » au début de chaque tronçon fermé) ;

  • /evenements : les événements des deux semaines qui viennent, jour par jour, filtrables par genre ; /evenements/ce-week-end : ceux du week-end (du vendredi 17 h au dimanche soir, avec un jour férié qui y est collé ; à partir du lundi, le week-end qui vient) ; /evenements/concerts : les concerts, ceux du soir à part. Les deux sont tirées de la copie de /evenements, sans rien lire de plus ;

  • /decheteries : les déchèteries de l'Ouest (TCO), une section par commune avec son ancre, les bennes pleines ou non d'après les agents, une mise à jour de plus de 6 h dite à vérifier ; une tuile sur les pages des cinq communes du TCO y renvoie ;

  • /collecte et /collecte/<commune> : le jour de collecte des déchets rue par rue dans les cinq communes du TCO, avec une recherche par rue, les rues groupées par calendrier ;

  • /carburants : les prix maximums du mois, fixés par le préfet, avec l'écart au mois précédent et le lien vers le communiqué ; daté dans le sitemap par l'arrêté ; aussi en carte sur /trafic ;

  • /aujourdhui/<commune> : la journée de chacune des 24 communes sur une page, faite du même résumé que l'outil resume_du_jour (src/tools/resume.ts) : la météo est construite si elle n'a pas de copie, comme sur la page de la commune, le reste est seulement lu dans les copies des pages, et ce qui manque renvoie à sa page ; liée depuis /communes/<commune> ;

  • /sites-sans-reponse : les sites publics de l'île qui ne répondent pas en ce moment, par thème, depuis quand, le dernier essai et ce qui manque ici, avec ceux qui répondent de nouveau depuis moins de 7 jours ; la même liste que l'outil sites_sans_reponse (src/sans-reponse.ts), lue au plus toutes les 15 minutes ; liée depuis /a-propos ;

  • /nouveautes : ce que le site et le connecteur savent faire de plus, jour après jour, en une phrase par changement, liée depuis le pied de page et donnée par sources_donnees ; la même liste que CHANGELOG.md ;

  • /presse : l'espace presse, lié depuis le pied de page : le communiqué, des chiffres clés comptés dans les données du site au moment de l'affichage (outils, stations, arrêts, bornes, défibrillateurs, sentiers…) et les visuels à télécharger, libres avec la mention rundata.re. Les visuels sont des fichiers statiques servis par Cloudflare à côté du Worker (public/presse/, construits par scripts/build-presse.py), pas dans son paquet ;

  • en bas de chaque page, un formulaire « Un avis, une donnée qui manque ? » (src/web/avis.ts) : un formulaire HTML simple, sans script, envoyé à POST /avis, qui renvoie à la page avec un merci. Les avis du site et de l'outil donner_avis vont dans la table avis de D1 (scripts/avis.sql), sans adresse IP, effacés au bout de 12 mois ;

  • /robots.txt, /sitemap.xml, /og.png (aperçu Facebook, WhatsApp…, scripts/build-og.py), /favicon.svg et /favicon.ico (le symbole de rundata.re, le « Point chaud », en SVG et en PNG de 48 px), /manifest.webmanifest (le site gardé sur l'écran d'accueil d'un téléphone, ouvert sur /?ref=pwa, avec les raccourcis Météo, Vigilance et Randonnées ; icônes public/icons/, symbole et logos public/logo/, repris du kit de la marque par scripts/build-icons.py), /sw.js (le service worker : réseau d'abord, et sans réseau la dernière copie de chaque page ouverte, sous un bandeau qui en donne la date ; rien de /mcp, de ?maj=, des flux ni des traces), /hors-ligne (la page d'une adresse jamais ouverte sans réseau, avec les pages gardées sur le téléphone).

Sous le titre de chaque page, une phrase dit à quoi elle sert ; au bas de chaque page, au-dessus du formulaire d'avis, un lien « Partager sur WhatsApp » (?ref=wa) et l'appel à suivre rundata.re sur Facebook, Instagram ou WhatsApp (?ref=site).

English

Public data for Réunion Island (French overseas department 974, Indian Ocean), live and sourced:

  • Tools:

    • meteo_actuelle(lieu): current weather at the most representative station.

    • prevision_meteo(lieu, quand): model forecast (Météo-France AROME outre-mer 2.5 km for 48 h, then ECMWF IFS 9 km via Open-Meteo up to 7 days), with each day's forecast UV index (Copernicus CAMS) and confidence (agreement of the 51 ECMWF ENS members), always labelled as a forecast, never mixed with measurements.

    • vigilance_meteo(lieu?): Météo-France's official weather warnings and cyclone alert, island-wide or for a place's zone.

    • volcan_seismes(): Piton de la Fournaise status (eruption, alert level, access) and recent earthquakes located by the OVPF-IPGP.

    • electricite(lieu?): EDF's real-time production mix, renewable share and grid signal for the coming days; the power cuts EDF announces as some town halls relay them (days, hours, streets and the link, never the notice's text).

    • calendrier(lieu?): school holidays (austral calendar), public holidays including 20 December, sunrise and sunset.

    • qualite_air(lieu?): ATMO air quality index per commune, today and tomorrow.

    • sites_sans_reponse(quoi?): the island's public websites that do not answer at the moment, rechecked every day: since when, the last error in plain words and what is missing on rundata.re as a result; a site that answers again leaves the list.

    • annuaire_services_publics(quoi, lieu?): addresses, opening hours and phone numbers of public offices; this month's maximum fuel prices, set by the prefect (quoi: "carburant"); and the nearest pharmacies and hospitals from FINESS (quoi: "pharmacie", "urgences"), sending to 3237.fr or the 32 37 for the duty pharmacy and to the 15 for an emergency. And the markets OpenStreetMap maps (quoi: "marché"), an incomplete list. And the West's déchèteries (quoi: "déchèterie"), with which skips are full, as the TCO's staff report it; and the days the bins are collected, street by street, in the West (quoi: "collecte", lieu: the street and its commune), from the TCO's calendars.

    • transports(arret, ligne?): next bus departures at a stop, all networks of the island (published timetables, and real-time times, delays and traffic alerts where the network publishes a GTFS-RT feed).

    • velos_libre_service(lieu?): live Altervélo bike-share availability (e-bikes and free docks per station) in Saint-Pierre, Saint-Louis and L'Étang-Salé.

    • maree(lieu?): measured sea level at Réunion's two SHOM tide gauges (Le Port, Sainte-Marie): level, rising or falling, last high and low water observed; then the next high and low waters computed by rundata from years of these measurements (harmonic analysis, scripts/build-maree.py), not the SHOM's official prediction, which is not open: times rounded to 5 min, within about 15 min at Le Port and 20 min at Sainte-Marie (median, checked on months outside the fit), heights within about 5 cm, no tidal coefficient.

    • crues_rivieres(lieu?): river flood vigilance and live river levels and flows at 29 gauges (Vigicrues Réunion), with trend and historical floods as landmarks.

    • bornes_recharge(lieu?, rapide?): public EV charging stations with the live status of each charge point (free, in use, out of order), power, plugs and hours.

    • qualite_eau(lieu?, eau?): tap water quality per distribution network and bathing water quality of the 26 beaches and river pools checked by the regional health agency.

    • sentiers_randonnee(lieu?): hiking trails and forest roads open or closed according to the ONF (French forestry office) map, with the cause of each closure; a GPS trace (GPX), length, elevation gain and profile for every ONF trail and for the whole hiking routes of OpenStreetMap (GR R1, R2, R3, Piton des Neiges…), with the state of the ONF trails each route uses and a warning first when one is closed; hikes can be filtered by length and elevation gain.

    • restrictions_eau(lieu?, profil?): drought water-use restrictions in force, per commune and resource, and what is forbidden for a private person, a business, a local authority or a farm.

    • coupures_eau(lieu?): water cuts and do-not-drink notices published by the water distributors.

    • resume_du_jour(lieu): a commune's day in one call (weather, warnings, sea, air, power, roads, news, water cuts, events, town hall, the day's market, the West's waste centres, fuel prices, the duty pharmacy through 3237.fr), read from the site's page copies; what is missing is named with the tool to call.

    • defibrillateurs(lieu?): nearest public defibrillators (AED) with address, walking time and access hours.

    • sport(sport?, lieu?, quand?): fixtures, results and standings of the regional handball and volleyball leagues (clubs by acronym, town or part of the island; matches called off by the league's notices or the news), regattas, golf competitions, motor sport calendar, the Grand Raid's counts and podiums, and sport news headlines.

    • cyclones(lieu?): active tropical cyclones of the south-west Indian Ocean from the RSMC La Réunion advisories (via GDACS): stage, wind, distance and direction from the island, movement, official forecast and closest approach; the cyclone alert in force, and what the prefecture's ORSEC plan says it means for nurseries and schools.

    • historique_meteo(lieu?, jours?, du?, au?, detail?): past measured weather from the Météo-France stations, daily from their first year (1900 for the oldest) to yesterday: rain, min/max temperature, sunshine, gusts, against the station's 1991-2020 normal and its records; hour by hour since 2000 for periods of a few days, last night included.

    • evenements(lieu?, quand?, quoi?): upcoming concerts, plays, dance, comedy, nightlife, fêtes, festivals and markets, from the programmes of the concert halls and theatres (TÉAT, Cité des Arts, CDNOI, Kabardock, Le Séchoir, Léspas, Bisik, Théâtre Luc Donat), the town halls' agendas, OpenAgenda (north of the island) and the tourist board's reunion.fr, with dates, hours, venue, genre, price, booking link, status (cancelled, postponed, sold out) and a link to each event's page.

    • actualites(lieu?, sujet?, heures?): what is happening on the island now, from the local media's headlines and live blogs (time, outlet, first sentence, communes named, what each says of the place asked about, link) and the prefecture's press releases, by place and subject.

    • fiche_terrain(adresse): cadastral parcel, zoning (PLU), altitude, median property prices around (aggregated DVF), and natural hazards: risk prevention plan at the point, natural disaster decrees, landslides recorded within 500 m.

    • meteo_actuelle also reports the rain seen by Météo-France's radar at the place.

    • temperature_mer(lieu): measured sea surface temperature near a beach, and apart from it the wave forecast of the ECMWF WAM model (height, period, direction, 4 days, via Open-Meteo), always labelled as a forecast.

    • donner_avis(type, message, …): feedback to rundata.re (missing data, wrong value, suggestion, praise); assistants are invited to send it when a tool came up short.

    • sources_donnees(): sources and licences.

  • Places: free text (town, beach, peak) or lat, lon.

  • Traffic: no live traffic measurement in Réunion is open for reuse, so there is no traffic tool. The /trafic page loads Waze's live map only on request (it sets cookies) and links to the Région's infotrafic.re, next to what is open: bus delays and detours, closed forest roads, weather warnings, the local media's headlines of the last six hours about roads and blockades, and the prefecture's press releases of the day on them.

  • Fuel prices: /carburants, the prefect's monthly maximum prices, read every day from the prefecture's press releases.

  • What's new: /nouveautes and CHANGELOG.md, both generated from src/nouveautes.ts.

  • Press: /presse has the press release, key figures counted live from the site's data, and screenshots free to use with the credit « rundata.re ».

  • Freshness and new tools: every answer also carries fraicheur (when the data dates from, when rundata.re read it, its age, and whether a last copy was served for a source that did not answer) and a short serveur block (version, number of tools, tools added this week), so that an assistant with an old tool list can tell; sources_donnees lists every tool and the latest changes.

  • Citation: every answer ends with citer (« rundata.re, d'après ») and lien, the matching rundata.re page; the producers' full attribution and licence stay in sources.

  • Answers: every answer carries the measurement time, the station distance, the altitude difference, the windward or leeward side, and a relevance flag.

  • Licences: code under MIT. Data under each source's licence (see sources_donnees). Place names © OpenStreetMap contributors (ODbL), altitudes IGN (Licence Ouverte).

Available Tools

27 tools
actualitesActualités de La Réunion en direct : manifestations, blocages, routes, faits diversA
Read-onlyIdempotent
Inspect

Ce qui se passe en ce moment à La Réunion (974), d'après les médias de l'île (Réunion La 1ère, Clicanoo, Le Quotidien, Imaz Press et son direct, Freedom, Parallèle Sud, Témoignages) relus toutes les 5 minutes, et les communiqués de la préfecture : pour chaque information, l'heure (ou le jour seul quand le média ne donne pas l'heure), le média, le titre, la première phrase quand le média la donne, les communes et lieux nommés, ce qu'elle dit du lieu demandé, le lien vers l'article. Par lieu (commune, quartier) et par sujet (manifestations et blocages, routes, météo, volcan, eau, faits divers, santé, politique, culture, sport). Route du Littoral : champ route_du_littoral, une annonce des médias datée, pas une mesure. Pour : « il y a des blocages à Saint-Pierre ? », « la manifestation se passe comment ? », « quoi de neuf à Saint-Benoît ? », « route fermée ? », « dernières infos sur le cyclone ». / Live local news of Réunion Island: headlines of the local media and their live blogs, prefecture releases, by place and subject.

NameRequiredDescriptionDefault
lieuNoUne commune ou un lieu (« Saint-Pierre », « Ravine des Cabris », « Saint-Gilles ») : les informations qui le nomment. Vide = toute l'île. / A town or place; empty = whole island.
sujetNo« mobilisation » (manifestations, blocages, barrages), « route », « meteo », « volcan », « eau », « securite », « sante », « politique », « culture », « sport », ou des mots du titre ; vide = tout. / Subject or words; empty = all.
heuresNoDepuis combien d'heures (1 à 72, 24 par défaut). / How many hours back (1-72, default 24).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a read-only, idempotent, open-world lookup, so the description's job is to add context — which it does: 5-minute refresh cadence, source list, prefecture releases, and the important caveat that route_du_littoral is a dated media announcement, not a measurement. It doesn't discuss result volume or pagination, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core scope, cadence, sources, and field list are front-loaded, and the bilingual closing sentence is efficient. The enumeration of eight media outlets plus the field list is dense but each element earns its place; length is justified by the tool's breadth.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by listing what each item contains (time, media, title, first sentence, communes/places, relevance to the requested place, link). That is sufficient for an agent to call and interpret results, though it omits result-set size and ordering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented. The description restates the place/subject semantics and adds the useful clarification that a place is matched by being *named* in the item, but contributes little parameter detail beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the specific verb/resource (aggregated live local news of Réunion, refreshed every 5 minutes) and enumerates the sources and the per-item fields returned. It is clearly distinguishable from siblings like resume_du_jour, evenements, or transports, which cover daily summaries, events, and transit rather than media headlines.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Concrete example queries ('il y a des blocages à Saint-Pierre ?', 'route fermée ?', 'dernières infos sur le cyclone') make the intended use obvious, and the place/subject framing tells the agent how to scope a call. It stops short of saying when to prefer a sibling such as resume_du_jour or evenements instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

annuaire_services_publicsServices publics et vie pratique à La Réunion : adresses, horaires, carburants, pharmaciesA
Read-onlyIdempotent
Inspect

Adresse, horaires d'ouverture (et si c'est ouvert en ce moment), téléphone et site des services publics de La Réunion (974) : mairies et mairies annexes, préfecture et sous-préfectures, CAF, CPAM, France Travail, impôts, tribunaux, France services… d'après l'annuaire officiel de service-public.fr. Aussi les prix maximum des carburants et de la bouteille de gaz du mois, fixés par le préfet (quoi = « carburant », « essence », « gazole », « gaz »), les pharmacies et les hôpitaux les plus proches d'après FINESS (quoi = « pharmacie », « urgences », « hôpital ») : la pharmacie de garde n'est connue que de 3237.fr et du 32 37, l'urgence passe par le 15 ; les marchés forains et couverts d'après OpenStreetMap (quoi = « marché » ; un marché de Noël ou nocturne annoncé : evenements), et les déchèteries de l'Ouest (TCO) avec les bennes pleines en direct (quoi = « déchèterie », « encombrants », « déchets verts »), et le jour de collecte des déchets rue par rue dans l'Ouest (quoi = « collecte », « poubelles », lieu = la rue et la commune : « rue Labourdonnais, Saint-Paul »), d'après les calendriers du TCO ; où aller avec les enfants (quoi = « enfants », « aire de jeux », « piscine », « médiathèque », « skatepark »…) : aires de jeux, parcs, piscines, médiathèques, zoos, parcs de loisirs, salles de jeux, skateparks, escalade, musées, commune par commune, avec l'âge quand la carte le donne, d'après OpenStreetMap, Data ES et Basilic. Pour : « horaires de la mairie de Saint-Paul ? », « pharmacie près de Boucan Canot ? », « marché forain à Sainte-Marie ? », « où est la CAF la plus proche du Tampon ? », « numéro de la sous-préfecture de Saint-Pierre ? », « prix de l'essence ce mois-ci ? », « quel jour passent les poubelles rue Labourdonnais à Saint-Paul ? », « une aire de jeux à Saint-Leu ? ». / Public offices in Réunion Island (addresses, hours, phones), this month's maximum fuel prices, pharmacies and hospitals, places to go with children.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.
quoiYesLe service cherché, en quelques mots : « mairie », « CAF », « préfecture », « impôts », « France Travail », « tribunal »…, ou « carburant » pour les prix du mois, « pharmacie », « urgences », « enfants » pour les lieux où aller avec eux. / The office sought, or 'carburant', 'pharmacie', 'urgences', 'enfants'.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish a safe read-only, idempotent, open-world lookup, so the description need not repeat that. It adds useful behavioral context by naming data sources (service-public.fr, FINESS, OpenStreetMap, TCO) and noting freshness/coverage constraints such as monthly fuel prices, live bin status, and the limits around on-call pharmacies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and every major clause is relevant, but it is a dense wall of text with repeated parentheticals, multiple source lists, and many example queries. For a two-parameter tool it could be much more scannable with structured bullets or shorter examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a broad read-only lookup with two parameters and no output schema, the description covers scope, sources, limitations, and example use cases well. Its main gap is that it does not describe result formatting or whether results are grouped, paginated, or ranked, though this is a minor omission given the tool type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real value by enumerating accepted `quoi` vocabulary (“carburant”, “pharmacie”, “urgences”, “marché”, “déchèterie”, “collecte”, “enfants”, etc.). It also clarifies `lieu` usage with examples like “rue Labourdonnais, Saint-Paul” and the street-plus-commune pattern.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise list of covered resources (addresses, opening hours, phones, websites for public services in Réunion) and enumerates additional domains such as fuel prices, pharmacies, markets, waste collection, and children's places. It also distinguishes one overlapping case explicitly by routing Christmas or night markets to the sibling tool `evenements`.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives multiple concrete example queries (“horaires de la mairie de Saint-Paul ?”, “prix de l'essence ce mois-ci ?”) and maps many `quoi` keywords to intended lookups. It also states clear exclusions: on-call pharmacy is only available via 3237.fr/32 37 and emergencies go through 15, while certain market events belong to `evenements`.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bornes_rechargeBornes de recharge à La RéunionA
Read-onlyIdempotent
Inspect

Bornes de recharge publiques pour voiture électrique à La Réunion (136 stations, plus de 400 points de charge : Freshmile, EZDrive, E.Leclerc…) et l'état en direct de chaque point d'après son opérateur : libre, occupé ou hors service, avec sa puissance, ses prises, ses horaires et son réseau. Pour : « borne de recharge libre près de Saint-Gilles ? », « où recharger rapidement à Saint-Pierre ? », « bornes au Tampon ? ». / Réunion Island public EV charging stations with live availability of each charge point.

NameRequiredDescriptionDefault
lieuNoUn lieu ou une commune (« Saint-Gilles-les-Bains », « Le Tampon », « aéroport Roland-Garros »). Vide = toute l'île. / A place or town; empty = whole island.
rapideNoSeulement la recharge rapide (50 kW ou plus). / Fast charging only (50 kW or more).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, so the safety profile is covered; the description adds value beyond that by stating the data is operator-sourced live state (Freshmile, EZDrive, E.Leclerc), listing the per-point fields returned, and noting that an empty place means the whole island. It does not state data refresh cadence or coverage limits for 'en direct', which keeps it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The resource statement and live-status claim are front-loaded, followed by example queries, which is a sound ordering. The French and English halves largely duplicate each other, but that is defensible for a bilingual public-data tool and the English summary is kept to one line.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only two fully documented optional parameters, no output schema, and complete annotations, the remaining burden is describing what comes back — which the description does by enumerating status, power, plugs, hours and network. It is essentially complete for an agent to call it correctly; only freshness/limits of the live data are unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (lieu, rapide) already carry bilingual definitions and formats, so the schema does the heavy lifting. The description reinforces `lieu` through town-name examples, but it also uses the word 'libre' in an example query while no availability filter parameter exists, which could briefly mislead an agent into looking for one.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource (bornes de recharge publiques pour voiture électrique à La Réunion) and a concrete payload (live per-charge-point status, power, plugs, hours, network), and quantifies scale (136 stations, 400+ points). No sibling tool covers EV charging (velos_libre_service is bikes, transports is transit), so the resource is unambiguously separable from the rest of the catalog.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Three quoted example queries (« borne de recharge libre près de Saint-Gilles ? », « où recharger rapidement à Saint-Pierre ? », « bornes au Tampon ? ») give concrete, realistic usage contexts, including a fast-charging scenario. However there is no explicit when-not-to-use or pointer to any complementary tool, so routing guidance is implicit rather than complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calendrierVacances, jours fériés et soleil à La RéunionA
Read-onlyIdempotent
Inspect

Calendrier de La Réunion (974) : vacances scolaires de l'académie de La Réunion (calendrier austral, différent de la métropole), jours fériés (dont le 20 décembre, Fèt Kaf), date du jour, et heures de lever et de coucher du soleil au lieu demandé. Pour : « c'est quand les vacances ? », « la rentrée c'est quand ? », « le 20 décembre est férié ? », « prochain jour férié ? », « à quelle heure se lève le soleil au Maïdo ? ». / Réunion Island school holidays (austral calendar), public holidays (incl. 20 December) and sunrise/sunset times.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered; the description then adds domain-specific behavior beyond that, notably that the calendar is austral and differs from the metropole, that 20 December (Fèt Kaf) is included, and that no output format is described. It does not discuss caching or rate limits, so it is solid rather than exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The lead sentence front-loads the resource and its component data, and the example queries follow as compact routing aids. The trailing English summary duplicates most of the French content and lengthens the block without adding new information, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single optional parameter with no output schema and full annotation coverage, the description supplies enough: the four data categories it returns and the default 'tour de l'île' behavior are stated. The only real gap is the shape of the returned data across those mixed categories, which matters more because no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single `lieu` parameter is documented in detail there (commune, beach, cirque, summit, or 'lat, lon'; empty = whole island). The description only echoes this by saying sun times are computed at the 'lieu demandé', adding the useful nuance that the place mostly affects sunrise/sunset rather than holidays, but that is a small increment over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and enumerates exactly what it returns: school holidays for the Réunion academy (austral calendar), public holidays including 20 December, today's date, and sunrise/sunset at a given place. That scope clearly separates it from weather siblings like meteo_actuelle, prevision_meteo, or maree, which never return calendar data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides concrete trigger phrasings (« c'est quand les vacances ? », « prochain jour férié ? », « à quelle heure se lève le soleil au Maïdo ? »), which gives an agent clear context for routing. It stops short of naming exclusions or pointing to alternatives (e.g., use maree for tides, meteo for forecast), so it is strong but not fully explicit about when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

coupures_eauCoupures d'eau et eau non potable à La RéunionA
Read-onlyIdempotent
Inspect

Avis des distributeurs d'eau de La Réunion (974) : coupures pour travaux ou lavage de réservoir (heures, rues concernées), pannes, et avis « ne pas boire l'eau » quand l'eau n'est plus potable. Saint-Denis (Dionéo), La Possession, Saint-Paul et Les Trois-Bassins (La Créole), Sainte-Marie (communiqués de CISE Réunion publiés par la ville), Saint-Leu (avis publiés par la commune, en court extrait), les communes de l'Est (Saint-André, Bras-Panon, Saint-Benoît, La Plaine-des-Palmistes, Sainte-Rose, Salazie) et runéo. Pour : « coupure d'eau à Saint-Denis ? », « l'eau est potable à la Plaine-des-Palmistes ? », « quand revient l'eau ? ». Sans lieu : tous les avis récents. Un avis « ne pas boire » se dit d'abord ; la conformité des analyses de l'ARS est dans qualite_eau. Quand secteurs_complets vaut false, la liste des rues de l'avis n'a pas été lue en entier : ne jamais en conclure qu'une rue ou un quartier n'est pas concerné, donner le lien de l'avis complet. Même quand la liste est complète, dire « cette rue n'est pas dans la liste de l'avis », jamais « pas de coupure chez vous ». / Water cuts and do-not-drink notices from Réunion Island's water distributors.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only/safe/idempotent, and the description adds genuine behavioral context well beyond them: how the secteurs_complets flag must be interpreted, the prohibition on inferring a street is unaffected, and the instruction to hand back the full-notice link. This is exactly the kind of failure-mode disclosure annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and every later sentence carries an operational rule, but the long enumeration of communes and operators is dense and reads as a run-on, making the text heavier than strictly necessary for scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, annotation-covered read tool with no output schema, the description covers scope, covered operators, empty-input behavior, sibling routing, and reporting constraints — an agent can call and report on it correctly without further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'lieu' parameter is fully documented there (commune, beach, quartier, cirque, summit, or lat/lon). The description only restates the empty-value behavior (all recent notices), so it adds little beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource in both languages: water-cut and do-not-drink notices from Réunion's water distributors, listing exactly which operators/communes are covered (Dionéo, La Créole, CISE, runéo, Est communes). It explicitly distinguishes itself from qualite_eau (ARS analysis conformity) and gives concrete example questions it answers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage cues: example phrasings, the rule that an empty 'lieu' returns all recent notices, and routing to qualite_eau for ARS conformity. It does not, however, differentiate from the closely related sibling restrictions_eau, leaving one obvious alternative unaddressed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crues_rivieresCrues et rivières à La RéunionA
Read-onlyIdempotent
Inspect

Vigilance crues de Vigicrues Réunion (DEAL), rivière par rivière, et hauteur d'eau et débit mesurés toutes les 5 minutes aux 29 stations des rivières et ravines de l'île, avec leur tendance et les crues historiques comme repères. Rappeler de ne jamais traverser un radier submergé. Pour : « la rivière des Galets est en crue ? », « il y a une vigilance crues ? », « niveau de la ravine Saint-Gilles ? », « la rivière monte à Salazie ? ». / Réunion Island river flood vigilance and live river levels and flows (Vigicrues Réunion).

NameRequiredDescriptionDefault
lieuNoUne rivière (« rivière des Galets », « ravine Saint-Gilles ») ou un lieu (« Salazie », « Saint-Benoît ») pour les stations proches. Vide = toute l'île. / A river or a place; empty = whole island.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/open-world, so the bar is lower. The description still adds real value beyond them: 5-minute refresh cadence, 29 monitored stations, per-river granularity, trend and historical-flood context. It does not describe response shape or coverage gaps, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core capability, then examples, then a bilingual restatement. The safety reminder about not crossing a submerged radier is domain-relevant but slightly tangential, and the FR/EN duplication adds length, though both are defensible for a public-safety service.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description conveys what comes back: per-river vigilance, water height and flow, trends, historical flood references, and station coverage. Combined with annotations covering the safety profile and a fully documented single parameter, an agent has enough to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With a single optional parameter at 100% schema description coverage, the schema already explains that it accepts a river or place name and that empty means the whole island. The description's example place names echo this but add no new syntax or matching behavior beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States precise verbs and resources: Vigicrues Réunion flood vigilance per river, plus water height and flow measured every 5 minutes at 29 stations, with trends and historical flood benchmarks. An agent can clearly separate this from vigilance_meteo (weather alerts) or maree (tides) because the river/ravine domain is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete example queries ("la rivière des Galets est en crue ?", "niveau de la ravine Saint-Gilles ?") that show the intended trigger conditions well. It stops short of explicitly naming when to prefer a sibling tool or when not to call it, so not quite a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cyclonesCyclones dans le sud-ouest de l'océan IndienA
Read-onlyIdempotent
Inspect

Systèmes tropicaux actifs autour de La Réunion (974), d'après les bulletins du CMRS de La Réunion (Météo-France) republiés par GDACS : stade (dépression, tempête tropicale modérée ou forte, cyclone tropical, intense), vent moyen, pression, position, distance et direction depuis La Réunion ou un lieu, déplacement, prévision officielle et passage au plus près ; alerte cyclonique de la préfecture, et ce qu'elle veut dire pour les crèches, écoles, collèges, lycées et universités selon le dispositif ORSEC Cyclones (jamais une école en particulier). Hors saison : le dit, avec le dernier système et ceux de la saison. Citer la prévision du CMRS telle quelle, jamais de trajectoire inventée ; renvoyer aux consignes de la préfecture. Pour : « il y a un cyclone en ce moment ? », « où est la tempête ? », « elle va passer près de Saint-Philippe ? », « le dernier cyclone ? », « école fermée demain avec le cyclone ? », « combien de pluie pendant Garance ? » (nom). / Active tropical cyclones near Réunion Island (RSMC La Réunion advisories via GDACS), distance, movement, official forecast.

NameRequiredDescriptionDefault
nomNoUn cyclone passé (« Garance », « Dina 2002 ») : la pluie et les rafales mesurées station par station pendant son passage, les records de station et sa page ; le champ selon_meteo_france cite Météo-France mot pour mot (records mondiaux de Gamède) : à attribuer à Météo-France, jamais à rundata.re. Disponibles : Garance 2025, Belal 2024, Batsirai 2022, Gamède 2007, Dina 2002, Colina 1993, Firinga 1989, Clotilda 1987, Hyacinthe 1980. / A past cyclone: rain and gusts measured.
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, the description discloses off-season behavior ('Hors saison : le dit, avec le dernier système'), a hard scope boundary ('jamais une école en particulier'), and sourcing/attribution rules ('citer la prévision du CMRS telle quelle, jamais de trajectoire inventée ; renvoyer aux consignes de la préfecture'). These are genuine behavioral traits an agent needs and that no structured field carries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the opening clause, but the body is a dense run-on that packs parameters, alerts, school rules, sourcing policy and example queries into comma-chained fragments, plus a redundant trailing English one-liner. Every element is useful, but the packaging lacks structure and would be easier to scan if split.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-optional-parameter read tool with no output schema, the description covers the in-season case, the off-season fallback, the alert/school-implications dimension, the sourcing constraint, and the historical query case. An agent has enough to invoke correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in depth. The description only adds light framing ('distance et direction depuis La Réunion ou un lieu', and '(nom)' beside the Garance example), so the schema does the heavy lifting and baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource (active tropical systems around Réunion), the source chain (CMRS La Réunion advisories republished by GDACS), and enumerates the concrete payload (stage, mean wind, pressure, position, distance/direction, movement, official forecast, closest approach, prefecture alert levels). This is far more specific than the sibling weather tools and makes clear it is not prevision_meteo or vigilance_meteo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit trigger queries ('il y a un cyclone en ce moment ?', 'où est la tempête ?', 'école fermée demain avec le cyclone ?', 'combien de pluie pendant Garance ?') that map intent to this tool versus generic weather tools. It doesn't explicitly name which sibling to use instead for non-cyclone weather, so it stops short of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

defibrillateursDéfibrillateurs à La RéunionA
Read-onlyIdempotent
Inspect

Défibrillateurs (DAE) les plus proches d'un lieu de La Réunion (974), d'après la base nationale Géo'DAE : adresse, distance et temps à pied, emplacement exact, accessible à toute heure ou aux heures d'ouverture. Plus de 1 200 appareils dans les 24 communes. Pour : « où est le défibrillateur le plus proche de la plage de l'Hermitage ? », « défibrillateur à Cilaos ? ». Dire d'abord d'appeler le 15 ou le 112 et de commencer le massage cardiaque. / Nearest public defibrillators (AED) in Réunion Island.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the bar is met; the description goes further by naming the upstream dataset, disclosing that results carry distance, walking time, exact placement and hour-access vs 24h status. It also embeds a safety obligation (tell the user to call 15/112 and start chest compressions) that an agent could not infer from any structured field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Core identity, data source and example queries are front-loaded, which is right. It runs a little long — the bilingual restatement and the coverage statistic are slightly padded — but every element (examples, access-hours nuance, emergency instruction) carries information rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a single optional parameter, no output schema and annotations covering the safety profile, the description still fills the main gaps: where the data comes from, how many devices, what fields come back, and what the agent must tell the user in an emergency. Nothing needed to invoke or interpret the call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the 'lieu' schema description already enumerates communes, beaches, neighbourhoods, cirques, peaks and 'lat, lon' coordinates, plus the empty-input case. The prose restates the same concept at a higher level without adding syntax or normalization rules, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — the nearest AEDs (defibrillators) to a place in Réunion — plus the data source (Géo'DAE), the coverage (1 200+ devices across 24 communes) and the returned attributes. No sibling tool covers this domain, and the French/English pairing removes ambiguity for either language of query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Two concrete example phrasings (« défibrillateur le plus proche de la plage de l'Hermitage », « défibrillateur à Cilaos ») show the exact query shape the tool expects, and the schema's 'empty = whole island' note is echoed. There is no explicit when-not-to-use guidance, but no sibling could plausibly be confused with this one, so the gap is minor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

donner_avisDonner un avis à rundata.reAInspect

Transmet à rundata.re, qui tient ce serveur, un avis sur ses données : une donnée qui manque (« manque »), une valeur qui semble fausse ou périmée (« erreur »), une idée (« suggestion »), ou un remerciement (« bravo »). L'appeler sans attendre qu'on le demande quand un outil n'a pas trouvé ce que l'utilisateur cherchait, a renvoyé quelque chose de faux ou d'incomplet, ou quand l'utilisateur exprime un souhait ou une plainte sur ces données, ou dit après coup qu'une information de rundata.re était fausse : c'est ainsi que le service s'améliore. Écrire un message court et concret (quel outil, quel lieu, ce qui manquait). Ne mettre aucune donnée personnelle ; si le contenu touche la personne (son adresse, sa santé…), lui demander d'abord son accord. Les avis sont lus par une personne, sans réponse directe. / Send feedback to rundata.re: missing data, a wrong value, a suggestion or thanks. Use it when a tool lacked data or erred, or the user voiced a wish or complaint; no personal data.

NameRequiredDescriptionDefault
lieuNoLe lieu concerné (« Cilaos », « plage de l'Hermitage »). / The place concerned.
typeYes« manque » (donnée absente), « erreur » (valeur fausse ou périmée), « suggestion », « bravo ». / missing, wrong, suggestion, praise.
outilNoL'outil concerné (« meteo_actuelle », « transports »…). / The tool concerned.
messageYesL'avis, en quelques phrases (1000 caractères au plus), sans donnée personnelle. / The feedback, no personal data.
question_utilisateurNoLa question de l'utilisateur, reformulée sans rien de personnel. / The user's question, paraphrased, nothing personal.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false, idempotentHint=false, destructiveHint=false. The description adds what an agent actually needs: reviews are read by a human with no direct reply, a short concrete message is expected, no personal data may be included, and user consent must be obtained first when the content is personal. That is substantive context beyond the structured hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose comes first, then the trigger conditions, then content rules and privacy caveat — a logical front-loaded order. It is somewhat long because of the bilingual duplication, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write-style feedback tool with no output schema, the description covers purpose, triggers, message content, privacy constraints and what happens to the submission. An agent has everything needed to decide and to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the enum values are documented, so the baseline is 3; the description goes slightly further by prescribing message content ('quel outil, quel lieu, ce qui manquait'), which ties the 'outil', 'lieu' and 'message' fields together in practice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Transmet à rundata.re ... un avis sur ses données') and enumerates the four feedback categories with their meanings. None of the 28 sibling tools share this purpose — all others read municipal data, so the distinction is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit, self-triggering conditions: use it without being asked when another tool returned nothing, returned something wrong or incomplete, or when the user voices a wish or complaint. It also covers the follow-up case ('dit après coup qu'une information ... était fausse'), leaving no inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

electriciteÉlectricité à La Réunion en ce momentA
Read-onlyIdempotent
Inspect

Électricité à La Réunion (974) en direct, d'après EDF : production totale, part de chaque filière (solaire, bagasse et biomasse, hydraulique, éolien, charbon, diesel) et part renouvelable, mises à jour toutes les 5 min ; « météo de l'électricité » d'EDF pour les jours qui viennent (heures de pointe, réseau contraint, recharge conseillée d'un véhicule électrique). Pour : « d'où vient l'électricité ? », « quelle part de renouvelable ? », « quand recharger ma voiture électrique ? », « risque de délestage ? ». Coupures de courant (électricité, pas l'eau : coupures_eau) : les avis d'EDF que relaient les mairies dont le site ne l'interdit pas (Sainte-Marie), jours, heures et secteurs, avec le lien de l'avis ; ailleurs, l'outil le dit : aucun avis lu pour la commune, ou ses mentions légales en interdisent la reprise. Pour : « coupure de courant à Sainte-Marie ? », « coupure EDF prévue dans ma commune ? ». / Réunion Island electricity right now: production mix, renewable share, EDF's grid signal, and the power cuts some town halls relay.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds real behavioral context beyond them: 5-minute refresh cadence, EDF as source, and an important coverage caveat that power-cut notices are only relayed for municipalities whose legal notices permit republication (e.g. Sainte-Marie), otherwise it reports no notice or a legal restriction. It stops short of describing response shape or failure modes, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The topic is front-loaded and the two capabilities are separated by a slash, but the prose is long, quote-heavy and runs together production-mix and power-cut concerns in a single block. It reads as one sprawling sentence chain rather than crisply ordered sections, and splitting the two capabilities would improve scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing returns and does so (per-filière breakdown, renewable share, upcoming peak hours, constrained-grid status, charging advice), plus the coverage limitation for cut notices. Only the actual response structure/pagination remains unstated, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single `lieu` parameter is already documented in detail in the schema (commune, beach, cirque, summit, coordinates, empty = whole island). The description adds nothing beyond what the schema states, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The definition names a specific resource — Réunion Island electricity production mix, renewable share, EDF grid signal, and relayed power-cut notices — and explicitly disambiguates from the sibling coupures_eau ("coupures de courant (électricité, pas l'eau : coupures_eau)"). An agent can tell exactly what data comes back without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It spells out trigger questions verbatim for each capability ("d'où vient l'électricité ?", "quand recharger ma voiture électrique ?", "coupure EDF prévue dans ma commune ?") and names the alternative tool for the water case. Use conditions and the exclusion are both explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evenementsÉvénements à La Réunion : concerts, spectacles, fêtes, festivals, marchésA
Read-onlyIdempotent
Inspect

Événements à venir à La Réunion (974) : concerts, théâtre, danse, humour, cirque, soirées, fêtes, festivals, marchés, cinéma en plein air, animations municipales. D'après les programmes des salles (TÉAT Champ Fleuri et Plein Air, Cité des Arts et Palaxa, CDNOI, Kabardock, Le Séchoir, Léspas, Bisik, Théâtre Luc Donat), les agendas des mairies (Saint-Paul, Le Port, Les Trois-Bassins, Sainte-Marie, Salazie, Saint-Louis), de la CINOR et de l'office de tourisme du Nord (OpenAgenda), reunion.fr et les clubs sportifs (Sportsregions). Chaque événement : titre, date et heures (heure de La Réunion), salle, commune, genre, prix et lien de billetterie quand ils sont donnés, statut (ANNULÉ, REPORTÉ, complet), y compris quand c'est un média de l'île qui l'annonce avant l'organisateur (statut_d_apres). Pour : « que faire ce week-end à Saint-Paul ? », « concert ce soir ? », « spectacle à Saint-Denis samedi ? », « marché forain demain ? », « c'est quand la fête de l'ail ? ». / Upcoming events in Réunion Island (concerts, shows, theatre, festivals, markets) from venues, town halls, OpenAgenda and the tourist board.

NameRequiredDescriptionDefault
lieuNoUne commune ou un lieu (« Saint-Paul », « Saint-Gilles ») : les événements de sa commune. Vide = toute l'île. / A town or place; empty = whole island.
quoiNoLe genre (« concert », « spectacle », « théâtre », « danse », « humour », « soirée », « festival », « marché », « cinéma », « enfants », « sport », « exposition ») ou des mots du titre ou de la salle (« ail », « dragon boat », « Kabardock ») ; vide = tout. / Kind, or words of the title or venue; empty = all.
quandNo« aujourd_hui », « ce_soir », « demain », « ce_week_end », « cette_semaine », « a_venir » (30 jours), un jour (« samedi ») ou une date (« 2026-10-31 ») ; vide = les 14 jours qui viennent. / When; empty = next 14 days.
adherentNoL'utilisateur dit être adhérent ou membre d'un club : montrer aussi les séances réservées aux adhérents. / The user says they are a club member: also show members-only sessions.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds real value beyond that: data provenance (venues, mairies, CINOR, OpenAgenda, reunion.fr), timezone (heure de La Réunion), and status semantics (ANNULÉ, REPORTÉ, complet, plus statut_d_apres when a local media reports before the organizer). Pagination and result limits are not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and example queries are front-loaded, which is good, but the long enumerations of venues, town halls and partner organizations (Sportsregions, OpenAgenda, reunion.fr) consume substantial space for marginal selection value. The bilingual duplication (full French rendering plus an English restatement) adds length without new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly carries the burden by listing returned fields (titre, dates et heures, salle, commune, genre, prix, billetterie, statut). Defaults and the 30-day/'a_venir' semantics are also visible in the schema. Only ordering, result volume and pagination behavior remain unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description earns a step above it by mapping natural-language questions to parameter combinations (city + weekend → lieu + quand; genre or venue keyword → quoi), which conveys how the free-text filters are meant to be populated beyond the schema's own wording.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and scope: upcoming events in Réunion (974), enumerated by genre (concerts, théâtre, danse, festivals, marchés, cinéma en plein air). The example user questions ("concert ce soir ?", "marché forain demain ?", "c'est quand la fête de l'ail ?") make the intended job unmistakable and clearly separate it from weather, transport or news siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is spelled out through concrete query patterns that map directly onto the parameters (lieu + quand for "que faire ce week-end à Saint-Paul ?", quoi for "concert ce soir ?"). However, no sibling tool is named as an alternative or exclusion — an agent is not told when to prefer 'actualites' or 'calendrier' instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fiche_terrainCadastre, urbanisme, prix immobiliers et risques à une adresse de La RéunionA
Read-onlyIdempotent
Inspect

Ce que disent les registres officiels d'une adresse ou d'un lieu de La Réunion (974) : parcelle cadastrale (section, numéro, surface), zone du plan local d'urbanisme (U, AU, A, N : constructible ou non), altitude du sol, prix médians des maisons, appartements et terrains vendus autour depuis 5 ans (DVF), et risques : plan de prévention des risques (PPR inondation, mouvements de terrain, littoral) au point, arrêtés de catastrophe naturelle de la commune, glissements et éboulements recensés à moins de 500 m, sismicité, radon. Pour : « cette parcelle est constructible ? », « dans quelle zone du PLU est le 12 rue X à Saint-Paul ? », « prix au m² des maisons à l'Hermitage ? », « cette maison est en zone inondable ? », « quels risques à cette adresse ? ». / Cadastral parcel, zoning (PLU), altitude, median property prices and natural hazards (risk plans, disasters, landslides) at an address in Réunion Island.

NameRequiredDescriptionDefault
adresseYesAdresse (« 7 rue de la Buse, Saint-Paul »), lieu-dit (« Bois de Nèfles ») ou coordonnées « -21.0, 55.27 ». / Address, place or 'lat, lon'.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: a 5-year DVF lookback window, a 500 m radius for landslide/éboulement records, point-level altitude and PPR lookup, and the specific official registries consulted. It does not mention data freshness lag or response size, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening clause is well front-loaded with the resource, and the example questions are useful. But the middle is an undifferentiated run-on enumeration of nine data domains, and the entire content is then repeated in English, making it long for a one-parameter lookup tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must carry return-value semantics, and it does so thoroughly by naming every field family the agent will get back. Combined with the annotated safety profile, an agent has enough to call it correctly; only ambiguity about overlap with hazard-monitoring siblings remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'adresse' parameter already documents all three accepted forms (address, lieu-dit, 'lat, lon'). The description only adds French example strings that largely duplicate the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (official records for an address in Réunion) and enumerates the exact data domains returned: cadastral parcel, PLU zoning, altitude, DVF median prices, PPR hazards, disaster decrees, landslides within 500 m, seismicity, radon. No sibling tool covers cadastre/urbanisme/prix, so it is clearly distinguishable from the weather/risk-monitoring siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Pour : « cette parcelle est constructible ? »…' lines give concrete trigger questions that map directly to the tool, which is strong usage context. It stops short of explicit exclusions — an agent unsure whether hazard questions belong here or in volcan_seismes / crues_rivieres / vigilance_meteo gets no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

historique_meteoHistorique météo mesuré à La RéunionA
Read-onlyIdempotent
Inspect

Météo MESURÉE les jours passés à La Réunion (974), par les stations Météo-France, de leur première année (1900 pour les plus anciennes) jusqu'à hier : pluie, températures minimales et maximales, ensoleillement (heures de soleil, jours gris), rafales, jour par jour sur deux mois au plus, par mois ou par année au-delà, comparés à la normale 1991-2020 de la station, avec ses records (chaleur, froid, pluie en un jour, rafale). Sur 3 jours ou moins (7 avec detail « heure »), depuis 2000, aussi HEURE PAR HEURE, nuit dernière comprise : à quelle heure il a plu, quand le soleil s'est caché, rafale max et à quelle heure. Pour toute question sur le temps qu'il a fait : « il a beaucoup plu ce mois-ci à Saint-Benoît ? », « il fait gris tous les jours depuis deux semaines au Tampon ? », « quelle température hier à Cilaos ? », « il a fait combien le 24 octobre 2006 ? », « record de chaleur à Saint-Denis ? », « c'est normal ce temps pour octobre ? », « à quelle heure a-t-il plu hier à Cilaos ? », « rafale max cette nuit à Sainte-Marie ? », « le soleil s'est caché à quelle heure ? ». Pour maintenant, utiliser meteo_actuelle ; pour les jours à venir, prevision_meteo. / Past MEASURED weather in Réunion Island (Météo-France stations, daily, back to their first year, up to yesterday): rain, min/max temperature, sunshine, gusts, against the 1991-2020 normal and the station's records; hour by hour since 2000 for periods of a few days, last night included.

NameRequiredDescriptionDefault
auNoFin, même format. Pour « cette nuit » ou « ce matin », la date d'aujourd'hui. / End, same format; today's date for last night or this morning.
duNoDébut : « 2026-10-01 », « 01/10/2026 », « 2026-10 » (un mois), « 2006 » (une année). Seul, c'est ce jour, ce mois ou cette année. / Start date, month or year.
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.
joursNoLes N derniers jours jusqu'à hier (30 par défaut). / The last N days up to yesterday (default 30).
detailNo« heure » : heure par heure jusqu'à 7 jours (sinon automatique sur 3 jours ou moins) ; « jour » : sans le détail horaire. / 'heure' forces hourly detail up to 7 days; 'jour' leaves it out.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive behavior, but the description adds substantial context: data provenance, coverage back to 1900, the yesterday cutoff, granularity limits, and comparison with 1991-2020 normals and records. These are meaningful behavioral constraints beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core scope is front-loaded, but the description is long, repeats the full content in English after French, and includes many example questions. The examples help usage, but the bilingual duplication and density reduce conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and lists rain, min/max temperatures, sunshine, grey days, gusts, normals, records, and hourly events. It does not specify response format or structure, but it is otherwise complete enough to select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all five parameters. The description still adds useful cross-parameter semantics: daily detail is capped at about two months, month/year granularity applies beyond that, and hourly detail is limited to short recent periods or seven days with detail=heure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: past measured weather in Réunion from Météo-France stations, with named variables and temporal coverage. It also distinguishes the tool from meteo_actuelle and prevision_meteo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes current conditions to meteo_actuelle and future days to prevision_meteo, while listing many natural-language queries this tool answers. The when-to-use boundaries are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mareeMarée à La RéunionA
Read-onlyIdempotent
Inspect

Hauteur de la mer mesurée chaque minute par les marégraphes du SHOM au Port (Pointe des Galets) et à Sainte-Marie : niveau actuel, marée montante ou descendante, dernières pleine et basse mer observées ; puis les prochaines pleines et basses mers sur deux jours, CALCULÉES par rundata d'après les mesures (pas la prédiction officielle du SHOM), à environ 15 à 20 min et 5 cm près : le dire, avec la précision donnée, et au-delà de l'horizon renvoyer au SHOM. Les heures calculées ne valent que près des deux marégraphes, à 15 km au plus (Le Port, La Possession, Saint-Paul, Saint-Gilles-les-Bains, Saint-Denis, Sainte-Marie, Sainte-Suzanne). Plus loin, la marée arrive à une autre heure : l'outil donne alors la hauteur mesurée au marégraphe le plus proche, sans heures, et le lien vers les horaires officiels du SHOM. Pour : « la marée monte ? », « c'est quand la marée basse demain ? », « niveau de la mer au Port ? ». / Measured sea level and tide state at Réunion Island's two tide gauges, and the next tides computed from the measurements (not the SHOM's prediction). Computed times only within 15 km of a gauge; elsewhere, the gauge height and a link to the SHOM's official tide times.

NameRequiredDescriptionDefault
lieuNoUn lieu de la côte (« Le Port », « Saint-Gilles », « Sainte-Marie ») pour le marégraphe le plus proche. Vide = les deux. / A coastal place; empty = both gauges.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds substantial context beyond them: data source and cadence (SHOM gauges, one measurement per minute), computation provenance (rundata, not official prediction), accuracy bounds (~15-20 min and 5 cm), geographic validity radius, and degraded behavior beyond that radius. It even instructs the agent to disclose the precision caveat, which is exactly the behavioral disclosure a downstream agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information is front-loaded — data source first, computed-times caveat second, geographic limits third — and every clause carries operational meaning. It is nonetheless long and dense for a one-parameter tool, with some redundancy between the French and English halves and embedded response-writing instructions rather than pure tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the return-shape burden, and it does: current level, rising/falling state, last observed high/low, and next highs/lows over two days, or a reduced payload (nearest gauge height plus SHOM link) for distant places. Combined with the stated precision and coverage limits, nothing an agent needs to call or interpret this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter's own description already explains that 'lieu' selects the nearest gauge and that empty means both. The tool description adds meaning the schema does not: any coastal place is accepted, but places beyond 15 km yield only height data without computed times, which changes how an agent should interpret and phrase results for a given 'lieu'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: sea level measured each minute by SHOM gauges at Le Port and Sainte-Marie, current level, tide direction, last observed high/low, plus next highs/lows computed over two days. It goes further by distinguishing itself from the SHOM's official prediction ("CALCULÉES par rundata ... pas la prédiction officielle du SHOM"), which tells an agent exactly what class of data it is getting versus other tide sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete trigger phrases ("la marée monte ?", "c'est quand la marée basse demain ?", "niveau de la mer au Port ?") and explicit applicability conditions: computed times are valid only within ~15 km of a gauge, with the qualifying communes listed. It also states the alternative for distant locations — return the nearest gauge height without times plus a link to official SHOM times — so the agent knows both when to use it and what to do outside its validity envelope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

meteo_actuelleMétéo mesurée en ce moment à La RéunionA
Read-onlyIdempotent
Inspect

Météo MESURÉE maintenant à La Réunion (974) : température de l'air, pluie (6 dernières minutes et dernière heure), humidité, vent et rafales, pression, temps présent, à la station la plus représentative du lieu demandé, et la pluie vue par le radar de Météo-France au lieu même (utile là où il n'y a pas de pluviomètre : Mafate, cirques, Hauts). Avec un lieu, aussi la pluie des dernières heures au pluviomètre le plus proche (pluie_recente) : heure par heure sur 12 à 24 h, l'heure de la dernière pluie et le cumul depuis minuit, pour « il a plu quand à Saint-Joseph ? », « combien est-il tombé cette nuit ? ». Pour toute question sur le temps qu'il fait en ce moment : « quel temps fait-il à Saint-Denis ? », « il fait chaud à la plage de l'Hermitage ? », « il pleut à Cilaos ? », « y a-t-il du vent à Saint-Pierre ? », « il fait froid au Maïdo ? ». Renvoie des mesures datées avec la station, sa distance, son altitude, et un avertissement quand le lieu a un autre microclimat (altitude, versant au vent ou sous le vent). Pour plus tard (demain, ce soir, ce week-end), utiliser prevision_meteo. / Current MEASURED weather in Réunion Island (air temperature, rain, humidity, wind, pressure, present weather) at the most representative station for a place, and with a place the rain of the last 12 to 24 hours hour by hour, the time of the last rain and the total since midnight. Use for 'what is the weather like now in <place in Réunion>', 'when did it last rain'; for later today or the coming days, use prevision_meteo.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: results are dated measurements tagged with station, distance and altitude, plus a microclimate warning when the requested place differs in altitude or windward/leeward aspect, and a radar-rain fallback for places without a rain gauge (Mafate, cirques, Hauts).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The measured-variables list is front-loaded and every claim is relevant, but the same content is then restated wholesale in English, roughly doubling length with no new information, and the example-question chain is longer than needed. Effective but padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does it: it names the measured fields, the station metadata (distance, altitude), the rain history block, and the microclimate caveat. An agent can decide to call it and set expectations for the response without further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns more by explaining that supplying a lieu switches on the pluviometer mode (hourly rain over 12–24 h, time of last rain, total since midnight) whereas an empty value returns a whole-island sweep. That meaningfully extends the schema's one-line free-text definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (measured current weather) and enumerates the exact quantities returned: temperature, rain over the last 6 minutes and last hour, humidity, wind/gusts, pressure, present weather. It also names the sibling it is not (prevision_meteo for future weather), so an agent can separate it from prevision_meteo and historique_meteo without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete user-question triggers ('quel temps fait-il à Saint-Denis ?', 'il pleut à Cilaos ?', 'combien est-il tombé cette nuit ?') and an explicit exclusion with the alternative: for later today or the coming days, use prevision_meteo. The dual mode of the lieu parameter (with a place = add pluviometer data; empty = island tour) is also framed as usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prevision_meteoPrévision météo à La RéunionA
Read-onlyIdempotent
Inspect

PRÉVISION météo (modèle numérique, pas une mesure) pour un lieu de La Réunion (974), de ce soir à 7 jours : ciel, températures min et max ramenées à l'altitude du lieu, pluie, vent et rafales, par jour et par tranches de 3 h, indice UV du jour, et la confiance de chaque jour (forte, moyenne ou faible : accord des 51 scénarios de l'ensemble ECMWF, pas une probabilité). Pour toute question sur le temps à venir : « il va pleuvoir demain à Saint-Denis ? », « quel temps ce week-end à Cilaos ? », « il fera beau cet après-midi à l'Hermitage ? », « prévisions pour la Plaine des Cafres samedi ». Dans les Hauts (au-dessus de 800 m) : la mer de nuages du matin, de 6 h à 9 h et de 9 h à 12 h (bloc mer_de_nuages), pour « est-ce dégagé au Maïdo demain matin ? », « on sera au-dessus des nuages au Piton des Neiges ? ». Chaque réponse est étiquetée « prévision » avec ses limites (le modèle ne voit pas les microclimats de l'île) ; pour un cyclone, renvoie à la vigilance officielle de Météo-France. Pour le temps qu'il fait maintenant, utiliser meteo_actuelle. / Weather FORECAST (numerical model, not a measurement) for a place in Réunion Island, up to 7 days: 'will it rain tomorrow in Saint-Pierre?', 'weather this weekend in Cilaos?'. Always labelled as a forecast.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.
quandNoQuand, en texte libre : « aujourd'hui », « cet après-midi », « ce soir », « cette nuit », « demain », « demain matin », « après-demain », un jour (« samedi »), « ce week-end », « dans 3 jours ». Vide = prochaines 24 h et jours suivants. / When, free text (today, tonight, tomorrow, a weekday, weekend); empty = next 24 h and following days.

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/open-world, so the safety profile is covered. The description still adds real context beyond that: it is a model forecast not an observation, every answer is labelled as such with stated limitations (microclimates invisible), and the confidence field is ensemble agreement of 51 ECMWF scenarios rather than a probability. It does not describe latency or failure behavior when a place name is ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core statement (forecast, model, scope, contents) before examples and edge cases. It is long and the French/English duplication plus four quoted phrasing examples are somewhat redundant, but each block still carries decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-shape burden and does so: daily granularity, 3-hour slices, altitude-adjusted temperatures, UV, confidence levels and the conditional mer_de_nuages block. Caveats (label as forecast, cyclone handoff) close the remaining gaps for a read-only forecast tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description nevertheless adds meaning the schema does not: temperatures are re-scaled to the location's altitude, and in the Hauts above 800 m an extra 'mer_de_nuages' block with 6–9 h and 9–12 h windows is returned. That clarifies how 'lieu' changes the response shape, not just its syntax.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (weather forecast), its source (numerical model, not a measurement), its scope (a place in Réunion, tonight through 7 days) and its output content (sky, min/max temps adjusted to altitude, rain, wind/gusts, per day and 3-hour slices, UV, per-day confidence). It explicitly separates itself from meteo_actuelle for current conditions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete user-phrasing examples ('will it rain tomorrow in Saint-Denis?', 'this weekend in Cilaos?') that map directly onto the tool, plus a named alternative (meteo_actuelle) for present conditions and a routing rule (cyclone → Météo-France official vigilance). When-to-use and when-not-to-use are both explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qualite_airQualité de l'air à La RéunionA
Read-onlyIdempotent
Inspect

Qualité de l'air à La Réunion (974) par commune : indice ATMO du jour et du lendemain calculé par Atmo Réunion (1 bon à 6 extrêmement mauvais) et polluant en cause (particules, ozone, dioxyde d'azote, dioxyde de soufre). Pour : « l'air est pollué à Saint-Louis ? », « qualité de l'air aujourd'hui à Saint-Denis ? », « je peux faire du sport dehors ? ». Sans lieu : toute l'île. / Air quality index per commune in Réunion Island, today and tomorrow.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this as read-only, idempotent, open-world, and non-destructive. The description adds useful behavioral context beyond annotations: data source Atmo Réunion, 1–6 ATMO scale, today/tomorrow coverage, pollutants reported, and whole-island fallback when no place is supplied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core resource and scope, then examples, fallback behavior, and a short English summary. Despite covering several details, every element is useful and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with rich annotations and no output schema, the description is complete enough: it explains what is returned (ATMO index and pollutant), temporal coverage, geographic scope, scale, and default behavior when no location is given.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single lieu parameter is fully documented with free-text place types and coordinate format. The description only reinforces the empty-value behavior ('Sans lieu : toute l'île') and adds no meaningful parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and scope: ATMO air-quality index in Réunion by commune, for today and tomorrow, with the responsible pollutant. It is clearly distinguishable from siblings such as qualite_eau or meteo_actuelle because it names the air-quality domain, provider, scale, and temporal coverage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete usage examples, including pollution at a named commune and whether outdoor sport is advisable, and explains that an empty location means the whole island. It does not explicitly state when not to use it or name alternative sibling tools, so it falls short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qualite_eauQualité de l'eau à La Réunion : robinet et baignadeA
Read-onlyIdempotent
Inspect

Qualité de l'eau à La Réunion (974), d'après les analyses de l'ARS : eau du robinet réseau par réseau (dernière analyse, conformité, germes ou paramètres au-dessus des limites sur 6 mois) et eau de baignade des plages et bassins contrôlés (Hermitage, Boucan Canot, La Saline, Saint-Pierre, Étang-Salé, Grande Anse, bassin Bleu, bassin Dinan…), prélèvement par prélèvement. Pour : « l'eau du robinet est potable à Cilaos ? », « eau non conforme à Ravine des Cabris ? », « on peut se baigner à l'Hermitage ? », « l'eau du bassin Dinan est propre ? ». Avec la baignade, la règle requin de l'arrêté préfectoral (bande des 300 m) et les zones permises : ne jamais dire qu'un endroit est sans requin ou sans risque, ni qu'une zone est ouverte aujourd'hui, renvoyer au drapeau sur place. Les avis « ne pas boire » en cours sont dans coupures_eau. / Tap water and bathing water quality in Réunion Island (official sanitary control).

NameRequiredDescriptionDefault
eauNo« robinet » (eau potable) ou « baignade » ; vide = d'après la question et le lieu. / Tap or bathing water; empty = guessed.
lieuNoCommune, quartier, plage ou bassin (« Ravine des Cabris », « plage de l'Hermitage », « bassin Bleu »). / A town, district, beach or river pool.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/safe, and the description adds substantial operational context on top: data provenance (ARS), freshness semantics (dernière analyse, 6 months), per-sample granularity, and, critically, a safety rule that the agent must never assert a site is shark-free, risk-free, or open today and must defer to the on-site flag. It also flags where the 'do not drink' verdicts live (coupures_eau), which is exactly the kind of cross-tool caveat annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and scope, then triggers, then the safety caveat — a sound ordering with no filler argument. It is on the long side and the trailing English gloss plus repeat of the 'baignade' caveat add modest redundancy, but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still conveys what comes back (last analysis, compliance, germs/parameters over limits, sample by sample) and how results should be framed verbally, including the shark-zone disclaimer. Nothing an agent needs to call or narrate results is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real value for `lieu` by enumerating the accepted place space (Hermitage, Boucan Canot, La Saline, Saint-Pierre, Étang-Salé, Grande Anse, bassin Bleu, bassin Dinan), which goes beyond the schema's short examples. It confirms that `eau` may be left empty and inferred from the question and place.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific domain (drinking and bathing water quality in Réunion, from ARS analyses) with the exact granularity: per-network last analysis, compliance and 6-month exceedances, and bathing sites sample by sample. It also distinguishes itself from the sibling coupures_eau for active 'do not drink' notices, so an agent can route correctly without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Four concrete example questions ('l'eau du robinet est potable à Cilaos ?', 'on peut se baigner à l'Hermitage ?') make the intended trigger unmistakable, and the pointer to coupures_eau covers the main exclusion. However, it never explicitly states when *not* to use it for the neighbouring concerns (restrictions_eau, temperature_mer), so the alternative routing is only partially mapped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restrictions_eauSécheresse : restrictions d'eau à La RéunionA
Read-onlyIdempotent
Inspect

Restrictions d'eau en cas de sécheresse à La Réunion (974), d'après l'arrêté préfectoral en vigueur (VigiEau) : niveau par commune (vigilance, alerte, alerte renforcée, crise) pour l'eau du robinet, les rivières et sources, les nappes, et ce qui est interdit (arrosage, lavage de voiture, piscine…) pour un particulier, une entreprise, une collectivité ou une exploitation agricole. Pour : « restrictions d'eau à Saint-Joseph ? », « j'ai le droit d'arroser mon jardin au Port ? », « je peux remplir ma piscine ? ». Sans lieu : toute l'île. / Drought water-use restrictions in Réunion Island, per commune.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.
profilNoPour qui (« exploitation » = agriculteur) ; par défaut un particulier. / Who asks; default a private person.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds useful context (data comes from the current prefectoral decree via VigiEau, coverage spans tap water, rivers, springs and aquifers), but says nothing about update frequency or how stale the 'en vigueur' data can be.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the tool returns, then use cases, then the no-location default — the ordering is agent-friendly. The mirrored French/English sentence is slightly redundant but each clause still carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, two-optional-parameter tool with no output schema, the description conveys enough about the returned content (level categories, forbidden practices by profile) to call it correctly. Only the shape/format of the response is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are richly documented there, including free-text formats, coordinates and enum meaning, so the schema does the heavy lifting. The description restates the profile list and the per-commune granularity but adds no format or edge-case detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete resource (drought water-use restriction levels per commune), the authoritative source (arrêté préfectoral en vigueur / VigiEau), and exactly what it returns (level per commune, per water source type, and prohibited uses per profile). This clearly separates it from siblings like coupures_eau (outages), qualite_eau (quality) and vigilance_meteo (weather alerts) without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives three realistic user-question phrasings that select this tool and states the default behavior when no location is supplied ('Sans lieu : toute l'île'). It does not, however, name an alternative tool or an explicit exclusion case, which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resume_du_jourRésumé du jour pour une commune de La RéunionA
Read-onlyIdempotent
Inspect

Tout ce qui compte aujourd'hui dans une commune de La Réunion (974), en un appel : météo MESURÉE maintenant et PRÉVISION du jour, vigilance de sa zone, mer, qualité de l'air, électricité, routes et blocages signalés par les médias, actualités de la commune, coupures d'eau, événements du jour, jour férié ou vacances, soleil, mairie ouverte ou non, marché du jour, bennes des déchèteries (Ouest), prix maximum des carburants du mois, où trouver la pharmacie de garde (3237.fr). Un lieu (plage, quartier, sommet) est rapporté à sa commune. Ce qui manque est listé dans non_inclus avec l'outil à appeler. Pour : « quoi de neuf à Saint-Paul aujourd'hui ? », « ma journée au Tampon ». / Today in one Réunion Island commune: weather, warnings, sea, air, power, roads, news, water cuts, events, market, waste centres, fuel prices, duty pharmacy.

NameRequiredDescriptionDefault
lieuYesCommune ou lieu de La Réunion (« Saint-Paul », « Boucan Canot », « Cilaos »), rapporté à sa commune. / Commune or place in Réunion.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered; the description adds real context beyond that: weather is 'MESURÉE' versus forecast, a place is normalized to its commune, and gaps are surfaced in a non_inclus field with the suggested tool. It also discloses a genuine coverage limitation — waste centres only in the Ouest — which is exactly the kind of caveat an agent cannot infer from structured data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening clause is well front-loaded and the enumeration does double duty as a coverage contract, but the list is extremely long and the entire content is duplicated in French and English, roughly doubling length without adding information. A trimmed version with the same coverage claim would serve an agent better.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-source aggregator with no output schema, the description tells the agent what domains come back, how a place is resolved, and how missing data is reported via non_inclus. That is enough to call it correctly and interpret the response; only the response shape of each section remains unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter already documents that a commune or place ('Saint-Paul', 'Boucan Canot', 'Cilaos') is resolved to its commune. The description repeats that normalization rule and adds plage/quartier/sommet as accepted place types, but contributes little beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource (aggregate everything that matters today for a Réunion commune in a single call) and then enumerates the domains covered: weather, vigilance, sea, air, power, roads, news, water cuts, events, market, waste centres, fuel prices, duty pharmacy. This clearly sets it apart from the single-domain siblings (meteo_actuelle, qualite_air, transports, etc.) without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger phrasings (« quoi de neuf à Saint-Paul aujourd'hui ? », « ma journée au Tampon ») and a routing hint that anything not covered appears in non_inclus together with the tool to call instead. It stops short of naming which sibling to prefer for a single-domain question or of saying 'call this first, then drill down', so the alternative-selection rule stays implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentiers_randonneeRandonnée à La Réunion : sentiers ouverts ou fermés, traces GPS (GPX), distance et déniveléA
Read-onlyIdempotent
Inspect

Sentiers de randonnée et routes forestières de La Réunion (974) ouverts ou fermés, d'après la carte de l'ONF tenue à jour avec les arrêtés préfectoraux : cause de la fermeture (éboulement, sentier dégradé, travaux, coulée), date de réouverture prévue. Par nom de sentier, autour d'un lieu (Maïdo, Piton des Neiges, Bélouve, Roche Plate…), dans un cirque (Mafate, Cilaos, Salazie) ou une commune ; sans lieu, tous les sentiers fermés de l'île. Chaque sentier et chaque randonnée a sa trace GPS (lien GPX), sa longueur et son dénivelé (altitudes de l'IGN) ; les itinéraires complets d'OpenStreetMap (GR R1, R2, R3, Piton des Neiges, Roche Écrite, Dolomieu…) sont donnés avec l'état des sentiers de l'ONF qu'ils empruntent. Un sentier fermé est interdit, même avec la trace ; « hors gestion ONF » n'est pas dit ouvert ; donner le lien trace_gpx. Pour : « sentiers fermés à Mafate ? », « le sentier de la Roche Pendue est ouvert ? », « on peut randonner à Bélouve ? », « la trace GPS du Piton des Neiges ? », « dénivelé du GR R2 ? », « une rando de 10 km à Cilaos ? » (longueur_min_km, longueur_max_km, denivele_max_m filtrent les itinéraires et sentiers proposés). Dès qu'un sentier de l'ONF d'un itinéraire est fermé, la réponse porte un champ avertissement, à donner en premier. / Hiking in Réunion Island: open and closed trails (ONF), GPX traces, distance and elevation gain, hikes by length; closure warnings.

NameRequiredDescriptionDefault
lieuNoUn sentier ou une randonnée (« sentier de la Roche Pendue », « Piton des Neiges », « GR R2 »), un lieu (« Maïdo »), un cirque (« Mafate ») ou une commune ; vide = toute l'île. / A trail or hike, place, cirque or town; empty = whole island.
denivele_max_mNoDénivelé positif maximal en m (« sans trop de dénivelé » : 400). / Maximum elevation gain, m.
longueur_max_kmNoLongueur maximale en km (« une rando de 10 km » : 12 ; « une petite balade » : 5). / Maximum length, km.
longueur_min_kmNoLongueur minimale en km d'une randonnée proposée (« une rando de 10 km » : 8). / Minimum length, km.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, so the bar is met; the description goes further with domain rules an agent must not get wrong: a closed trail is forbidden even with a GPX trace, "hors gestion ONF" does not mean open, and a closure on any ONF segment of a route forces an avertissement field that must be surfaced first.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the resource and status semantics, then examples, then filtering, then the warning rule — a sensible order with little pure filler. It is a dense run-on paragraph, and the bilingual summary tail partly repeats the French opening, costing a point on structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description covers the key returned elements (trace_gpx link, length, IGN elevations, avertissement field) and the ONF-vs-OSM data distinction. It stops short of describing result shape or how multiple itineraries vs. single trails are returned, which keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema descriptions already carry the example mappings ("une rando de 10 km" → 8/12 km, "sans trop de dénivelé" → 400 m). The description restates the length/elevation filters and the lieu semantics but adds no format or precedence rules beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (Réunion hiking trails / forest roads from the ONF map) with concrete attributes: open/closed status, closure cause, expected reopening date, GPX trace, length and elevation gain. It is unmistakably distinct from every sibling (weather, tides, volcano, water restrictions) without needing the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit query phrasings it answers ("sentiers fermés à Mafate ?", "le sentier de la Roche Pendue est ouvert ?", "dénivelé du GR R2 ?") plus the empty-lieu default (all closed trails island-wide) and how the length/elevation params filter results. It even routes the agent on how to present the result (avertissement first).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sites_sans_reponseSites publics de La Réunion sans réponseA
Read-onlyIdempotent
Inspect

Sites publics de La Réunion (974) qui ne répondent pas en ce moment, revérifiés chaque jour : pour chacun, depuis quand, le dernier constat en mots simples (erreur du serveur, page de maintenance, pas de réponse dans le délai…) et ce qui manque donc sur rundata.re (avis de coupure d'eau, bulletins du volcan, houle…). Un site qui répond de nouveau sort de la liste. Ne dit jamais pourquoi un site se tait. Pour : « le site de l'OVPF marche ? », « pourquoi pas de bulletin du volcan ? », « le site de Sudéau ne répond plus ? ». / Réunion Island public websites currently not responding, rechecked daily: since when, the last error, and what is missing on rundata.re as a result.

NameRequiredDescriptionDefault
quoiNoUn site, une commune ou un thème : « volcan », « eau », « Saint-Joseph ». Vide = toute la liste. / A site, a commune or a theme; empty = the whole list.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, open-world, non-destructive behavior. The description adds useful dynamics beyond that: daily rechecking, entries disappear when the site responds again, and it explicitly never explains why a site is down. That is meaningful operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then adds examples and behavioral notes. It is somewhat long and bilingual, but the English translation is useful and no sentence is clearly wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and only one optional parameter, the description is complete enough: it explains what each entry contains (since when, last error, missing rundata.re content) and how list membership changes. It also warns that the tool does not explain root causes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the single optional “quoi” parameter is already well documented as a site, commune, or theme filter. The description provides example query terms but does not add syntax or filtering semantics beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise resource and scope: Réunion Island public websites that are currently not responding, with daily rechecks. It is clearly distinguishable from siblings like actualites, coupures_eau, or volcan_seismes because it reports site availability failures and the resulting missing rundata.re content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete example queries (“le site de l'OVPF marche ?”, “pourquoi pas de bulletin du volcan ?”, “le site de Sudéau ne répond plus ?”) that implicitly tell the agent when to use it. It does not explicitly name alternative sibling tools or state when not to use it, but the usage context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sources_donneesSources des donnéesA
Read-onlyIdempotent
Inspect

Sources de données utilisées par ce serveur (organisme, licence, attribution à citer), ce qui est couvert ou pas encore, la liste à jour de tous les outils et les dernières nouveautés. À appeler avant de conclure qu'un outil ou une donnée n'existe pas. / Data sources, licences and coverage; the up-to-date list of tools and the latest changes.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description usefully signals that its content is time-sensitive ('liste à jour', 'dernières nouveautés'), implying the answer changes between calls. It does not describe the response shape (e.g. whether sources and tool list are separate sections), which matters since there is no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The French text leads with the substance (sources, licences, coverage) and places the call-to-action late but clearly. The English sentence is a compressed paraphrase rather than a full duplicate, which is reasonable for a bilingual server. Nothing reads as padding, though the bilingual split costs some tightness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters, no output schema, and annotations covering the safety profile, the description carries the remaining burden of telling the agent what it will learn. It covers sources, licences, attribution, coverage gaps, tool inventory and changelog. A hint about the response's structure would close the last gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing to disambiguate and no risk of misuse. Baseline 4 applies; the description correctly implies a parameterless, always-available call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (data sources, licences, attribution) and enumerates the extra payloads it returns: coverage status, a live tool inventory, and recent changes. It is unmistakably a metadata/discovery tool, distinct from every weather-and-place sibling in the list, though bundling four content types makes the core purpose slightly diffuse.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete precondition: call this before concluding that a tool or dataset does not exist. That is an actionable trigger tied to a real agent failure mode. It does not name alternative tools, but no sibling overlaps with this function, so the gap is small.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sportSport à La Réunion : matchs, résultats, annulations, Grand RaidA
Read-onlyIdempotent
Inspect

Sport à La Réunion (974) : matchs à venir et derniers résultats officiels des championnats régionaux de handball (D1) et de volley (R1 et R2, hommes et femmes, toutes les poules), avec les clubs en toutes lettres (VBSP = Volley-Ball de Saint-Pierre) et la commune où l'on joue, les matchs annulés ou reportés (avis de la Ligue de volley, actualité locale), classements, régates de voile, compétitions de golf, rallyes et sport automobile (calendrier de la Ligue), Grand Raid (courses, partants, abandons, podiums), les programmes sportifs publiés par les communes (le lien du document de la mairie, sans son contenu), les événements publiés par les clubs sur Sportsregions (tir à l'arc, triathlon, golf, badminton…, avec le club qui organise ; les séances réservées aux adhérents seulement si l'utilisateur dit en être), et l'actualité sportive de Réunion La 1ère (titres et liens, dont le football et le basket). Pour : « match de volley dimanche dans le sud ? », « match de hand ce week-end à Saint-Pierre ? », « le TGV joue quand ? », « foot ou basket ce week-end ? », « tournoi de badminton ce week-end ? », « résultats du volley à Saint-Leu ? », « classement du handball ? », « prochaine régate ? », « prochain rallye ? », « qui a gagné le Grand Raid ? ». / Sport in Réunion Island: fixtures, results, cancellations, standings, Grand Raid.

NameRequiredDescriptionDefault
lieuNoUne commune (« Saint-Paul »), une partie de l'île (« le sud », « l'ouest », « le nord », « l'est ») ou un club (« VBSP », « Tampon Gecko Volley ») : ce qui s'y joue et ses clubs à l'extérieur. Vide = toute l'île. / A town, part of the island or club; empty = whole island.
quandNo« aujourd_hui », « demain », « samedi » ou « dimanche » (le prochain), « ce_week_end », « a_venir » (14 jours) ou « resultats » ; vide = les deux. / Today, tomorrow, next Saturday or Sunday, this weekend, upcoming or results; empty = both.
sportNoLe sport ; vide = tous. « football » et « basket » renvoient l'actualité seulement (pas de résultats officiels lus). / The sport; empty = all.
adherentNoL'utilisateur dit être adhérent ou membre d'un club : montrer aussi les séances réservées aux adhérents. / The user says they are a club member: also show members-only sessions.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive and open-world behavior, and the description adds real operational context on top: municipal sports programs return only the mairie document link without its contents, club-published sessions are shown only when the user declares membership, and football/basket yield news headlines and links rather than parsed results. These caveats materially affect how an agent should interpret and relay the output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core scope, caveats and examples are all crammed into one enormous sentence followed by a query list and a single English line. Everything is roughly relevant, but there is no chunking or front-loading beyond the opening 'Sport à La Réunion (974)', so an agent must parse a dense wall of text to find the routing rules.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a broad multi-source aggregator with four optional parameters and no output schema, the description does the heavy lifting: it names every source domain and states what each contributes (links vs. parsed results vs. headlines). It does not describe result ordering, volume or pagination, which is a minor residual gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already explains `lieu`, `quand`, `sport` and `adherent` in detail; baseline would be 3. The description adds marginal semantic value by expanding club acronyms (VBSP = Volley-Ball de Saint-Pierre) and, importantly, by clarifying that the `sport` value for football/basket changes the nature of the returned data — a nuance the enum alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates exactly what the tool covers: regional handball (D1) and volley (R1/R2) fixtures and results, cancellations, standings, sailing regattas, golf, rallying, Grand Raid, municipal programs and club events. That is enough for an agent to tell this apart from generic news or event tools by subject matter. It stops short of a crisp verb+resource statement and never contrasts itself with the overlapping `evenements` or `actualites` siblings, which keeps it at 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

A long list of representative queries (« match de volley dimanche dans le sud ? », « foot ou basket ce week-end ? », « qui a gagné le Grand Raid ? ») shows the agent precisely which phrasings map here. It also notes that football and basket route to news only rather than official results. What is missing is any explicit exclusion or named alternative (e.g. use `evenements` for non-sport events), so 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

temperature_merTempérature de la mer et houle à La RéunionA
Read-onlyIdempotent
Inspect

La mer à La Réunion (974), près d'une plage ou d'un lieu côtier. Température de l'eau MESURÉE (satellite) : « la mer est à combien à Saint-Leu ? », « l'eau est bonne à Boucan ? » ; houle et vagues PRÉVUES (modèle, 4 jours) : « la houle à Saint-Leu ? », « ça surfe à Saint-Pierre demain ? », « la mer est grosse à Saint-Gilles ? ». La mesure (avec sa date et sa distance) et la prévision des vagues (hauteur, période, direction) sont dans deux blocs séparés. / Sea in Réunion Island: measured water temperature, and forecast waves (height, period, direction), kept apart.

NameRequiredDescriptionDefault
lieuNoLieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint=false), so the description's added value is the data provenance and shape: satellite-measured values with date and distance, model forecasts with height/period/direction, returned in two separate blocks. That output structure is useful context with no output schema present. It doesn't mention coverage limits or how stale measurements can be.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core resource and the measured-vs-forecast distinction, and each clause contributes either trigger phrasing or output structure. The wholesale French/English duplication inflates length, though it may be justified for this French-language service.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-optional-parameter read tool with no output schema, the description supplies the essential missing pieces: what each of the two result blocks contains and the 4-day forecast horizon. Remaining gaps (measurement staleness, unit of temperature) are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the lieu parameter is documented in detail (commune, beach, quarter, cirque, summit, lat/lon, empty = whole island). The description only restates 'près d'une plage ou d'un lieu côtier' and adds no syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names two distinct resources with specific verbs: measured sea temperature (satellite) and forecast waves (model, 4 days), and gives concrete example phrasings. It separates 'measured' from 'forecast' clearly, which is genuinely differentiating, but it never names the close siblings (maree, prevision_meteo, meteo_actuelle) an agent might confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Example user utterances (« la mer est à combien à Saint-Leu ? », « ça surfe à Saint-Pierre demain ? ») make the intended trigger conditions clear, including the 4-day forecast horizon. There are no explicit exclusions or named alternatives for adjacent tools, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

velos_libre_serviceVélos en libre-service à La RéunionA
Read-onlyIdempotent
Inspect

Vélos à assistance électrique en libre-service Altervélo (Saint-Pierre, Saint-Louis, L'Étang-Salé), en direct : pour chaque station, le nombre de vélos à prendre et de places libres pour en rendre un, et les stations les plus proches d'un lieu. Pour : « il reste des vélos à la station IUT ? », « où prendre un vélo près du front de mer de Saint-Pierre ? », « je peux rendre mon vélo au pôle d'échanges de Saint-Louis ? ». / Live bike-share availability (Altervélo e-bikes, south of Réunion Island): bikes and free docks per station.

NameRequiredDescriptionDefault
lieuNoNom d'une station (« IUT », « Front de mer »), un lieu ou une commune (« Saint-Pierre », « plage de l'Étang-Salé »). Vide = tout le réseau. / Station, place or town; empty = whole network.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, and open-world behavior. The description adds meaningful context beyond that: the data is 'en direct' (live), covers a specific network in the south of Réunion, and reports bikes-to-take and free-dock counts per station.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The scope and live-data nature are front-loaded, and the bilingual format is appropriate for a Réunion-focused tool. The three example questions add useful clarity but make the description slightly longer than strictly necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-optional-parameter tool with no output schema, the description covers what is needed: live availability, per-station bikes/free-dock data, nearest-station lookup, and geographic coverage. Annotations handle the safety profile, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single 'lieu' parameter is already fully documented in the schema (station, place, town, empty = whole network). The description reinforces this with example place names, but adds no new syntax or behavioral detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact resource (Altervélo e-bike share), the geographic scope (Saint-Pierre, Saint-Louis, L'Étang-Salé), and the specific data returned (bikes to take and free docks per station). No sibling tool covers live bike-share availability, and an agent can immediately tell this apart from broader tools like transports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Three concrete example questions make clear when the tool is appropriate: checking bikes at a station, finding nearby bikes, and confirming return-dock availability. It does not name an alternative tool or explicitly exclude overlapping use, but no close sibling exists, so the contextual guidance is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

volcan_seismesPiton de la Fournaise et séismes à La RéunionA
Read-onlyIdempotent
Inspect

État du volcan du Piton de la Fournaise et séismes à La Réunion (974) : éruption en cours ou non, niveau du dispositif ORSEC (vigilance, alerte 1, alerte 2…), date de la dernière éruption, accès à l'Enclos Fouqué, dernières publications de l'Observatoire volcanologique (OVPF-IPGP) et séismes localisés par l'OVPF ces 30 derniers jours, sous le volcan (aussi par jour) et ailleurs sur l'île. Pour : « le volcan est en éruption ? », « on peut monter au volcan ? », « l'Enclos est ouvert ? », « il y a eu un séisme ? », « le Piton de la Fournaise se réveille ? ». / Piton de la Fournaise volcano status (eruption, alert level, access) and recent earthquakes in Réunion Island.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile needs no restating. The description adds real value by disclosing the data source (OVPF-IPGP) and the 30-day temporal window for seismicity, but says nothing about update cadence or return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The key capabilities are front-loaded in a single dense sentence, followed by example questions that aid matching. The bilingual duplication (full French listing plus English summary) adds length, but for a no-param tool with no output schema the enumeration is largely earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the full burden of telling the agent what comes back, and it does so exhaustively: eruption state, alert level, last eruption date, access status, OVPF publications, and earthquakes both under the volcano and island-wide with a per-day breakdown. Nothing essential is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description appropriately spends its words on output content instead of inventing parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource domain (Piton de la Fournaise eruption status, ORSEC alert level, Enclos Fouqué access, OVPF publications, and last 30 days of earthquakes) with concrete sub-fields. This clearly separates it from weather, cyclone, and vigilance siblings, which cover different hazards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It enumerates realistic triggering queries in quotes ('le volcan est en éruption ?', 'on peut monter au volcan ?', 'il y a eu un séisme ?'), giving an agent practical routing signals. It does not name exclusions or explicitly point at alternative siblings (e.g. vigilance_meteo) for non-volcanic hazards, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.190.11
    • Changedactualites1 field changed
      • changedInput schema / properties / sujet / description
        Previous value: -"« mobilisation » (manifestations, blocages, barrages), « route », « meteo », « volcan », « eau », « securite », « sante », « politique », « culture », « sport », ou des mots du titre ; vide = tout. / Subject or words; empty = all."New value: +"« mobilisation » (manifestations, blocages, barrages), « route », « meteo », « volcan », « eau », « securite », « sante », « politique », « culture », « sport », ou des mots du titre ; vide = tout. / Subject or words; empty = all."
    • Changedannuaire_services_publics1 field changed
      • changedInput schema / properties / quoi / description
        Previous value: -"Le service cherché, en quelques mots : « mairie », « CAF », « préfecture », « impôts », « France Travail », « tribunal »…, ou « carburant » pour les prix du mois, « pharmacie », « urgences ». / The office sought, or 'carburant', 'pharmacie', 'urgences'."New value: +"Le service cherché, en quelques mots : « mairie », « CAF », « préfecture », « impôts », « France Travail », « tribunal »…, ou « carburant » pour les prix du mois, « pharmacie », « urgences », « enfants » pour les lieux où aller avec eux. / The office sought, or 'carburant', 'pharmacie', 'urgences', 'enfants'."
    • Changedcyclones1 field changed
      • changedInput schema / properties / nom / description
        Previous value: -"Un cyclone passé (« Garance », « Dina 2002 ») : la pluie et les rafales mesurées station par station pendant son passage, les records de station et sa page ; le champ selon_meteo_france cite Météo-France mot pour mot (records mondiaux de Gamède) : à attribuer à Météo-France, jamais à rundata.re. Disponibles : Garance 2025, Belal 2024, Batsirai 2022, Gamède 2007, Dina 2002, Colina 1993, Firinga 1989, Clotilda 1987, Hyacinthe 1980. / A past cyclone: rain and gusts measured."New value: +"Un cyclone passé (« Garance », « Dina 2002 ») : la pluie et les rafales mesurées station par station pendant son passage, les records de station et sa page ; le champ selon_meteo_france cite Météo-France mot pour mot (records mondiaux de Gamède) : à attribuer à Météo-France, jamais à rundata.re. Disponibles : Garance 2025, Belal 2024, Batsirai 2022, Gamède 2007, Dina 2002, Colina 1993, Firinga 1989, Clotilda 1987, Hyacinthe 1980. / A past cyclone: rain and gusts measured."
    • Changedevenements3 fields changed
      • addedInput schema / properties / adherent
        Added value: +{
        +  "description": "L'utilisateur dit être adhérent ou membre d'un club : montrer aussi les séances réservées aux adhérents. / The user says they are a club member: also show members-only sessions.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / quand / description
        Previous value: -"« aujourd_hui », « ce_soir », « demain », « ce_week_end », « cette_semaine », « a_venir » (30 jours), un jour (« samedi ») ou une date (« 2026-10-31 ») ; vide = les 14 jours qui viennent. / When; empty = next 14 days."New value: +"« aujourd_hui », « ce_soir », « demain », « ce_week_end », « cette_semaine », « a_venir » (30 jours), un jour (« samedi ») ou une date (« 2026-10-31 ») ; vide = les 14 jours qui viennent. / When; empty = next 14 days."
      • changedInput schema / properties / quoi / description
        Previous value: -"Le genre (« concert », « spectacle », « théâtre », « danse », « humour », « soirée », « festival », « marché », « cinéma », « enfants », « sport », « exposition ») ou des mots du titre ou de la salle (« ail », « dragon boat », « Kabardock ») ; vide = tout. / Kind, or words of the title or venue; empty = all."New value: +"Le genre (« concert », « spectacle », « théâtre », « danse », « humour », « soirée », « festival », « marché », « cinéma », « enfants », « sport », « exposition ») ou des mots du titre ou de la salle (« ail », « dragon boat », « Kabardock ») ; vide = tout. / Kind, or words of the title or venue; empty = all."
    • Changedhistorique_meteo1 field changed
      • changedInput schema / properties / detail / description
        Previous value: -"« heure » : heure par heure jusqu'à 7 jours (sinon automatique sur 3 jours ou moins) ; « jour » : sans le détail horaire. / 'heure' forces hourly detail up to 7 days; 'jour' leaves it out."New value: +"« heure » : heure par heure jusqu'à 7 jours (sinon automatique sur 3 jours ou moins) ; « jour » : sans le détail horaire. / 'heure' forces hourly detail up to 7 days; 'jour' leaves it out."
    • Changedqualite_eau1 field changed
      • changedInput schema / properties / eau / description
        Previous value: -"« robinet » (eau potable) ou « baignade » ; vide = d'après la question et le lieu. / Tap or bathing water; empty = guessed."New value: +"« robinet » (eau potable) ou « baignade » ; vide = d'après la question et le lieu. / Tap or bathing water; empty = guessed."
    • Changedrestrictions_eau1 field changed
      • changedInput schema / properties / profil / description
        Previous value: -"Pour qui (« exploitation » = agriculteur) ; par défaut un particulier. / Who asks; default a private person."New value: +"Pour qui (« exploitation » = agriculteur) ; par défaut un particulier. / Who asks; default a private person."
    • Changedsentiers_randonnee2 fields changed
      • changedInput schema / properties / lieu / description
        Previous value: -"Un sentier ou une randonnée (« sentier de la Roche Pendue », « Piton des Neiges », « GR R2 »), un lieu (« Maïdo »), un cirque (« Mafate ») ou une commune ; vide = toute l'île. / A trail or hike, place, cirque or town; empty = whole island."New value: +"Un sentier ou une randonnée (« sentier de la Roche Pendue », « Piton des Neiges », « GR R2 »), un lieu (« Maïdo »), un cirque (« Mafate ») ou une commune ; vide = toute l'île. / A trail or hike, place, cirque or town; empty = whole island."
      • changedInput schema / properties / longueur_max_km / description
        Previous value: -"Longueur maximale en km (« une rando de 10 km » : 12 ; « une petite balade » : 5). / Maximum length, km."New value: +"Longueur maximale en km (« une rando de 10 km » : 12 ; « une petite balade » : 5). / Maximum length, km."
    • Addedsites_sans_reponse
    • Changedsport3 fields changed
      • addedInput schema / properties / adherent
        Added value: +{
        +  "description": "L'utilisateur dit être adhérent ou membre d'un club : montrer aussi les séances réservées aux adhérents. / The user says they are a club member: also show members-only sessions.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / quand / description
        Previous value: -"« aujourd_hui », « demain », « samedi » ou « dimanche » (le prochain), « ce_week_end », « a_venir » (14 jours) ou « resultats » ; vide = les deux. / Today, tomorrow, next Saturday or Sunday, this weekend, upcoming or results; empty = both."New value: +"« aujourd_hui », « demain », « samedi » ou « dimanche » (le prochain), « ce_week_end », « a_venir » (14 jours) ou « resultats » ; vide = les deux. / Today, tomorrow, next Saturday or Sunday, this weekend, upcoming or results; empty = both."
      • changedInput schema / properties / sport / description
        Previous value: -"Le sport ; vide = tous. « football » et « basket » renvoient l'actualité seulement (pas de résultats officiels lus). / The sport; empty = all."New value: +"Le sport ; vide = tous. « football » et « basket » renvoient l'actualité seulement (pas de résultats officiels lus). / The sport; empty = all."
  2. 1 tool updatev0.140.0
    • Changedcyclones1 field changed
      • changedInput schema / properties / nom / description
        Previous value: -"Un cyclone passé (« Garance », « Dina 2002 ») : la pluie et les rafales mesurées station par station pendant son passage, les records de station et sa page. Disponibles : Garance 2025, Belal 2024, Batsirai 2022, Dina 2002, Firinga 1989, Hyacinthe 1980. / A past cyclone: rain and gusts measured."New value: +"Un cyclone passé (« Garance », « Dina 2002 ») : la pluie et les rafales mesurées station par station pendant son passage, les records de station et sa page ; le champ selon_meteo_france cite Météo-France mot pour mot (records mondiaux de Gamède) : à attribuer à Météo-France, jamais à rundata.re. Disponibles : Garance 2025, Belal 2024, Batsirai 2022, Gamède 2007, Dina 2002, Colina 1993, Firinga 1989, Clotilda 1987, Hyacinthe 1980. / A past cyclone: rain and gusts measured."
  3. 18 tool updatesv0.128.0
    • Addedactualites
    • Changedannuaire_services_publics1 field changed
      • changedInput schema / properties / quoi / description
        Previous value: -"Le service cherché, en quelques mots : « mairie », « CAF », « préfecture », « impôts », « France Travail », « tribunal »… / The office sought."New value: +"Le service cherché, en quelques mots : « mairie », « CAF », « préfecture », « impôts », « France Travail », « tribunal »…, ou « carburant » pour les prix du mois, « pharmacie », « urgences ». / The office sought, or 'carburant', 'pharmacie', 'urgences'."
    • Addedbornes_recharge
    • Addedcoupures_eau
    • Addedcrues_rivieres
    • Addedcyclones
    • Addeddefibrillateurs
    • Addeddonner_avis
    • Changedelectricite1 field changed
      • addedInput schema / properties / lieu
        Added value: +{
        +  "description": "Lieu à La Réunion, en texte libre : commune (« Saint-Paul »), plage (« plage de l'Hermitage », « Boucan Canot »), quartier, cirque (« Cilaos », « Mafate »), sommet (« Maïdo », « volcan »), ou coordonnées « -21.05, 55.22 ». Vide = tour de l'île. / Place in Réunion, free text or 'lat, lon'; empty = whole island.",
        +  "type": "string"
        +}
    • Addedevenements
    • Addedhistorique_meteo
    • Addedmaree
    • Addedqualite_eau
    • Addedrestrictions_eau
    • Addedresume_du_jour
    • Addedsentiers_randonnee
    • Addedsport
    • Addedvelos_libre_service
  4. 10 tool updatesv0.1.0
    • First observedannuaire_services_publics
    • First observedcalendrier
    • First observedelectricite
    • First observedfiche_terrain
    • First observedmeteo_actuelle
    • First observedprevision_meteo
    • First observedqualite_air
    • First observedsources_donnees
    • First observedtemperature_mer
    • First observedvolcan_seismes

TDQS

A4/5.0

Scored across 27 tools

Disambiguation4/5

The high-risk lookalikes are explicitly separated and cross-referenced: meteo_actuelle / prevision_meteo / historique_meteo split measured-now, forecast and past, and qualite_eau / coupures_eau / restrictions_eau split water quality, cuts and drought rules. Residual overlap remains at the edges — annuaire_services_publics also returns markets and pharmacies, evenements also returns markets, sport and evenements both surface club/sporting events, and resume_du_jour duplicates much of the surface — but the descriptions give the agent clear routing cues.

Naming Consistency4/5

All names are lowercase snake_case French noun phrases with no mixed camelCase or stray verb styles, so the pattern is predictable. There is minor variation in shape (single nouns like calendrier, sport, maree, actualites next to domain+qualifier compounds like qualite_air, coupures_eau, sentiers_randonnee, and adjective-order differences meteo_actuelle vs prevision_meteo), but nothing an agent would misread.

Tool Count3/5

27 tools is above the comfortable band and forces the agent to scan a large menu, though the scope (a whole island's open-data portal across weather, water, energy, mobility, hazards, news, culture) means most tools correspond to a real, disjoint data source. A few could be folded: resume_du_jour aggregates many others, and annuaire_services_publics multiplexes unrelated datasets (fuel prices, pharmacies, marches, decheteries, kids' places) behind a 'quoi' parameter, which is a scoping smell.

Completeness4/5

Coverage is unusually broad for the stated domain: weather now/forecast/history, sea, tides, rivers, air, tap and bathing water, water cuts and restrictions, electricity and EV charging, bike-share, trails with GPX, cadastre/PLU/hazards, volcano and seismes, cyclones, events, news, sport, public offices, defibrillators, plus meta tools for sources and feedback. The visible gaps are daily-life mobility — no public transport / Car Jaune schedules, no ferry or flight info, and road conditions only arrive indirectly through actualites — which an agent can partly work around but which will cause dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather information and forecasts, connecting AI assistants with live weather data for current conditions and multi-day forecasts for any location worldwide.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to access real-time and historical weather data through multiple weather APIs including OpenMeteo, Tomorrow.io, and OpenWeatherMap. Provides comprehensive meteorological information including current conditions, forecasts, historical data, and weather alerts.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides access to official MeteoSwiss weather data, including regional reports, daily forecasts, and website search functionality across multiple languages. It enables AI assistants to retrieve real-time weather information and documentation from MeteoSwiss using the Model Context Protocol.
    4
    Creative Commons Zero v1.0 Universal
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather information and multi-day forecasts using the Open-Meteo API through a robust, enterprise-grade architecture. It enables AI assistants to retrieve current conditions, 7-day forecasts, and contextual weather data for any location.
    7 npm
    MIT