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
Espaces d'étreinte[!TIP]Voir
Serveur Okta MCPCette version représente une refonte complète de l'architecture avec ces améliorations clés :Voir
Annonces CData sur LinkedInLe serveur Model Context Protocol (MCP) de CData pour les publicités LinkedInVoir
fal-ai/minimax/image-01Un serveur Model Context Protocol (MCP) qui fournit un accès au modèle de génération d'images fal-ai...Voir
Serveur MCP UberallVoir
Colle de nuageVoir