Serveur météo MCP
Un serveur Model Context Protocol (MCP) qui fournit des prévisions météorologiques horaires et quotidiennes en utilisant l'API AccuWeather.
Démarrage rapide
Vous avez besoin d'une clé API AccuWeather (niveau gratuit disponible).
Inscrivez-vous ici et créez une application pour obtenir votre clé.
Exportez votre clé API en tant que variable d'environnement :
export ACCUWEATHER_API_KEY=votre_clé_api_ici
Lancez ensuite le serveur MCP Weather directement avec :
npx -y @timlukahorstmann/mcp-weather
Ou, pour un accès HTTP/REST via supergateway:
npx -y supergateway --stdio "npx -y @timlukahorstmann/mcp-weather" \ --port 4004 \ --baseUrl http://127.0.0.1:4004 \ --ssePath /messages \ --messagePath /message \ --cors "*" \ --env ACCUWEATHER_API_KEY="$ACUWEATHER_API_KEY"
Exemple de configuration du serveur MCP
Pour l'intégration avec Claude Desktop ou d'autres clients compatibles MCP, ajoutez ceci à votre configuration (par exemple claude_desktop_config.json
) :
{ "mcpServers" : { "weather" : { "command" : "npx", "args" : ["-y", "@timlukahorstmann/mcp-weather"], "env" : {"ACCUWEATHER_API_KEY" : "your_api_key_here" } } } }
Vue d'ensemble
Ce serveur MCP permet aux grands modèles de langage (comme Claude) d'accéder aux données météorologiques en temps réel. Lorsqu'il est intégré à un LLM, il permet au modèle de :
- D'obtenir des prévisions météorologiques précises et actualisées
- Fournir des données météorologiques horaires pour les 12 prochaines heures
- D'accéder aux prévisions météorologiques quotidiennes pour une période allant jusqu'à 15 jours
- D'afficher les données en unités métriques (°C) et impériales (°F)
- Visualiser la température, les conditions, les informations sur les précipitations et d'autres détails météorologiques
Outils disponibles
Prévisions météorologiques horaires
- Nom de l'outil :
weather-get_hourly
- Fournit des prévisions horaires pour les 12 prochaines heures
- Paramètres
lieu
(obligatoire) : Ville ou nom du lieuunités
(facultatif) : "métrique" (Celsius, par défaut) ou "impérial" (Fahrenheit)
Prévisions météorologiques quotidiennes
- Nom de l'outil :
weather-get_daily
- Fournit des prévisions quotidiennes pour un maximum de 15 jours
- Paramètres
lieu
(obligatoire) : Ville ou nom du lieujours
(facultatif) : Nombre de jours de prévision (1, 5, 10 ou 15 ; 5 par défaut)unités
(facultatif) : "métrique" (Celsius, par défaut) ou "impérial" (Fahrenheit)
Conditions préalables
- Node.js ≥18
- Une clé API AccuWeather (définie via
.env
ou votre shell)
Mise en place
Clonez ce dépôt :
git clone https://github.com/TimLukaHorstmann/mcp-weather.git cd mcp-weather
Installer les dépendances :
npm install
Obtenez une clé API AccuWeather :
- S'inscrire à AccuWeather API
- Créer une nouvelle application et obtenir une clé API
Créez un fichier
.env
avec votre clé API :ACCUWEATHER_API_KEY=votre_clé_d'API_ici
Construire le projet :
npm run build
Utilisation avec Claude Desktop
Configurez Claude Desktop pour utiliser ce serveur MCP :
- Ouvrir Claude Desktop
- Allez dans Paramètres > Développeur > Modifier la configuration
- Ajoutez les éléments suivants à votre
fichier claude_desktop_config.json
:
{ "mcpServers" : { "weather" : { "command" : "npx", "args" : ["-y", "@timlukahorstmann/mcp-weather"], "env" : {"ACCUWEATHER_API_KEY" : "your_api_key_here" } } } }
Redémarrer Claude Desktop
Dans une nouvelle conversation, activez le serveur MCP en cliquant sur l'icône de la prise et en sélectionnant "weather"
Vous pouvez maintenant demander à Claude des prévisions météorologiques, comme par exemple :
- "Quelles sont les prévisions météorologiques à l'heure pour la ville de New York ?"
- "Donnez-moi les prévisions à 5 jours pour Londres"
- "Quel temps fera-t-il à Tokyo cette semaine en degrés Fahrenheit ?"
- "Va-t-il pleuvoir à San Francisco demain ?"
Développement
- Installer les dépendances :
npm install
- Linting de votre code :
npm run lint
- Construire : npm
run build
- Exécuter les tests :
npm test
- Démarrer en mode dev :
npm run dev
Contribuer
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
Améliorations futures
Nous cherchons toujours à améliorer le serveur météo MCP. Voici quelques fonctionnalités que nous envisageons pour les prochaines versions :
- Prévisions horaires étendues : Au-delà de 12 heures, par exemple 24 ou 48 heures.
- Alertes météo : Intégration avec l'API d'AccuWeather pour les alertes de mauvais temps.
- Autocomplétion des lieux : Amélioration de la recherche de lieux grâce à des suggestions d'autocomplétion.
- Données météorologiques historiques : Accès aux conditions météorologiques passées.
Si vous avez des idées pour d'autres fonctionnalités, n'hésitez pas à ouvrir un problème !
Changelog
0.4.0
- Suppression de l'exigence du
sessionId
pour tous les outils car il n'était pas utilisé pour quoi que ce soit en interne - Cela simplifie les intégrations et réduit la confusion pour l'utilisation de LLM
0.3.0 et antérieures
- Version initiale avec des fonctionnalités de base
Licence d'utilisation
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.