Interactive travel planning with flight search, weather, and route calculation.
đ§ł Concierge Voyage MCP
đ Description
Concierge Voyage MCP est une application de planification de voyage interactive développée en Python avec Streamlit. Elle permet aux utilisateurs de rechercher des vols, de consulter la météo des destinations, de calculer des itinéraires routiers et de trouver des services à proximité (hÎtels, restaurants) autour des aéroports.
L'objectif est de centraliser toutes les informations nécessaires pour préparer un voyage (Vols + Météo + Transport + Services) dans une interface unique et simple.
⚠Fonctionnalités Principales
1. âïž Recherche de Vols
- Recherche de vols via l'API Amadeus.
- Saisie flexible (Code IATA ou Nom de ville).
- Affichage des offres avec prix, horaires, compagnies aériennes et escales.
2. đ€ïž MĂ©tĂ©o & Services
- Météo : Affichage de la météo actuelle et des prévisions sur 5 jours pour les villes de départ et d'arrivée (API OpenWeather).
- Services à Proximité : Liste automatique des HÎtels, Restaurants et Cafés situés autour de l'aéroport sélectionné (via Overpass API / OpenStreetMap).
3. đșïž Trajets & Navigation
- Calcul d'Itinéraire : Route voiture entre le point de départ et le point d'arrivée (API OpenRouteService).
- Visualisation : Carte interactive (Folium) affichant le tracĂ© du trajet en bleu et des marqueurs pour les points d'intĂ©rĂȘt.
- Géocodage : Conversion automatique des adresses en coordonnées GPS.
4. đ RĂŽle du MCP (Model Context Protocol)
Ce systĂšme est conçu selon l'architecture MCP (Model Context Protocol). Chaque module (Vols, MĂ©tĂ©o, Trajets) agit comme un outil autonome pouvant ĂȘtre connectĂ© Ă une Intelligence Artificielle.
Bien que l'application fonctionne ici en mode "Direct" (interface graphique manuelle), cette structure modulaire permettrait Ă un Assistant IA (comme Gemini ou Claude) d'utiliser ces mĂȘmes fonctions pour rĂ©pondre Ă des demandes complexes de maniĂšre autonome, standardisant ainsi l'interaction entre le modĂšle de langage et les services externes.
đ ïž Technologies & Outils UtilisĂ©s
- Langage : Python 3.10+
- Interface Utilisateur : Streamlit
- Cartographie : Folium &
streamlit-folium - APIs Externes :
- Amadeus (Vols)
- OpenWeather (Météo)
- OpenRouteService (Itinéraires & Géocodage)
- Overpass API (Points d'intĂ©rĂȘt OSM)
- Gestion d'Environnement :
python-dotenv
đ Installation & Lancement
Préoccupations
- Python installé sur votre machine.
- Clés API pour Amadeus, OpenWeather et OpenRouteService.
1. Installation des dépendances
Ouvrez un terminal dans le dossier du projet et exécutez :
pip install -r requirements.txt
2. Configuration (`.env`)
Créez un fichier .env à la racine et ajoutez vos clés API :
AMADEUS_API_KEY=votre_cle_amadeus
AMADEUS_API_SECRET=votre_secret_amadeus
OPENWEATHER_API_KEY=votre_cle_openweather
ORS_API_KEY=votre_cle_openrouteservice
3. Lancement
Lancez l'application avec le script de démarrage automatique :
python run.py
Le script va vérifier les dépendances et lancer l'application dans votre navigateur par défaut (généralement sur http://localhost:8501).
đ Structure du Projet
app_direct.py: Code principal de l'application Streamlit.run.py: Script de lancement (vérifie l'environnement et lance Streamlit).requirements.txt: Liste des bibliothÚques Python requises..env: Fichier de configuration des clés API.
Tools (4)
search_flightsSearch for flight offers using Amadeus API with IATA codes or city names.get_weatherRetrieve current weather and 5-day forecasts for a specific location.calculate_routeCalculate driving routes between two points using OpenRouteService.find_servicesFind hotels, restaurants, and cafes near a specific location using OpenStreetMap.Environment Variables
AMADEUS_API_KEYrequiredAPI key for Amadeus flight dataAMADEUS_API_SECRETrequiredAPI secret for Amadeus flight dataOPENWEATHER_API_KEYrequiredAPI key for OpenWeather weather dataORS_API_KEYrequiredAPI key for OpenRouteService routingConfiguration
{ "mcpServers": { "concierge-voyage": { "command": "python", "args": ["/path/to/concierge-voyage-mcp/run.py"], "env": { "AMADEUS_API_KEY": "your_key", "AMADEUS_API_SECRET": "your_secret", "OPENWEATHER_API_KEY": "your_key", "ORS_API_KEY": "your_key" } } } }