Le projet repose sur l'architecture Hôte-Client-Serveur du protocole MCP :
- Serveur (
weather_server.py) : Expose des outils (Tools) et des ressources (Resources) viaFastMCP. - Client (
client_test.py) : Un agent intelligent (smolagents) qui consomme les outils du serveur pour répondre à des requêtes complexes. - Protocole : Communication via l'entrée/sortie standard (STDIO).
-
Cloner le dépôt :
git clone https://github.com/votre-utilisateur/mcp-weather-server.git cd mcp-weather-server -
Créer un environnement virtuel :
python -m venv .venv source .venv/bin/activate # Sur Windows: .venv\Scripts\activate
-
Installer les dépendances :
pip install -r requirements.txt
##️ Configuration
Créez un fichier .env à la racine du projet et ajoutez vos clés API :
HF_TOKEN=votre_token_hugging_face
GOOGLE_API_KEY=votre_cle_api_google (optionnel)Note : Le fichier
.envest ignoré par Git pour des raisons de sécurité (voir.gitignore).
Vous n'avez pas besoin de lancer le serveur manuellement. Le client s'en charge automatiquement au lancement :
python client_test.py- Outils (Tools) :
get_available_cities: Liste des villes gérées.get_weather: Météo actuelle (température, humidité, conditions).calculate_travel_time: Estimation du temps de trajet entre deux villes.get_city_comparison: Comparaison thermique entre deux destinations.
- Ressources (Resources) :
stats://tool-usage: Statistiques dynamiques d'utilisation des outils.
weather_server.py: Logique du serveur MCP (FastMCP).client_test.py: Scripts de test (Inspection et Agent Hugging Face).TP_MCP_Etudiants.ipynb: Notebook original du TP pour l'exploration.requirements.txt: Liste des bibliothèques Python nécessaires..gitignore: Protection des fichiers sensibles et temporaires.