Serveur Open-Meteo MCP

npm versionGitHub release

Un serveur complet de protocole de contexte de modèle (MCP) qui fournit un accès aux API météorologiques d'Open-Meteo pour l'utilisation de grands modèles de langage.

Caractéristiques

Ce serveur MCP fournit un accès complet aux API d'Open-Meteo, y compris :

API météorologiques de base

  • Prévisions météor ologiques(weather_forecast) - Prévisions à 7 jours avec résolution horaire et journalière
  • Archives météorologiques(weather_archive) - Données historiques ERA5 de 1940 à aujourd'hui
  • Qualité de l'air(air_quality) - PM2.5, PM10, ozone, dioxyde d'azote et autres polluants
  • Météo marine(marine_weather) - Hauteur des vagues, période des vagues, direction des vagues et température de surface de la mer
  • Élévation(elevation) - Données du modèle numérique d'élévation pour des coordonnées données
  • Géocodage(geocoding) - Recherche de lieux dans le monde entier par nom ou code postal, obtention de coordonnées et d'informations détaillées sur les lieux

Modèles météorologiques spécialisés

  • DWD ICON(dwd_icon_forecast) - Modèle haute résolution du service météorologique allemand pour l'Europe
  • NOAA GFS(gfs_forecast) - Modèle global du service météorologique américain avec des données à haute résolution pour l'Amérique du Nord
  • Météo-France(meteofrance_forecast) - Modèles AROME et ARPEGE du service météorologique français
  • ECMWF(ecmwf_forecast) - Centre européen pour les prévisions météorologiques à moyen terme
  • JMA(jma_forecast) - Modèle haute résolution de l'Agence météorologique japonaise pour l'Asie
  • MET Norway(metno_forecast) - Service météorologique norvégien pour les pays nordiques
  • Environnement Canada GEM(gem_forecast) - Modèle du service météorologique canadien

Outils de prévision avancés

  • Flood Fore cast(flood_forecast) - Débit fluvial et prévisions d'inondation du GloFAS (Global Flood Awareness System)
  • Prévisions saisonnières(seasonal_forecast) - Prévisions à long terme jusqu'à 9 mois
  • Projections climatiques(climate_projection) - Projections du changement climatique CMIP6 pour différents scénarios de réchauffement
  • Prévisions d'ensemble(ensemble_forecast) - Multiples simulations de modèles montrant l'incertitude des prévisions

Installation

Méthode 1 : Utilisation de npx (Recommandé)

Aucune installation n'est nécessaire ! Le serveur fonctionnera directement via npx.

Méthode 2 : Installation globale via npm

npm install -g open-meteo-mcp-server

Méthode 3 : A partir des sources (Développement)

# Cloner le dépôt git clone https://github.com/cmer81/open-meteo-mcp.git cd open-meteo-mcp # Installer les dépendances npm install # Construire le projet npm run build

Configuration du projet

Configuration du bureau de Claude

Configuration simple (recommandée)

Ajoutez la configuration suivante au fichier de configuration de votre Claude Desktop :

{ "mcpServers" : { "open-meteo" : { "command" : "npx", "args" : ["open-meteo-mcp-server"] } } }

