rundata · La Réunion 974 en direct
An MCP server giving an AI assistant 27 tools of live, dated and sourced public data for Réunion Island (974) — weather, hazards, water, transport-adjacent services, outdoors and local life.
Weather, now and past: measured conditions at the most representative station (
meteo_actuelle, with radar rain and hourly rain history) and daily/hourly measured history back to 1900 vs. 1991-2020 normals and records (historique_meteo).Forecast:
prevision_meteoup to 7 days (AROME then IFS), UV index, morning cloud sea in the Hauts, night sky, per-day confidence — always labelled as a forecast, never mixed with measurements.Sea: measured sea-surface temperature near a beach plus a separate wave forecast (
temperature_mer); tide-gauge level and rundata-computed next high/low waters (maree).Hazards: volcano status, ORSEC level, access and earthquakes (
volcan_seismes); river flood vigilance, levels and flows (crues_rivieres); active tropical cyclones and the cyclone alert (cyclones).Water: tap and bathing-water analyses from the ARS (
qualite_eau), cuts and “do not drink” notices (coupures_eau), drought restrictions by user profile (restrictions_eau).Environment and energy: ATMO air quality per commune (
qualite_air); EDF production mix, grid signal and announced power cuts (electricite); live EV charge-point status (bornes_recharge); Altervélo bike-share availability (velos_libre_service).Outdoors: ONF open/closed trails with causes, GPX traces, length and elevation filters (
sentiers_randonnee).Land and property: parcel, PLU zoning, ground altitude, median sale prices and natural risks at an address (
fiche_terrain).Everyday life: public offices with hours, fuel/gas prices, pharmacies and hospitals, markets, waste centres and street-level collection days (
annuaire_services_publics); nearest defibrillators (defibrillateurs); school holidays, public holidays, sunrise/sunset and Moon (calendrier).What's on and what's happening: events, concerts and markets (
evenements), sport fixtures, results and standings (sport), local news headlines, blockages and radars (actualites).Digest:
resume_du_jourreturns a whole commune's day in one call, naming what is missing and which tool to use.Meta:
sources_donneesfor sources, licences and attribution;sites_sans_reponsefor public sites currently down;donner_avisto report missing, wrong or outdated data.
Reads the public Bluesky account of OVPF-IPGP to retrieve volcanic publications, bulletins, and eruption updates for Réunion Island.
Integrates NASA Aqua MODIS satellite data (via NOAA PFEG) as a fallback source for sea surface temperature measurements around Réunion Island.
Uses OpenStreetMap as a directory of about 1,250 places in Réunion, enabling free-text location resolution for weather, sea, and other local data tools.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rundata · La Réunion 974 en directQuel temps fait-il à Saint-Pierre en ce moment ?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| « 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. |
| « 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. Partout, le ciel de la nuit (de 18 h à 6 h, par tranches de 3 h, celle de ce soir ou celle demandée) d'après AROME : dégagé, partiellement nuageux, couvert ou pluie prévue, et dans les Hauts au-dessus, au bord, dans ou sous les nuages. 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 |
| « 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 |
| « 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 |
| « 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. |
| « 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 ». |
| « l'air est pollué à Saint-Louis ? » | Indice ATMO du jour et du lendemain par commune (Atmo Réunion), avec le polluant en cause. |
| « 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 |
| « 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 |
| « 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. |
| « 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. |
| « 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). |
| « 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. |
| « 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. |
| « 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 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 |
| « 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. |
| « 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. |
| « 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 |
| « 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. |
| « 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 et Grand Raid (partants, abandons, podiums). Pas de résultats de football : aucune source ouverte. |
| « il y a un cyclone en ce moment ? », « 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 avis du CMRS de La Réunion (Météo-France) : nom, stade et heure du dernier avis, sans trajectoire, position, vent ni prévision, que donne le site officiel de Météo-France (lien dans le champ |
| « 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. |
| « 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) : 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. |
| « 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…). |
| « c'est quand les vacances ? », « le 20 décembre est férié ? », « lever du soleil au Maïdo ? », « c'est quand la pleine lune ? » | 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, et la Lune : phase, part éclairée, lever et coucher au lieu, prochaines phases, calculés dans le Worker (à quelques minutes près, pour l'horizon dégagé). |
| « 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. |
| (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. |
| « 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, | à 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é ( | 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 ( | relu toutes les 30 minutes | Licence Ouverte |
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 ( | le lundi, | Licence Ouverte | |
Marchés forains et couverts d'OpenStreetMap ( | nom, jours et heures quand ils sont renseignés, adresse, position ; liste incomplète | dans le paquet, refait par | 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 | 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 | 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 | à 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 | 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 | 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 | 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 | 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 ( | 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 | 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 | 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) | matchs, scores, classements, annulations et reports, régates, compétitions, rallyes, événements des clubs, podiums | de 30 min (Grand Raid, 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) |
Cyclones : avis du CMRS de La Réunion (Météo-France), republiés par GDACS (Commission européenne, Nations unies) | nom, dates et stade de chaque système | toutes les 6 heures pendant un système | réutilisation libre en citant « Global Disaster Alert and Coordination System, GDACS » |
Historique : données climatologiques de base quotidiennes de Météo-France, 249 stations depuis 1900, rangées par | 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 | 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 | événements : dates, heures, lieu, prix | relu toutes les heures | Licence Ouverte Etalab 2.0 (OpenAgenda) ; information publique (programmes des salles, agendas des mairies) : 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 ; Théâtre Luc Donat : repris avec son accord écrit du 27/10/2026 ; agenda de la mairie de Bras-Panon : repris avec son accord écrit du 28/10/2026, sans le prix ; 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 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 | 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 | 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 | 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 | 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 | 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 ;/communesles 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,/secheresseet/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#coupuresdonne 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 parscripts/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 ;/collecteet/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'outilresume_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'outilsites_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 parsources_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 parscripts/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'outildonner_avisvont dans la tableavisde 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.svget/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ônespublic/icons/, symbole et logospublic/logo/, repris du kit de la marque parscripts/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), the sky of the night (18:00 to 06:00, clear or overcast, above or in the clouds in the Hauts), 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, and the Moon (phase, share lit, rise and set at the place, next phases), computed.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, and OpenAgenda (north of the island), 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_actuellealso 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
/traficpage 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:
/nouveautesand CHANGELOG.md, both generated fromsrc/nouveautes.ts.Press:
/pressehas 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 shortserveurblock (version, number of tools, tools added this week), so that an assistant with an old tool list can tell;sources_donneeslists every tool and the latest changes.Citation: every answer ends with
citer(« rundata.re, d'après ») andlien, the matching rundata.re page; the producers' full attribution and licence stay insources.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 toolsactualitesActualités de La Réunion en direct : manifestations, blocages, routes, faits diversARead-onlyIdempotentInspect
Ce qui se passe en ce moment à La Réunion (974), d'après les médias de l'île (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. Radars fixes (champ radars_fixes) : la liste publiée par le ministère de l'Intérieur, avec la vitesse limite de chacun, pour une question sur les routes ou les radars. Jamais les contrôles mobiles. Pour : « il y a des blocages à Saint-Pierre ? », « route fermée ? », « quoi de neuf à Saint-Benoît ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Une commune ou un lieu (« Saint-Pierre », « Ravine des Cabris », « Saint-Gilles ») : les informations qui le nomment. Vide = toute l'île. | |
| sujet | No | « mobilisation » (manifestations, blocages, barrages), « route », « meteo », « volcan », « eau », « securite », « sante », « politique », « culture », « sport », ou des mots du titre ; vide = tout. | |
| heures | No | Depuis combien d'heures (1 à 72, 24 par défaut). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no output schema, the description carries the full burden and does so: it discloses refresh cadence (every 5 min), the media sources, the per-item return fields (heure, média, titre, première phrase, communes, lien), and two important caveats — route_du_littoral is a dated media announcement, not a measurement, and radars_fixes is the Interior Ministry's fixed list with speed limits, never mobile checks. This is beyond what readOnlyHint/idempotentHint alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and dense with useful specifics, but it is one sprawling run-on paragraph with stacked relative clauses, and the full enumeration of six media outlets plus the field-by-field listing costs more than it returns for an agent that mainly needs scope, cadence and the two caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-optional-parameter, no-output-schema aggregation tool, everything needed to call it correctly is present: filters, cadence, source provenance, returned fields, and the two special-case fields with their limitations. Nothing material is left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds value by mapping colloquial topics to the sujet values ('manifestations et blocages' → mobilisation) and by clarifying that lieu accepts a commune or quartier, empty meaning the whole island. It does not explain the heures range beyond the schema, which already states 1–72 with a default of 24.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a precise statement of what the tool returns: current local news for La Réunion (974) aggregated from named island media, refreshed every 5 minutes, plus préfecture communiqués. It also carves out the two special fields (route_du_littoral, radars_fixes) so an agent can tell this apart from siblings like resume_du_jour, transports or evenements without reading the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives three concrete trigger questions (blocages à Saint-Pierre, route fermée, quoi de neuf à Saint-Benoît) and an explicit routing rule for radars_fixes ('pour une question sur les routes ou les radars') plus an exclusion ('Jamais les contrôles mobiles'). It never names a sibling tool as the alternative, so the when-not-to-use-this-tool-instead guidance is implied rather than stated.
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, pharmaciesARead-onlyIdempotentInspect
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 ? », « prix de l'essence ce mois-ci ? », « quel jour passent les poubelles à Saint-Paul ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. | |
| quoi | Yes | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the description appropriately focuses on domain caveats. It discloses major data sources (service-public.fr, FINESS, OpenStreetMap, TCO, Data ES, Basilic) and practical limitations such as on-duty pharmacy coverage and emergency routing. It does not contradict the annotations and adds meaningful context beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sprawling paragraph that mixes public services, fuel prices, pharmacies, hospitals, markets, waste collection, déchèteries and children's activities. It contains useful details, but it is poorly front-loaded and difficult to scan, so the conciseness and structure are weak.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description provides enough context about sources, coverage, caveats and example use cases to call it correctly. It could be more complete by clarifying output format or pagination, but given the annotation support and detailed domain notes, the essential context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds substantial semantic guidance for 'quoi' by listing many accepted query categories and for 'lieu' by giving examples such as coordinates and street-plus-commune formats. The parameter guidance is valuable but buried inside a run-on text, making it harder to use than a structured list would be.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly establishes that this is a directory/lookup tool for public services and practical life information in Réunion, with concrete examples such as mairies, CAF, carburant, pharmacies, marchés, déchèteries and children's activities. The purpose is specific and scoped to Réunion, but the long enumeration blurs the core identity and only occasionally distinguishes it from siblings, for example by routing Christmas or night markets to evenements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is supported by query examples ("horaires de la mairie de Saint-Paul ?", "prix de l'essence ce mois-ci ?", "quel jour passent les poubelles à Saint-Paul ?") and by explicit category keywords for the 'quoi' parameter. It also gives useful guidance for adjacent needs: pharmacy on duty is only known via 3237.fr/32 37, emergencies go through 15, and Christmas/night markets should use evenements. The only gap is that most other sibling alternatives are not explicitly excluded.
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éunionARead-onlyIdempotentInspect
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 ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Un lieu ou une commune (« Saint-Gilles-les-Bains », « Le Tampon », « aéroport Roland-Garros »). Vide = toute l'île. | |
| rapide | No | Seulement la recharge rapide (50 kW ou plus). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, open-world behavior, so the description doesn't need to. It does add useful context beyond them: the data comes from each point's operator and is live (libre/occupé/hors service), plus provenance and coverage breadth. It omits freshness/latency or update cadence details, keeping 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The tool's subject, coverage and returned fields are front-loaded in the first clause, with example queries trailing as illustration. It is a single dense sentence plus a query list; slightly long but each element (operators, counts, field list, examples) carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup with no output schema, the description enumerates the returned attributes (statut, puissance, prises, horaires, réseau), which is enough to predict the payload. It doesn't address result size/limits despite 400+ charge points, a minor remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (lieu, rapide) are already fully documented; baseline is 3. The description reinforces 'rapide' indirectly via 'où recharger rapidement' and 'libre' via 'borne de recharge libre', but adds no format or syntax detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (bornes de recharge publiques pour voiture électrique), a geographic scope (La Réunion), and enumerates the data it returns: live status, puissance, prises, horaires, réseau. Counts (136 stations, 400+ points) and named operators (Freshmile, EZDrive, E.Leclerc) make it unmistakable against siblings like velos_libre_service or transports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Pour :' section supplies three representative natural-language queries ('borne libre près de Saint-Gilles', 'où recharger rapidement à Saint-Pierre', 'bornes au Tampon') that map directly to the two parameters, giving clear usage context. It stops short of naming when NOT to use it or pointing to an alternative sibling, so it doesn't reach a 5.
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, soleil et Lune à La RéunionARead-onlyIdempotentInspect
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, heures de lever et de coucher du soleil au lieu demandé, et la Lune : phase, part éclairée, lever et coucher, prochaines phases (calculés). Pour : « c'est quand les vacances ? », « le 20 décembre est férié ? », « la Lune se lève à quelle heure ce soir ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, so the bar is lower; the description usefully adds that moon phases are computed ('calculés') and that results are scoped to Réunion. It does not describe output shape or whether sun/moon values are estimated for the given `lieu` versus a fixed station, but nothing is contradicted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense inventory sentence followed by a short query-example sentence, both front-loaded and free of filler. The enumerations are long but each item is a distinct capability, so it earns its length; a slight trim of the parentheticals would help.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter, no output schema, and rich annotations, the description covers the full capability set and scope well enough to call correctly. The only gap is that, lacking an output schema, it does not hint at the shape of returned records (e.g. per-day vs per-query).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 in-schema, including the empty-string default and coordinate format. The description only echoes it via 'au lieu demandé', adding 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.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (Réunion calendar) and enumerates exactly what it returns: school holidays, public holidays including 20 décembre/Fèt Kaf, today's date, sunrise/sunset, and moon phase/times/next phases. It also flags the domain-specific quirk (calendrier austral, différent de la métropole), which distinguishes it from generic date or weather siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Pour :' clause supplies three concrete user phrasings that map cleanly onto invocations, which is strong routing guidance. It stops short of stating exclusions — e.g. that tide times belong to `maree` or that general weather belongs to `prevision_meteo` — leaving the agent to infer boundaries with overlapping siblings.
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éunionARead-onlyIdempotentInspect
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 ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, non-destructive, open-world), but the description adds non-obvious data-quality behavior: secteurs_complets=false means the street list is incomplete, so absence must never be reported as 'no cut at your address', and the full-advisory link should be given. That is exactly the kind of caveat the annotations cannot convey. It stops short of describing the overall response shape, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the critical 'ne pas boire first' and incompleteness caveats are front-loaded, and most clauses carry real information. The long enumeration of communes and distributors is useful coverage detail but is dense and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param, no-output-schema read tool, the description supplies coverage area, query phrasings, default behavior, sibling routing, and the key interpretation caveat. Only return structure/freshness granularity is left implicit, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single param already documents accepted location forms and 'empty = whole island'. The description only marginally extends it by clarifying that no location means all recent advisories, so the baseline 3 for schema-covered params applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (water-distributor advisories in Réunion: planned cuts, breakdowns, do-not-drink notices) with the concrete scope, and it explicitly distinguishes itself from qualite_eau, which holds the ARS compliance analyses. An agent can tell what this returns and what it does not 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives literal example queries («coupure d'eau à Saint-Denis ?», «quand revient l'eau ?»), states the no-location default (all recent advisories), and routes a related need (ARS potability analyses) to the sibling qualite_eau. That is explicit when-to-use plus an alternative, not implication.
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éunionARead-onlyIdempotentInspect
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 ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Une rivière (« rivière des Galets », « ravine Saint-Gilles ») ou un lieu (« Salazie », « Saint-Benoît ») pour les stations proches. Vide = toute l'île. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations confirm it is a read-only, non-destructive tool. The description adds valuable behavioral context by stating that measurements are taken 'toutes les 5 minutes' and include 'crues historiques'. While it adds data context, it doesn't add significant operational/safety info beyond what's already structurally available, hence a solid middle score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is dense but highly informative. It front-loads the core functionality and then provides examples, maintaining a good balance between detail and readability without unnecessary jargon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The combination of the description, title, and the single parameter's clear function makes the tool definition complete. Given the 'readOnlyHint' and the specific example queries, the AI has everything it needs to select and invoke the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100%, meaning the description doesn't need to add basic parameter definitions. However, the description adds significant semantic meaning by defining exactly what constitutes a valid 'lieu' (e.g., 'une rivière... ou un lieu... pour les stations proches'), which goes beyond a simple string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Crues et rivières à La Réunion' combined with the description clearly states the tool provides real-time flood monitoring ('Vigilance crues'). It specifies the resource (river/ravine data) and the scope (the island of Réunion), making its purpose highly specific and easy to distinguish from sibling tools like 'meteo_actuelle' or 'volcan_seismes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides three example query patterns ('la rivière des Galets est en crue?', etc.). This gives the AI clear guidance on the intent and phrasing required, effectively serving as 'when to use' examples compared to other situational tools.
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 IndienARead-onlyIdempotentInspect
Systèmes tropicaux actifs autour de La Réunion (974), d'après les avis du CMRS de La Réunion (Météo-France) republiés par GDACS : nom et stade (dépression, tempête tropicale modérée ou forte, cyclone tropical, intense), avec l'heure du dernier avis ; 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. Ni trajectoire, ni position, ni distance, ni prévision : jamais de trajectoire inventée, donner le lien du champ officiel (site officiel de Météo-France) ; renvoyer aux consignes de la préfecture. Pour : « il y a un cyclone en ce moment ? », « combien de pluie pendant Garance ? » (nom).
| Name | Required | Description | Default |
|---|---|---|---|
| nom | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds important constraints beyond them: never invent a track, give the official Météo-France link, refer to prefecture instructions, and attribute quoted Météo-France data rather than rundata.re. It also discloses off-season behavior and scopes school-related alert interpretation away from individual schools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the active-system purpose, then moves through alerts, off-season handling, exclusions, and example queries. It is dense but each sentence contributes relevant scope or behavioral detail; slightly more structural separation would improve scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, it describes the returned content well: system name and stage, last advisory time, prefecture alert meaning, off-season fallback, and historical rain/gust measurements. It also covers source attribution and limitations, leaving no essential invocation detail unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the optional 'nom' parameter in detail, including available storm names and what measurements are returned. The description adds a useful default distinction between current active systems (no name) and historical named storms, plus a concrete query example, though the schema remains the richer parameter reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (active tropical systems around Réunion), its sources (CMRS de La Réunion / Météo-France via GDACS), and the two modes: current system status and historical lookup by name. It explicitly excludes track, position, distance, and forecast, which sharply separates it from general weather and forecast siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides concrete trigger phrases ('il y a un cyclone en ce moment ?', 'combien de pluie pendant Garance ?') and states off-season behavior and the no-track/no-forecast boundaries. However, it does not explicitly name sibling tools such as prevision_meteo or vigilance_meteo as alternatives, so routing is clear but not fully spelled out.
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éunionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. |
TDQS
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 valuable context beyond annotations: the Géo'DAE data source, coverage of over 1,200 devices across 24 communes, return details including walking time and access hours, and an emergency safety caveat. It does not specify result cardinality or response format, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and scope, then moves efficiently through returned fields, coverage, examples, and emergency guidance. It is dense but every sentence contributes; the final safety instruction is essential and not padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single optional-parameter, read-only lookup with no output schema, the description is complete: it states what the tool does, what data it returns, the geographic coverage, example invocations, and the required emergency advice. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains that 'lieu' accepts commune, plage, quartier, cirque, sommet, coordinates, or empty for the whole island. The description only reinforces the location concept and gives examples, adding little semantic detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (défibrillateurs/DAE) and scope (les plus proches d'un lieu de La Réunion), and it lists the returned fields: adresse, distance, temps à pied, emplacement, horaires. An agent can immediately tell this is a nearest-defibrillator lookup, distinct from all listed siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete example queries ('où est le défibrillateur le plus proche de la plage de l'Hermitage ?', 'défibrillateur à Cilaos ?') that clarify when to use the tool. It also adds a critical usage instruction to first tell the user to call 15/112 and start cardiac massage, though it does not explicitly state 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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Le lieu concerné (« Cilaos », « plage de l'Hermitage »). | |
| type | Yes | « manque » (donnée absente), « erreur » (valeur fausse ou périmée), « suggestion », « bravo ». | |
| outil | No | L'outil concerné (« meteo_actuelle », « transports »…). | |
| message | Yes | L'avis, en quelques phrases (1000 caractères au plus), sans donnée personnelle. | |
| question_utilisateur | No | La question de l'utilisateur, reformulée sans rien de personnel. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare non-read-only, non-destructive, non-idempotent; the description adds that submissions are read by a human with no direct reply, that no personal data may be included, and that consent must be sought first when content is personal. It does not mention rate limits or whether repeated submissions are deduplicated, which is the remaining gap for a write tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and feedback types are front-loaded, followed by usage triggers, content guidance, and privacy rules in a logical order. The middle sentence is long and packs several triggers into one chain, which slightly hurts scanability but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter write tool with no output schema, the description covers when to call, what to write, what not to include, how consent works, and what happens afterwards (human review, no reply). Missing only operational details such as frequency expectations or confirmation behavior, 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.
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 still adds content guidance beyond the schema by telling the agent what a good 'message' contains (which tool, which place, what was missing) and by reinforcing the no-personal-data constraint on 'message' and 'question_utilisateur'. It does not add anything for 'lieu' or 'outil' beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+recipient ('Transmet à rundata.re ... un avis sur ses données') and enumerates the four feedback types, immediately distinguishing it from every data-lookup sibling. An agent knows exactly what this tool does 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to call it proactively ('sans attendre qu'on le demande') and lists concrete trigger conditions: a tool found nothing, returned something false or incomplete, or the user voiced a wish/complaint or later said a fact was wrong. That is precise routing guidance rather than implied usage.
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 momentARead-onlyIdempotentInspect
É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é ? », « quand recharger ma voiture électrique ? ». 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 ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it is a safe read; the description goes well beyond that by naming the source (EDF), the refresh cadence (every 5 min), and — most valuably — the coverage limitation: outage notices are only republished for communes whose legal notice permits it (e.g. Sainte-Marie), and elsewhere the tool reports that no notice was read or that reuse is forbidden. That is exactly the kind of negative-result behavior an agent needs to interpret empty answers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded and every clause carries information, but it is a single dense block with stacked parentheses and nested colons that is hard to scan. Two capabilities and their caveats are interleaved rather than separated into distinct sentences, costing readability for no gain in brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, one optional parameter, and a genuinely complex two-mode tool, the description supplies source, update frequency, coverage caveats, and intent examples — enough to call it correctly and to interpret empty results. It falls short only on not clarifying the shape of what comes back (e.g. whether mix and outages are returned together or which dominates).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description already explains accepted place forms (commune, beach, quarter, cirque, summit, or "-21.05, 55.22") and that empty means the whole island. The description only echoes this implicitly through its example queries, adding no format or behavioral detail 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete resource and scope: live electricity data for Réunion (total production, per-source share, renewable share) plus EDF outage notices by day/hour/sector. It explicitly separates itself from coupures_eau ("électricité, pas l'eau"). The only deduction is that it bundles two distinct capabilities (generation mix and outage notices) into one tool, which slightly muddies the headline purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger phrases for each capability ("d'où vient l'électricité ?", "quand recharger ma voiture électrique ?", "coupure EDF prévue dans ma commune ?") and names coupures_eau as the sibling to use for water outages. It does not mention bornes_recharge despite the EV-charging framing, leaving one obvious routing decision to inference.
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ésARead-onlyIdempotentInspect
É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 du Séchoir et du Théâtre Luc Donat, les agendas des mairies (Saint-Paul, Le Port, Les Trois-Bassins, Sainte-Marie, Salazie, Saint-Louis, Bras-Panon), celui de l'office de tourisme de l'Est, et ceux de la CINOR et de l'office de tourisme du Nord (OpenAgenda). 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 ? », « c'est quand la fête de l'ail ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Une commune ou un lieu (« Saint-Paul », « Saint-Gilles ») : les événements de sa commune. Vide = toute l'île. | |
| quoi | No | 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. | |
| quand | No | « 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/open-world, and the description adds substantially beyond them: source provenance, coverage of municipal and OpenAgenda feeds, timezone (heure de La Réunion), inclusion of cancelled/reported/sold-out status, and the notable 'statut_d_apres' case where a local media outlet announces before the organiser. That last detail materially changes how an agent should interpret a status field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and scope, then sources, then record fields, then use cases — a logical order. It is dense with long enumerations of communes and source names that add modest value, keeping it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description enumerates the returned fields (titre, date/heures, salle, commune, genre, prix, billetterie, statut) and the timezone, so an agent knows what to expect. Combined with all-default optional parameters and explicit empty-value behaviour, nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter's meaning, examples and empty-value defaults are already documented in the schema. The description corroborates the genre/title-word duality of 'quoi' but adds no syntax or format detail the schema lacks, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (upcoming events in La Réunion) with the covered event types, the exact sources it aggregates, and the fields each record carries. No sibling tool overlaps with local event listings, and an agent can immediately tell what this returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing 'Pour :' clause gives three concrete question shapes ('que faire ce week-end à Saint-Paul ?', 'concert ce soir ?', 'c'est quand la fête de l'ail ?') that map onto the parameters, which tells the agent exactly when this tool fits. It stops short of naming exclusions or alternatives (e.g. sport, calendrier, actualites), so it is clear context rather than a full routing rule.
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éunionARead-onlyIdempotentInspect
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, et sur la voie demandée, depuis 5 ans (DVF), loyers d'annonce de la commune pour un logement type (carte des loyers de l'ANIL), part des logements et locaux de la commune éligibles à la fibre (Arcep), 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 ? », « prix au m² des maisons à l'Hermitage ? », « quels risques à cette adresse ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| adresse | Yes | Adresse (« 7 rue de la Buse, Saint-Paul »), lieu-dit (« Bois de Nèfles ») ou coordonnées « -21.0, 55.27 ». |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, and the description goes further by disclosing data provenance (DVF, ANIL, Arcep, PPR), temporal scope (5 years of sales), and spatial granularity differences (prices 'autour' and within 500 m, rents and fibre at commune level, PPR 'au point'). That granularity disclosure is genuinely useful for interpreting results. It stops short of covering failure modes (address not found, ambiguous lieu-dit) or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main payload (what registers say about an address) is front-loaded, and the example queries at the end anchor usage. The middle is a dense single-sentence enumeration that borders on encyclopedic, but each item maps to a distinct returned data family, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 return content and does so exhaustively — parcel, zoning, altitude, prices, rents, fibre, and four risk dimensions with their spatial scope. An agent knows what it will get back and at what granularity before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 address, lieu-dit and coordinate formats. The description adds a real constraint beyond the schema: the input must be a location in La Réunion (974), which tells the agent the tool is geographically scoped rather than globally open despite openWorldHint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely what is returned for an address in La Réunion: cadastral parcel (section, number, area), PLU zone with constructibility classes (U, AU, A, N), ground altitude, DVF median prices, ANIL rents, Arcep fibre share, and PPR/natural-risk data. This enumerates the resource far more specifically than any sibling (meteo, transports, qualite_eau, etc.), making selection unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Three representative example questions ('cette parcelle est constructible ?', 'prix au m² des maisons à l'Hermitage ?', 'quels risques à cette adresse ?') make the intended use cases concrete and easy to match. There are no explicit exclusions or named alternatives, but no sibling tool covers cadastre/urbanisme/prix, so the risk of misrouting is low.
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éunionARead-onlyIdempotentInspect
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 ? », « record de chaleur à Saint-Denis ? », « à quelle heure a-t-il plu hier à Cilaos ? ». Pour maintenant, utiliser meteo_actuelle ; pour les jours à venir, prevision_meteo.
| Name | Required | Description | Default |
|---|---|---|---|
| au | No | Fin, même format. Pour « cette nuit » ou « ce matin », la date d'aujourd'hui. | |
| du | No | Dé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. | |
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. | |
| jours | No | Les N derniers jours jusqu'à hier (30 par défaut). | |
| detail | No | « heure » : heure par heure jusqu'à 7 jours (sinon automatique sur 3 jours ou moins) ; « jour » : sans le détail horaire. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered by structured data. The description does add real behavioral context beyond that — data source (Météo-France stations), the 1900-onward coverage, the hourly-only-since-2000 limit, and the automatic aggregation (day-by-day up to two months, monthly/annual beyond) — but it does not describe the response shape or how comparisons to the 1991-2020 normal and records are presented. With annotations carrying safety, a 3 reflects solid but incomplete added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense paragraph that front-loads the core purpose and limits before the examples, and every sentence carries information. However, it runs long with no internal structure, mixing data coverage, granularity rules, examples, and sibling routing into one block, which makes scanning harder than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description covers what data is returned, at what resolution, the historical coverage limits, how results are compared to station normals and records, and when to use the alternatives. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all five parameters (du, au, lieu, jours, detail) are already documented in the schema, giving a baseline of 3. The description's explanation of granularity degradation (day-by-day up to two months, then monthly or yearly) adds interpretive meaning for du/au ranges that the schema does not state, but it adds no syntax or format detail for lieu or jours beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb+resource: measured past weather in Réunion, from Météo-France stations, from 1900 to yesterday. It lists the exact variables (rain, min/max temps, sunshine, gusts) and explicitly differentiates itself from siblings meteo_actuelle (now) and prevision_meteo (future), so no inference is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives the exact conditions for calling it (any past-weather question), three concrete example questions, and names the two alternatives with the conditions that select them: meteo_actuelle for now, prevision_meteo for upcoming days. Explicit when/when-not routing is fully present.
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éunionARead-onlyIdempotentInspect
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 ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Un lieu de la côte (« Le Port », « Saint-Gilles », « Sainte-Marie ») pour le marégraphe le plus proche. Vide = les deux. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world safety, but the description adds substantive behavior: the times are computed by rundata rather than official SHOM predictions, accurate to ~15–20 min and 5 cm, and the tool degrades gracefully for far-away locations (returns nearest-gauge height with no times plus a link to official schedules). That degradation contract is exactly what an agent needs and is not in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the payload comes first, then the accuracy caveat, then the geographic limit, then example queries. Some clauses (repeating the accuracy figures and the town list) could be trimmed, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description fully compensates by enumerating the returned fields (current height, trend, last high/low, next events over two days) and the fallback return shape for distant locations. Nothing an agent needs in order to call it or interpret the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single `lieu` parameter is already documented, including the empty-means-both default. The description adds real value by explaining the nearest-gauge resolution behavior and listing the covered coastal towns (Le Port, La Possession, Saint-Paul, Saint-Gilles, Saint-Denis, Sainte-Marie, Sainte-Suzanne), which clarifies what a valid place string means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (sea height measured every minute by SHOM tide gauges at Le Port and Sainte-Marie) and the exact payload (current level, rising/falling trend, last observed high/low, next highs/lows over two days). Distinguishes itself clearly from any sibling by naming the measurement source and the computed-vs-official-prediction distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger phrasings ("la marée monte ?", "c'est quand la marée basse demain ?", "niveau de la mer au Port ?") and explicit boundaries: computed hours are only valid within ~15 km of the two gauges, and beyond that horizon the agent should defer to SHOM. Both the when-to-use and when-not-to-use cases are spelled out.
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éunionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | 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. |
TDQS
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 meaningful behavior beyond that: measurements are dated, include the station name, distance and altitude, and produce a microclimate warning when the place has a different exposure. It does not discuss failure modes such as an unknown place name, which keeps it just short of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded, but the description is bloated with repeated example questions and a nearly complete English duplicate of the French text. The extra detail is useful but could be trimmed without losing selection value, so it sits at adequate rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema and rich annotations, the description covers what is measured, how the location is resolved, what extra recent-rain history is returned, caveats about microclimates, and when to use the forecast tool instead. An agent has everything needed to call it correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single parameter is already well documented. The description still adds value by explaining the consequence of the parameter: the nearest representative station drives most measurements, radar rain is read at the exact place, and recent rain is read at the nearest rain gauge. That clarifies what 'lieu' actually controls beyond the schema's list of accepted place formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: current measured weather in Réunion, listing the exact variables (temperature, rain, humidity, wind, pressure, present weather) and the station/radar sourcing logic. It explicitly distinguishes itself from the forecast sibling by saying to use prevision_meteo for later periods. An agent can tell exactly what this tool returns versus the alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use examples such as 'quel temps fait-il à Saint-Denis ?' and 'il pleut à Cilaos ?', plus an explicit exclusion: 'Pour plus tard (demain, ce soir, ce week-end), utiliser prevision_meteo.' The routing condition between this tool and the forecast sibling is unambiguous.
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éunionARead-onlyIdempotentInspect
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 ? ». Partout, le ciel de la nuit, de 18 h à 6 h, dégagé ou couvert, et dans les Hauts au-dessus ou dans les nuages (bloc ciel_de_nuit), pour « le ciel sera dégagé ce soir pour voir les étoiles au Maïdo ? ». 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.
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | 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. | |
| quand | No | Quand, 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
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, and the description adds real context beyond them: the output is a model forecast, not a measurement; every response is labelled 'prévision'; the model does not resolve the island's microclimates; and 'confidence' means agreement among the 51 ECMWF ensemble scenarios, not a probability. It omits explicit pagination or latency details, but for a read-only forecast tool that is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structure is strong: purpose and output contents come first, then trigger examples, conditional blocks, limitations, and the sibling handoff. However, it repeats itself in the French and English versions and spends roughly eight quoted example questions plus two block descriptions, which is heavy for a two-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the full burden of explaining the return values, and it does: per-day and per-3-hour granularity, the mer_de_nuages and ciel_de_nuit blocks with their time windows and altitude conditions, the confidence scale, and the forecast disclaimer. An agent knows what it will receive and how to interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaning beyond it: it constrains the forecast horizon ('de ce soir à 7 jours') and thereby tells the agent that longer-range requests are out of scope, and it frames the altitude-dependent blocks that the 'lieu' parameter value implicitly selects. The free-text place and time examples largely duplicate the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (weather forecast from a numerical model, not a measurement) for Réunion Island, and enumerates exactly what is returned: sky conditions, min/max temperatures adjusted for the location's altitude, rain, wind and gusts, 3-hourly breakdowns, UV index, and per-day confidence. It explicitly distinguishes itself from the sibling meteo_actuelle ('pour le temps qu'il fait maintenant, utiliser meteo_actuelle') and implicitly from historique_meteo and vigilance_meteo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It includes explicit when-to-use triggers with quoted user questions ('il va pleuvoir demain à Saint-Denis ?', 'quel temps ce week-end à Cilaos ?'), describes which conditional output blocks apply (mer_de_nuages only above 800 m, ciel_de_nuit everywhere) with their own trigger questions, and gives when-not-to-use routing: meteo_actuelle for current conditions, Météo-France's official vigilance for cyclones.
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éunionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. |
TDQS
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 value beyond that: the data source, the numeric scale and its meaning, that both today and tomorrow are returned, and that omitting the location widens scope to the entire island.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the resource and scope, then the returned fields, then the example intents in a single dense paragraph with no filler. Slightly compressed by the run-on parentheticals, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, the description covers what is returned (ATMO index today and tomorrow plus the responsible pollutant) and the no-location default. Nothing essential for correct invocation is missing, though a note on data freshness or update cadence would have completed it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema description already explains accepted place forms (commune, plage, quartier, cirque, sommet, coordinates) and the empty-means-whole-island rule. The description's 'Sans lieu : toute l'île' merely restates that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (qualité de l'air à La Réunion) with scope (par commune), data source (Atmo Réunion), what is returned (indice ATMO du jour et du lendemain, polluant en cause) and the scale (1 bon à 6 extrêmement mauvais). This clearly separates it from weather siblings like meteo_actuelle or vigilance_meteo, which cover forecasts rather than air quality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete example user questions («l'air est pollué à Saint-Louis ?», «je peux faire du sport dehors ?») that map intents to this tool, plus a fallback rule: with no location, coverage is the whole island. It does not explicitly exclude or name a sibling alternative, which keeps it at 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.
qualite_eauQualité de l'eau à La Réunion : robinet et baignadeARead-onlyIdempotentInspect
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 ? », « 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.
| Name | Required | Description | Default |
|---|---|---|---|
| eau | No | « robinet » (eau potable) ou « baignade » ; vide = d'après la question et le lieu. | |
| lieu | No | Commune, quartier, plage ou bassin (« Ravine des Cabris », « plage de l'Hermitage », « bassin Bleu »). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description focuses on what the data means: latest analysis, compliance, and exceedances over a 6-month window, per sampling point. It adds a real behavioral constraint (shark-rule 300 m band, permitted zones, never declare safety) that no annotation carries. It stops short of describing result shape precisely, hence 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with scope and data source, then examples, then the safety caveat — a logical order in one paragraph. It is dense but the long list of beaches/basins is somewhat padded relative to the value it adds.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of explaining what comes back (latest analysis, compliance status, germs/parameters over limits on 6 months, per sampling). Combined with zero required params and the safety caveat, an agent has enough to call correctly; only the exact field/response shape is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both params (eau enum, lieu) are fully documented in the schema, so baseline is 3. The description reinforces 'réseau par réseau' and 'prélèvement par prélèvement' but adds no syntax or format guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: ARS water-quality analyses for Réunion, split into drinking-water (network by network) and bathing water (beach/basin, sample by sample). It is immediately separable from siblings such as coupures_eau and temperature_mer, and even names coupures_eau as the place where 'do not drink' advisories live.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete trigger questions («l'eau du robinet est potable à Cilaos?», «on peut se baigner à l'Hermitage?») and an explicit hand-off rule to coupures_eau for in-force 'ne pas boire' advisories. It also states the negative usage rule: never assert a place is shark-free or risk-free, or that a zone is open today — defer to the on-site flag.
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éunionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. | |
| profil | No | Pour qui (« exploitation » = agriculteur) ; par défaut un particulier. |
TDQS
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 domain context: the source is the current prefectoral decree via VigiEau, the levels and affected water categories are enumerated, and the profile-dependent nature of the answer is explained. It stops short of describing data freshness or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in a single dense sentence, followed by example queries that earn their place by clarifying trigger scenarios. It is efficient, though the long sentence packs several lists and could be slightly easier to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with a fully documented two-parameter schema and no output schema, the description covers domain, source, levels, profiles, and default behavior. It implies the returned content (level per commune plus prohibited uses) but could be slightly more explicit about the shape of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly, including location formats, the default whole-island behavior, and the profile enum. The description mostly restates those semantics (whole island when no location; default particulier) without adding new format or interpretation guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (drought-related water restrictions in Réunion), the authoritative source, the levels tracked, the water sources covered, and the prohibited uses. An agent can distinguish it from sibling tools such as coupures_eau or qualite_eau by the drought-restriction framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear example user queries that should trigger the tool, including location-specific and permission questions, and notes that omitting a location returns island-wide results. It does not explicitly say when to prefer a sibling tool like coupures_eau, but the context is clear enough.
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éunionARead-onlyIdempotentInspect
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 ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | Yes | Commune ou lieu de La Réunion (« Saint-Paul », « Boucan Canot », « Cilaos »), rapporté à sa commune. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, non-destructive, so the safety profile is settled. The description adds genuinely non-schema behavior: this is a one-call fan-in across ~15 sources, place names are normalized to their commune, and gaps are surfaced in a non_inclus field naming the tool to call instead. It does not mention latency or partial-source failure, which matters for an aggregator, keeping 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the opening clause and the trigger examples are last, which is the right order. The middle enumeration is long, but each listed domain is load-bearing since it tells the agent what it will and won't receive; only the fuel-price and pharmacy entries feel like padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 must carry the return shape, and it does by listing the covered domains and the non_inclus convention. For an aggregation tool of this breadth it is adequately complete, though it says nothing about how partial failures or stale sub-sources are reported in the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is fully described there, including that a place is 'rapporté à sa commune' with examples. The description repeats that same mapping and adds category examples (plage, quartier, sommet), which is marginal value rather than new semantics. Baseline 3 is appropriate when the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (a 'résumé du jour' for one Réunion commune) and enumerates exactly what it aggregates: measured weather, forecast, vigilance, sea, air quality, electricity, roads, news, water cuts, events, holidays, town hall status, market, déchèteries, fuel prices, on-call pharmacy. That enumeration uniquely distinguishes it from every sibling (meteo_actuelle, vigilance_meteo, actualites, coupures_eau, etc.), which each cover one slice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Pour :' clause gives concrete trigger phrasings ('quoi de neuf à Saint-Paul aujourd'hui ?', 'ma journée au Tampon') that map cleanly onto user intent, and the note that missing items appear in non_inclus with the tool to call routes the agent onward. However, it never states an explicit exclusion (e.g. 'not for historical data or a single-domain deep dive – prefer the dedicated tool'), so the when-not is left 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éARead-onlyIdempotentInspect
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 ? », « la trace GPS du Piton des Neiges ? », « 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. Avec un lieu ou un sentier, aussi les aires d'accueil de l'ONF autour (champ aires_accueil), sous le nom que leur donne l'ONF.
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | 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. | |
| denivele_max_m | No | Dénivelé positif maximal en m (« sans trop de dénivelé » : 400). | |
| longueur_max_km | No | Longueur maximale en km (« une rando de 10 km » : 12 ; « une petite balade » : 5). | |
| longueur_min_km | No | Longueur minimale en km d'une randonnée proposée (« une rando de 10 km » : 8). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read-only, idempotent, open-world lookup, and the description adds substantive policy the schema cannot express: a closed trail is forbidden even with a trace, 'hors gestion ONF' does not mean open, always surface the avertissement field first, and always give the trace_gpx link. It also names a returned side field (aires_accueil).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key facts (what it is, how to scope it, the closure warning) come first, but it is a dense run-on block built from semicolons and parentheticals that packs multiple ideas per sentence. Every clause is relevant, yet the lack of structure makes it slower to parse than needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Four optional parameters, no output schema, and the description compensates by naming the fields an agent will receive (avertissement, trace_gpx, longueur, dénivelé, aires_accueil) and the interpretive rules for interpreting them. Nothing needed to call it correctly or report results is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 goes further by explaining that longueur_min_km, longueur_max_km and denivele_max_m filter both itineraries and individual trails, and by clarifying that lieu accepts a trail, place, cirque or commune and that empty means the whole island.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete resource and scope: ONF-maintained hiking trails and forest roads on Réunion, with open/closed status, closure cause, GPX traces, length and elevation. It also covers OSM itineraries and names the data sources (ONF, préfecture, IGN, OpenStreetMap), which no sibling tool touches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing cues: by trail name, around a place (Maïdo, Piton des Neiges), in a cirque (Mafate, Cilaos, Salazie), by commune, or with no location for all closed trails island-wide, plus three literal example questions. No sibling alternative is named, but none of the listed siblings overlaps this domain.
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éponseARead-onlyIdempotentInspect
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 ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| quoi | No | Un site, une commune ou un thème : « volcan », « eau », « Saint-Joseph ». Vide = toute la liste. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, open-world profile, and the description adds genuinely useful behavior beyond them: daily re-verification, the fact that a site recovering drops out of the list, and the stated limitation that it never explains the cause. It does not describe pagination or list size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph that front-loads the definition before listing contents, caveats, and example phrasings. It is longer than typical but nearly every clause carries information; the enumerated examples could be trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by spelling out the fields returned per site, the freshness guarantee, and the exclusion rule for recovered sites. For a one-optional-parameter read tool with existing annotations, nothing an agent needs is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'quoi' already documents that it accepts a site, commune, or theme and that empty means the whole list. The description adds no further detail about the filter's matching behavior, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (public sites in Réunion that are not responding right now), its refresh cadence, and exactly what each entry contains (since when, last observation in plain words, what is therefore missing on rundata.re). It is clearly distinguishable from every sibling, none of which report site availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Concrete example queries (OVPF, volcano bulletin, Sudéau) make the intended trigger context unmistakable, and 'Ne dit jamais pourquoi un site se tait' sets an explicit boundary on what the tool will not answer. No sibling is named as an alternative, so it stops short of the top score.
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éesARead-onlyIdempotentInspect
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, les dernières nouveautés, et rundata.re en chiffres (sources, producteurs, licences, stations, défibrillateurs, sentiers). Pour : « d'où viennent tes données ? », « combien de sources lit rundata.re ? », « c'est open data ? ». À appeler avant de conclure qu'un outil ou une donnée n'existe pas.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, openWorld and non-destructive, so the safety profile is settled. The description adds that this is a self-describing catalogue including coverage gaps and recent changes, which tells the agent what kind of content to expect. It does not state response shape or size, but with no output schema this remains a minor gap for a zero-argument metadata read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded with the resource definition, then examples, then the key routing rule. The first sentence is a long run-on enumeration of contents, dense but each item earns its place by telling the agent what it can look up.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema catalogue tool, the description is nearly sufficient: it covers contents, example intents, and the anti-hallucination use case. Only the freshness/authority of the "liste à jour" and the response format are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to disambiguate. It correctly implies a parameterless, whole-catalogue read.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates exactly what the tool returns: source organism, licence, attribution, coverage gaps, current tool list, recent additions, and aggregate counts (sources, producers, licences, stations, defibrillators, trails). This clearly separates it from the 28 domain-data siblings, which return measurements, not catalogue metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives three concrete trigger questions ("d'où viennent tes données ?", "combien de sources lit rundata.re ?", "c'est open data ?") and an explicit exclusion rule: call it before concluding that a tool or dataset does not exist. That is a real when-to-use / when-not-to-conclude directive, not just context.
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 RaidARead-onlyIdempotentInspect
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, 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 régates et le golf ne sont pas repris : la réponse dit pourquoi. Pour : « match de hand ce week-end à Saint-Pierre ? », « prochain rallye ? », « qui a gagné le Grand Raid ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Une 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. | |
| quand | No | « aujourd_hui », « demain », « samedi » ou « dimanche » (le prochain), « ce_week_end », « a_venir » (14 jours) ou « resultats » ; vide = les deux. | |
| sport | No | Le sport ; vide = tous. « football » et « basket » renvoient l'actualité seulement (pas de résultats officiels lus). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world, and non-destructive behavior. The description adds useful behavioral context beyond annotations: municipal sports programs are returned as links without their content, and excluded topics produce an explanation rather than silence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and somewhat long, but it is front-loaded with the core sport resource and stays focused on scope, exclusions, and examples. Most details earn their place for a broad multi-sport tool, though the single run-on sentence reduces scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool’s breadth and lack of an output schema, the description is quite complete: it covers covered sports, excluded topics, link-only municipal documents, and representative query patterns. Minor gaps remain around return format and how multi-sport or multi-location results are combined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the parameter descriptions already explain lieu, quand, sport, enum values, and empty-value defaults. The main description reinforces some semantics with examples like VBSP = Volley-Ball de Saint-Pierre, but does not add much parameter guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 matches, results, cancellations, standings, motorsport, Grand Raid, and municipal sports programs in La Réunion. It also explicitly says what is excluded (regattas and golf) and gives example user questions, so an agent can distinguish it from general news or events tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is clearly framed through example queries such as « match de hand ce week-end à Saint-Pierre ? » and « qui a gagné le Grand Raid ? ». Exclusions are explicit for regattas and golf, and football/basket are limited to news only, though no sibling tool alternatives are named.
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éunionARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuine behavioral context beyond that: the measurement is satellite-derived and carries its own date and distance, the forecast is a 4-day model, and results arrive in two separate blocks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The scope and the measured/forecast split are front-loaded before the quoted example queries. It is dense but every element (data source, horizon, output layout) earns its place; the three examples are slightly redundant but useful for intent matching.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 fully by explaining that results come in two separate blocks and what each contains (measurement with date and distance; wave height, period, direction). An agent knows what to expect before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 (commune, beach, coordinates, empty = whole island) is fully documented there. The description only reinforces that the location should be coastal/beach-adjacent, adding marginal meaning 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (sea temperature and swell in La Réunion) and separates two distinct data products: satellite-MEASURED water temperature and model-FORECAST waves. That distinction alone differentiates it from siblings like maree, prevision_meteo and meteo_actuelle, which do not focus on sea state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Concrete example phrasings ('la mer est à combien à Saint-Leu ?', 'ça surfe à Saint-Pierre demain ?') make the triggering context very clear, and the measured-vs-forecast split tells the agent which question maps to which data. It stops short of explicitly naming when not to use it or which sibling to prefer for generic weather.
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éunionARead-onlyIdempotentInspect
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 ? ».
| Name | Required | Description | Default |
|---|---|---|---|
| lieu | No | Nom d'une station (« IUT », « Front de mer »), un lieu ou une commune (« Saint-Pierre », « plage de l'Étang-Salé »). Vide = tout le réseau. |
TDQS
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 adds two genuinely useful facts not in the annotations: the data is live ("en direct") and the coverage is limited to Saint-Pierre, Saint-Louis and L'Étang-Salé. It says nothing about refresh cadence, outage behavior, or result ordering beyond "les plus proches".
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence covers resource, coverage area, and payload, followed by three example phrasings introduced by "Pour :". Front-loading is good and there is little waste, though the sentence is long and the list of commune names inside parentheses adds bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the return shape and does so — per-station bike count, free dock count, and nearest-station results. Combined with annotations and full schema coverage, an agent has enough to call it correctly. Only freshness/refresh and ordering details are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single optional `lieu` parameter is documented as accepting a station name, place, or commune with empty meaning the whole network. The description adds meaning beyond that by revealing the behavioral effect of the parameter — supplying a place yields the nearest stations, i.e. a proximity ranking rather than a strict filter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (Altervélo self-service e-bikes) and states exactly what is returned per station: bikes available and free docks, plus the nearest stations to a place. It is far more specific than the title alone. It never distinguishes itself from the sibling `transports`, which an agent could plausibly confuse with bike-share availability, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Three quoted example questions ("il reste des vélos à la station IUT?", "où prendre un vélo près du front de mer", "je peux rendre mon vélo au pôle d'échanges") make the intended triggering contexts concrete, including both availability and return-capacity use cases. There is no explicit exclusion or named alternative, which keeps it out of 5 territory.
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éunionARead-onlyIdempotentInspect
É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 ? », « il y a eu un séisme ? ».
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 substantive behavioral context beyond that: the earthquake window is explicitly 30 days, results can be broken down by day and by area (under the volcano vs. elsewhere on the island), and the source is OVPF-IPGP. It stops short of describing freshness/update cadence or the response shape, hence 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense front-loaded sentence delivers the resource and its full content inventory, followed by a short intent-mapping clause. The enumeration is long but each item is a distinct returned field an agent would otherwise have to guess at, so it earns its space; slight trimming of the ORSEC parenthetical would tighten it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 burden of explaining return content — and it does, listing eruption status, ORSEC level, access conditions, publications, and earthquake coverage. It leaves unanswered only secondary details like update frequency and exact formatting for the per-day earthquake breakdown.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 and there is nothing for the description to compensate for. It correctly presents the tool as a parameter-free status query rather than suggesting any filtering options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Piton de la Fournaise volcano status and Réunion earthquakes) and enumerates the exact content returned: eruption status, ORSEC level, last eruption date, Enclos Fouqué access, OVPF publications, and the last 30 days of earthquakes. No sibling tool covers volcano or seismic data, so it is clearly distinguishable from the weather/water/traffic tools in the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing clause maps concrete user intents to the tool ("le volcan est en éruption ?", "on peut monter au volcan ?", "il y a eu un séisme ?"), which is strong guidance for intent routing. It does not state exclusions or name alternatives, but no sibling overlaps this domain, 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
27 tool updates
v0.203.95- Changed
actualites4 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / heures / descriptionPrevious value: -"Depuis combien d'heures (1 à 72, 24 par défaut). / How many hours back (1-72, default 24)."New value: +"Depuis combien d'heures (1 à 72, 24 par défaut)." - changed
Input schema / properties / lieu / descriptionPrevious value: -"Une 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."New value: +"Une commune ou un lieu (« Saint-Pierre », « Ravine des Cabris », « Saint-Gilles ») : les informations qui le nomment. Vide = toute l'île." - changed
Input schema / properties / sujet / descriptionPrevious 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."
- Changed
annuaire_services_publics3 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île." - changed
Input schema / properties / quoi / descriptionPrevious 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'."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."
- Changed
bornes_recharge3 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"Un 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."New value: +"Un lieu ou une commune (« Saint-Gilles-les-Bains », « Le Tampon », « aéroport Roland-Garros »). Vide = toute l'île." - changed
Input schema / properties / rapide / descriptionPrevious value: -"Seulement la recharge rapide (50 kW ou plus). / Fast charging only (50 kW or more)."New value: +"Seulement la recharge rapide (50 kW ou plus)."
- Changed
calendrier2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île."
- Changed
coupures_eau2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île."
- Changed
crues_rivieres2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"Une 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."New value: +"Une rivière (« rivière des Galets », « ravine Saint-Gilles ») ou un lieu (« Salazie », « Saint-Benoît ») pour les stations proches. Vide = toute l'île."
- Changed
cyclones3 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / properties / lieuRemoved 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" -} - changed
Input schema / properties / nom / descriptionPrevious 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."
- Changed
defibrillateurs2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île."
- Changed
donner_avis6 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"Le lieu concerné (« Cilaos », « plage de l'Hermitage »). / The place concerned."New value: +"Le lieu concerné (« Cilaos », « plage de l'Hermitage »)." - changed
Input schema / properties / message / descriptionPrevious value: -"L'avis, en quelques phrases (1000 caractères au plus), sans donnée personnelle. / The feedback, no personal data."New value: +"L'avis, en quelques phrases (1000 caractères au plus), sans donnée personnelle." - changed
Input schema / properties / outil / descriptionPrevious value: -"L'outil concerné (« meteo_actuelle », « transports »…). / The tool concerned."New value: +"L'outil concerné (« meteo_actuelle », « transports »…)." - changed
Input schema / properties / question_utilisateur / descriptionPrevious value: -"La question de l'utilisateur, reformulée sans rien de personnel. / The user's question, paraphrased, nothing personal."New value: +"La question de l'utilisateur, reformulée sans rien de personnel." - changed
Input schema / properties / type / descriptionPrevious value: -"« manque » (donnée absente), « erreur » (valeur fausse ou périmée), « suggestion », « bravo ». / missing, wrong, suggestion, praise."New value: +"« manque » (donnée absente), « erreur » (valeur fausse ou périmée), « suggestion », « bravo »."
- Changed
electricite2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île."
- Changed
evenements5 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / properties / adherentRemoved 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" -} - changed
Input schema / properties / lieu / descriptionPrevious value: -"Une 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."New value: +"Une commune ou un lieu (« Saint-Paul », « Saint-Gilles ») : les événements de sa commune. Vide = toute l'île." - changed
Input schema / properties / quand / descriptionPrevious 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." - changed
Input schema / properties / quoi / descriptionPrevious 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."
- Changed
fiche_terrain2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / adresse / descriptionPrevious value: -"Adresse (« 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'."New value: +"Adresse (« 7 rue de la Buse, Saint-Paul »), lieu-dit (« Bois de Nèfles ») ou coordonnées « -21.0, 55.27 »."
- Changed
historique_meteo6 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / au / descriptionPrevious value: -"Fin, 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."New value: +"Fin, même format. Pour « cette nuit » ou « ce matin », la date d'aujourd'hui." - changed
Input schema / properties / detail / descriptionPrevious 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." - changed
Input schema / properties / du / descriptionPrevious value: -"Dé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."New value: +"Dé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." - changed
Input schema / properties / jours / descriptionPrevious value: -"Les N derniers jours jusqu'à hier (30 par défaut). / The last N days up to yesterday (default 30)."New value: +"Les N derniers jours jusqu'à hier (30 par défaut)." - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île."
- Changed
maree2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"Un 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."New value: +"Un lieu de la côte (« Le Port », « Saint-Gilles », « Sainte-Marie ») pour le marégraphe le plus proche. Vide = les deux."
- Changed
meteo_actuelle1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
prevision_meteo1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
qualite_air2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île."
- Changed
qualite_eau3 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / eau / descriptionPrevious 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." - changed
Input schema / properties / lieu / descriptionPrevious value: -"Commune, quartier, plage ou bassin (« Ravine des Cabris », « plage de l'Hermitage », « bassin Bleu »). / A town, district, beach or river pool."New value: +"Commune, quartier, plage ou bassin (« Ravine des Cabris », « plage de l'Hermitage », « bassin Bleu »)."
- Changed
restrictions_eau3 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île." - changed
Input schema / properties / profil / descriptionPrevious 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."
- Changed
resume_du_jour2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"Commune ou lieu de La Réunion (« Saint-Paul », « Boucan Canot », « Cilaos »), rapporté à sa commune. / Commune or place in Réunion."New value: +"Commune ou lieu de La Réunion (« Saint-Paul », « Boucan Canot », « Cilaos »), rapporté à sa commune."
- Changed
sentiers_randonnee5 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / denivele_max_m / descriptionPrevious value: -"Dénivelé positif maximal en m (« sans trop de dénivelé » : 400). / Maximum elevation gain, m."New value: +"Dénivelé positif maximal en m (« sans trop de dénivelé » : 400)." - changed
Input schema / properties / lieu / descriptionPrevious 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." - changed
Input schema / properties / longueur_max_km / descriptionPrevious 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)." - changed
Input schema / properties / longueur_min_km / descriptionPrevious value: -"Longueur minimale en km d'une randonnée proposée (« une rando de 10 km » : 8). / Minimum length, km."New value: +"Longueur minimale en km d'une randonnée proposée (« une rando de 10 km » : 8)."
- Changed
sites_sans_reponse2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / quoi / descriptionPrevious value: -"Un 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."New value: +"Un site, une commune ou un thème : « volcan », « eau », « Saint-Joseph ». Vide = toute la liste."
- Changed
sources_donnees1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
- Changed
sport5 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / properties / adherentRemoved 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" -} - changed
Input schema / properties / lieu / descriptionPrevious value: -"Une 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."New value: +"Une 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." - changed
Input schema / properties / quand / descriptionPrevious 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." - changed
Input schema / properties / sport / descriptionPrevious 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)."
- Changed
temperature_mer2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"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."New value: +"Lieu à La Réunion : commune, plage, quartier, cirque, sommet, ou coordonnées « -21.05, 55.22 ». Vide = toute l'île."
- Changed
velos_libre_service2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - changed
Input schema / properties / lieu / descriptionPrevious value: -"Nom 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."New value: +"Nom d'une station (« IUT », « Front de mer »), un lieu ou une commune (« Saint-Pierre », « plage de l'Étang-Salé »). Vide = tout le réseau."
- Changed
volcan_seismes1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
10 tool updates
v0.190.11- Changed
actualites1 field changed- changed
Input schema / properties / sujet / descriptionPrevious 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."
- Changed
annuaire_services_publics1 field changed- changed
Input schema / properties / quoi / descriptionPrevious 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'."
- Changed
cyclones1 field changed- changed
Input schema / properties / nom / descriptionPrevious 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."
- Changed
evenements3 fields changed- added
Input schema / properties / adherentAdded 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" +} - changed
Input schema / properties / quand / descriptionPrevious 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." - changed
Input schema / properties / quoi / descriptionPrevious 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."
- Changed
historique_meteo1 field changed- changed
Input schema / properties / detail / descriptionPrevious 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."
- Changed
qualite_eau1 field changed- changed
Input schema / properties / eau / descriptionPrevious 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."
- Changed
restrictions_eau1 field changed- changed
Input schema / properties / profil / descriptionPrevious 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."
- Changed
sentiers_randonnee2 fields changed- changed
Input schema / properties / lieu / descriptionPrevious 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." - changed
Input schema / properties / longueur_max_km / descriptionPrevious 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."
- Added
sites_sans_reponse - Changed
sport3 fields changed- added
Input schema / properties / adherentAdded 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" +} - changed
Input schema / properties / quand / descriptionPrevious 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." - changed
Input schema / properties / sport / descriptionPrevious 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."
1 tool update
v0.140.0- Changed
cyclones1 field changed- changed
Input schema / properties / nom / descriptionPrevious 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."
18 tool updates
v0.128.0- Added
actualites - Changed
annuaire_services_publics1 field changed- changed
Input schema / properties / quoi / descriptionPrevious 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'."
- Added
bornes_recharge - Added
coupures_eau - Added
crues_rivieres - Added
cyclones - Added
defibrillateurs - Added
donner_avis - Changed
electricite1 field changed- added
Input schema / properties / lieuAdded 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" +}
- Added
evenements - Added
historique_meteo - Added
maree - Added
qualite_eau - Added
restrictions_eau - Added
resume_du_jour - Added
sentiers_randonnee - Added
sport - Added
velos_libre_service
10 tool updates
v0.1.0- First observed
annuaire_services_publics - First observed
calendrier - First observed
electricite - First observed
fiche_terrain - First observed
meteo_actuelle - First observed
prevision_meteo - First observed
qualite_air - First observed
sources_donnees - First observed
temperature_mer - First observed
volcan_seismes
TDQS
Scored across 27 tools
Most tools map to clearly distinct domains (now-weather vs forecast vs history, tides vs sea temperature, water quality vs outages vs drought restrictions), and the descriptions explicitly cross-reference each other to steer selection. The main fuzzy spots are resume_du_jour, which aggregates a dozen other tools' outputs, and annuaire_services_publics, which bundles unrelated things (mairies, fuel prices, pharmacies, markets, waste, kids' venues) behind a generic 'quoi' parameter.
Every name is lowercase snake_case French, but the convention is noun-phrase rather than verb_noun, and modifier ordering is not fully regular (meteo_actuelle / prevision_meteo / historique_meteo, temperature_mer, qualite_air vs qualite_eau). donner_avis is the lone verb-style name in an otherwise noun-based set.
27 tools is heavy, though the scope (all live data for an island: weather, sea, volcano, water, energy, mobility, civic life) is correspondingly broad and most tools have a distinct data source. A few are catch-all aggregators (resume_du_jour, annuaire_services_publics) that inflate surface area and could be split or trimmed.
Coverage is unusually thorough: weather now/past/future, sea state, tides, cyclones, volcano and seismicity, rivers and floods, air and water quality, water restrictions and outages, energy, EV chargers, bike share, hiking trails, land/risk records, public services, events, sport, news, plus meta tools for sources and dead upstream sites. Remaining gaps are minor and workaround-able (no dedicated traffic/transit tool, road status only surfaces inside actualites).
Maintenance
Related MCP Connectors
Research La Réunion with cited sources, inspect changes, and contribute documented corrections.
Swiss weather data for AI assistants — forecasts, measurements, stations, pollen.
US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.
US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides real-time weather information and forecasts, connecting AI assistants with live weather data for current conditions and multi-day forecasts for any location worldwide.-
- FlicenseNot gradedqualityDmaintenanceEnables 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.-
- AlicenseNot gradedqualityAmaintenanceProvides 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.4Creative Commons Zero v1.0 Universal
- AlicenseNot gradedqualityDmaintenanceProvides 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.12 npmMIT