GribStream

Blog GribStream

Utiliser GribStream depuis ChatGPT, Claude et Gemini avec MCP

|

Le nouveau connecteur MCP de GribStream aide les outils d'IA à transformer des questions météorologiques en requêtes API validées pour des datasets comme GFS, IFS et NBM.

Les bonnes questions météorologiques commencent rarement sous forme de requête API.

Elles ressemblent plutôt à ceci :

À quoi ressembleront le vent et l'humidité à Lisbonne demain ?

ou :

Montre-moi ce que disaient les trois derniers runs du modèle pour ces mêmes heures.

Le nouveau connecteur MCP de GribStream sert précisément à cette étape intermédiaire : transformer une question météorologique en requête GribStream exacte, prête à exécuter. Vous pouvez configurer ChatGPT, Claude, Gemini CLI ou tout autre client compatible MCP avec :

https://gribstream.com/mcp

Le connecteur est en lecture seule. Il n'exécute ni /timeseries ni /runs, et il ne nécessite pas de token API GribStream. Il expose plutôt le catalogue et les outils de construction de requêtes dont un outil d'IA a besoin pour préparer une requête que vous pouvez ensuite exécuter avec l'API normale.

L'IA peut ainsi aider avec des questions comme :

  • Quels datasets GribStream prend-il en charge, et comment le vérifier ?
  • Comment obtenir température, vent et humidité pour Lisbonne demain ?
  • Pouvez-vous transformer cette requête ponctuelle en requête en mode grille de 0,5 degré couvrant le Portugal ?
  • À quoi ressemblait la prévision disponible il y a 18 heures ?
  • Comment interroger les trois derniers runs du modèle pour ces mêmes heures valides ?
  • Pouvez-vous passer la requête de GFS à IFS Operational et corriger les sélecteurs ?

Le résultat est une requête API GribStream normale : un curl, un body JSON, des headers HTTP et une explication de ce qui a changé.

Pourquoi c'est utile

Une requête de prévision peut paraître raisonnable et être quand même fausse.

Un outil d'IA peut comprendre "vitesse du vent à 10 mètres", mais ce n'est pas toujours un champ unique dans la sortie brute du modèle. Il faut parfois la dériver à partir des composantes U et V du vent. Il peut reconnaître "température à 2 mètres" tout en choisissant le mauvais sélecteur pour un dataset précis. Il peut produire du JSON qui semble valide, mais confondre heures valides et heures de run du modèle.

Le connecteur MCP expose les pièces nécessaires pour éviter ces erreurs :

  • métadonnées des datasets
  • noms exacts des paramètres et variations de sélecteurs
  • paramètres partagés comme temperature_2m, wind_speed_10m et relative_humidity_2m
  • syntaxe des expressions et fonctions mathématiques supportées
  • constructeurs de requêtes pour /timeseries et /runs
  • validation de la requête avant l'interrogation des données

Cela s'appuie sur les endpoints publics de catalogue que nous avons publiés plus tôt ce mois-ci.

Le flux de travail

Le MCP hébergé aide l'IA à construire la requête. L'API GribStream normale continue de l'exécuter.

Pour l'accès direct aux données, vous utilisez toujours :

  • POST /api/v2/{dataset}/timeseries pour la meilleure valeur disponible par heure valide
  • POST /api/v2/{dataset}/runs pour l'historique des runs et les requêtes d'âge de la prévision (Forecast Aging)

Si vous utilisez un outil local de développement avec IA capable d'exécuter des commandes shell, définissez votre token dans l'environnement :

export GRIBSTREAM_API_TOKEN='YOUR_TOKEN_HERE'

L'outil d'IA peut alors utiliser le MCP pour construire la requête et utiliser le token pour exécuter l'appel API normal.

Pour les outils web comme ChatGPT ou Claude, le MCP hébergé est surtout une couche de découverte et de construction de requêtes. Il peut produire la requête à exécuter ; l'interrogation des données reste un appel authentifié normal vers GribStream.

Passer de la conversation à l'analyse

Un effet utile est que l'analyse météorologique peut devenir plus conversationnelle.

Avec un outil d'IA compatible MCP, vous pouvez commencer large :

Quels modèles GribStream prend-il en charge pour les prévisions globales ?

Puis préciser la tâche :

Construisez une requête pour température, vitesse du vent et humidité relative à Lisbonne demain.

Puis changer la géométrie :

Transformez-la en requête en mode grille couvrant le Portugal à 0,5 degré.

Puis passer au backtesting :

À quoi cela aurait-il ressemblé si j'avais utilisé seulement les prévisions disponibles il y a 18 heures ?

Puis changer d'Endpoint :

Donnez-moi les trois derniers runs qui prévoyaient ces mêmes heures valides.

Puis comparer les modèles :

Maintenant, faites la même chose avec IFS au lieu de GFS.

À partir de là, un outil local d'IA avec un token GribStream configuré peut exécuter les requêtes et analyser le résultat : comparer des modèles, calculer l'erreur absolue moyenne par rapport à un dataset d'analyse, rechercher des seuils ou résumer où deux modèles divergent le plus.

Cela ne remplace pas une analyse météorologique rigoureuse. Cela supprime beaucoup de travail mécanique entre la question et le premier dataset exploitable.

Configuration

Les instructions de configuration sont sur la nouvelle page GribStream pour les outils d'IA.

À haut niveau :

  • ChatGPT : ajoutez un connecteur MCP personnalisé avec Streamable HTTP et https://gribstream.com/mcp.
  • Claude : ajoutez un connecteur personnalisé avec l'URL https://gribstream.com/mcp.
  • Gemini CLI : ajoutez https://gribstream.com/mcp comme serveur MCP dans ~/.gemini/settings.json.

La même page renvoie aussi vers le fichier skill GribStream indépendant du fournisseur, la spécification OpenAPI, le Démarrage rapide et le guide des expressions.

Et ensuite

Les exemples écrits sont utiles, mais ce type de fonctionnalité se comprend mieux quand on la voit fonctionner.

Une courte vidéo serait une bonne prochaine étape : connecter le MCP, demander à une IA de construire une requête, l'exécuter avec un token, puis itérer vers une petite comparaison de modèles ou une analyse d'erreur.

Pour l'instant, le connecteur est disponible ici :

https://gribstream.com/mcp

Et la page de configuration pour l'IA est ici :