Configuration complète (avec variables d'environnement)

{ "mcpServers" : { "open-meteo" : { "command" : "npx", "args" : ["open-meteo-mcp-server"], "env" : { "OPEN_METEO_API_URL" : "https://api.open-meteo.com", "OPEN_METEO_AIR_QUALITY_API_URL" : "https://air-quality-api.open-meteo.com", "OPEN_METEO_MARINE_API_URL" : "https://marine-api.open-meteo.com", "OPEN_METEO_ARCHIVE_API_URL" : "https://archive-api.open-meteo.com", "OPEN_METEO_SEASONAL_API_URL" : "https://seasonal-api.open-meteo.com", "OPEN_METEO_ENSEMBLE_API_URL" : "https://ensemble-api.open-meteo.com", "OPEN_METEO_GEOCODING_API_URL" : "https://geocoding-api.open-meteo.com" } } }

Configuration du développement local

Si vous développez localement ou si vous avez installé le logiciel à partir des sources :

{ "mcpServers" : { "open-meteo" : { "command" : "node", "args" : ["/path/to/open-meteo-mcp/dist/index.js"], "env" : {"OPEN_METEO_API_URL" : "https://api.open-meteo.com", "OPEN_METEO_AIR_QUALITY_API_URL" : "https://air-quality-api.open-meteo.com", "OPEN_METEO_MARINE_API_URL" : "https://marine-api.open-meteo.com", "OPEN_METEO_ARCHIVE_API_URL" : "https://archive-api.open-meteo.com", "OPEN_METEO_SEASONAL_API_URL" : "https://seasonal-api.open-meteo.com", "OPEN_METEO_ENSEMBLE_API_URL" : "https://ensemble-api.open-meteo.com", "OPEN_METEO_GEOCODING_API_URL" : "https://geocoding-api.open-meteo.com" } } }

Configuration personnalisée de l'instance

Si vous utilisez votre propre instance Open-Meteo :

{ "mcpServers" : { "open-meteo" : { "command" : "npx", "args" : ["open-meteo-mcp-server"], "env" : { "OPEN_METEO_API_URL" : "https://your-meteo-api.example.com", "OPEN_METEO_AIR_QUALITY_API_URL" : "https://air-quality-api.example.com", "OPEN_METEO_MARINE_API_URL" : "https://marine-api.example.com", "OPEN_METEO_ARCHIVE_API_URL" : "https://archive-api.example.com", "OPEN_METEO_SEASONAL_API_URL" : "https://seasonal-api.example.com", "OPEN_METEO_ENSEMBLE_API_URL" : "https://ensemble-api.example.com", "OPEN_METEO_GEOCODING_API_URL" : "https://geocoding-api.example.com" } } }

Variables d'environnement

Toutes les variables d'environnement sont facultatives et ont des valeurs par défaut raisonnables :

Exemples d'utilisation

Géocodage et recherche de lieux

Trouver les coordonnées de Paris, France
Recherche de lieux nommés "Berlin" et retour des 5 premiers résultats
Quelles sont les coordonnées du code postal 75001 ?
Recherche de "Lyon" en France uniquement (countryCode : FR) avec des résultats en français (langue : fr)
Trouver toutes les villes nommées "London" au Royaume-Uni avec des descriptions en anglais

Prévisions météorologiques de base

Pouvez-vous me donner les prévisions météorologiques pour Paris (48.8566, 2.3522) avec la température, l'humidité et les précipitations pour les 3 prochains jours ?

Données météorologiques historiques

Quelles étaient les températures à Londres en janvier 2023 ?

Surveillance de la qualité de l'air

Quelle est la qualité actuelle de l'air à Pékin avec les niveaux de PM2.5 et d'ozone ?

Météo marine

Obtenez-moi la hauteur des vagues et la température de surface de la mer pour les coordonnées 45.0, -125.0 pour les 5 prochains jours

Surveillance des inondations

Consultez les prévisions de débit du fleuve pour les coordonnées 52.5, 13.4 pour les 30 prochains jours

Projections climatiques

Montrez-moi les projections de température pour New York de 2050 à 2070 en utilisant les modèles CMIP6

Paramètres API

Paramètres requis

  • latitude: Latitude dans le système de coordonnées WGS84 (-90 à 90)
  • longitude: Longitude dans le système de coordonnées WGS84 (-180 à 180)

Variables météorologiques horaires

  • temperature_2m: Température à 2 mètres
  • relative_humidity_2m: Humidité relative
  • precipitation: Précipitation
  • wind_speed_10m: Vitesse du vent à 10 mètres
  • wind_direction_10m: Direction du vent
  • pressure_msl: Pression au niveau moyen de la mer
  • cloud_cover: Pourcentage de couverture nuageuse
  • weather_code: Code des conditions météorologiques
  • visibility: Visibilité
  • uv_index: Indice UV
  • Et bien d'autres encore...

Variables météorologiques quotidiennes

  • temperature_2m_max/min: Températures maximales/minimales
  • precipitation_sum: Total des précipitations
  • wind_speed_10m_max: Vitesse maximale du vent
  • sunrise/sunset: Heures de lever et de coucher du soleil
  • weather_code: Code des conditions météorologiques
  • uv_index_max: Indice UV maximal

Variables de la qualité de l'air

  • pm10: Particules PM10
  • pm2_5: particules PM2.5
  • carbon_monoxide: Monoxyde de carbone
  • nitrogen_dioxide: Dioxyde d'azote
  • ozone: Ozone
  • sulphur_dioxide: Dioxyde de soufre
  • ammoniaque: Ammoniaque
  • dust: Particules de poussière

Variables météorologiques marines

  • wave_height: Hauteur des vagues
  • wave_direction: Direction des vagues
  • wave_period: Période de la vague
  • wind_wave_height: Hauteur de la vague de vent
  • swell_wave_height: Hauteur de la houle
  • sea_surface_temperature: Température de surface de la mer

Options de formatage

  • temperature_unit: celsius, fahrenheit
  • wind_speed_unit: kmh, ms, mph, kn
  • precipitation_unit: mm, inch
  • timezone: Europe/Paris, Amérique/New_York, etc.

Options d'intervalle de temps

  • forecast_days: Nombre de jours de prévision (varie selon l'API)
  • past_days: Inclure les données des jours précédents
  • start_date / end_date: Plage de dates pour les données historiques (format AAAA-MM-JJ)

Scripts de développement

# Développement avec auto-rechargement npm run dev # Construction TypeScript npm run build # Démarrage du serveur de production npm start # Exécution des tests npm test # Vérification de type npm run typecheck # Linting npm run lint

Structure du projet

src/ ├── index.ts # point d'entrée du serveur MCP ├── client.ts # client HTTP pour l'API Open-Meteo ├── tools.ts # définitions des outils MCP └── types.ts # schémas de validation Zod

Couverture de l'API

Ce serveur fournit un accès à tous les principaux points de terminaison d'Open-Meteo :

Données météorologiques

  • Conditions météorologiques actuelles
  • Prévisions horaires (jusqu'à 16 jours)
  • Prévisions journalières (jusqu'à 16 jours)
  • Données météorologiques historiques (1940-présent)

Modèles spécialisés

  • Modèles régionaux à haute résolution (DWD ICON, Météo-France AROME)
  • Modèles mondiaux (NOAA GFS, ECMWF)
  • Spécialistes régionaux (JMA pour l'Asie, MET Norway pour les pays nordiques)

Données environnementales

  • Prévisions de la qualité de l'air
  • Conditions marines et océaniques
  • Débit des cours d'eau et alertes aux inondations
  • Projections sur le changement climatique

Fonctionnalités avancées

  • Prévisions d'ensemble pour la quantification de l'incertitude
  • Prévisions saisonnières pour la planification à long terme
  • Comparaison de plusieurs modèles
  • Unités et fuseaux horaires personnalisables

Gestion des erreurs

Le serveur fournit une gestion complète des erreurs avec des messages d'erreur détaillés pour :

  • Coordonnées non valides
  • Paramètres requis manquants
  • Limites de débit de l'API
  • Problèmes de connectivité réseau
  • Plages de dates non valides

Performances

  • Client HTTP efficace avec mise en commun des connexions
  • Mise en cache des requêtes pour les requêtes répétées
  • Sérialisation optimisée des données
  • Empreinte mémoire minimale

Documentation de l'API

Pour une documentation détaillée de l'API, reportez-vous au fichier openapi.yml et à la documentation de l'API Open-Meteo.

Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.

Configuration du développement

  1. Créer un dépôt (fork)
  2. Clonez votre fork : git clone https://github.com/your-username/open-meteo-mcp.git
  3. Installer les dépendances : npm install
  4. Créez une branche de fonctionnalités : git checkout -b feature/amazing-feature
  5. Effectuez vos modifications et ajoutez des tests
  6. Exécutez les tests : npm test
  7. Validez vos modifications : git commit -m 'Add amazing feature' (ajouter une fonctionnalité étonnante)
  8. Pousser vers la branche : git push origin feature/amazing-feature
  9. Ouvrir une demande de retrait

Publication

Ce projet utilise des versions automatisées via GitHub Actions. Pour créer une nouvelle version :

# Pour une version patch (1.0.0 -> 1.0.1) npm run release:patch # Pour une version mineure (1.0.0 -> 1.1.0) npm run release:minor # Pour une version majeure (1.0.0 -> 2.0.0) npm run release:major

L'action GitHub va automatiquement :

  • Exécuter les tests et construire le projet
  • Publier sur npm avec la provenance
  • Créer une version GitHub
  • Mettre à jour les badges de version

Licence

MIT

Liés dans Service en nuage - MCP Servers sécurisés

ServeurRésuméActions
Alibaba Cloud OpsVoir
Slide MCP ServerUne mise en œuvre du serveur MCP qui s'intègre à l'API Slide, offrant des capacités complètes de ges...Voir
Démonstration de géolocalisationCe projet montre comment utiliser EdgeOne Pages Functions pour récupérer les informations de géoloca...Voir
Meraki Magic MCPMeraki Magic est un serveur MCP (Model Context Protocol) basé sur Python pour le Meraki Dashboard de...Voir
Joe SandboxUn serveur Model Context Protocol (MCP) pour interagir avec Joe Sandbox Cloud. Ce serveur expose de...Voir
AppwriteVoir