Flight Search MCP Server
Integrates with Google Gemini API for natural language understanding, enabling users to query flights using conversational language.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Flight Search MCP ServerFind flights from Casablanca to Paris next Friday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
✈️ Flight Search Agent
Auteur : Saad Bendahou
Contexte : Projet académique - Deep Learning / Intelligence Artificielle
Année : 2025
📋 Description
Flight Search Agent est un agent conversationnel intelligent développé pour la recherche et la réservation de vols. Le projet utilise le protocole MCP (Model Context Protocol) pour exposer des outils de recherche standardisés, intègre Google Gemini API pour la compréhension du langage naturel, et l'API Amadeus pour récupérer des données de vols réelles en temps réel.
L'interface web moderne est développée avec FastAPI et offre une expérience utilisateur immersive avec un arrière-plan animé et des étiquettes de villes flottantes.
🎯 Caractéristiques principales
✅ Recherche de vols intelligente entre différentes villes (Maroc, Europe, Monde)
✅ Compréhension du langage naturel : dates relatives ("demain", "la semaine prochaine")
✅ Google Gemini API : LLM rapide et efficace (gemini-2.5-flash)
✅ Protocole MCP : Exposition d'outils de recherche standardisés
✅ Intégration API Amadeus : Données de vols réelles et professionnelles
✅ Interface FastAPI : Interface web moderne avec HTML/CSS/JS personnalisé
✅ Multilingue : Support Français et Anglais
✅ Parsing de dates : Conversion automatique de dates naturelles
✅ Validation stricte : L'application ne démarre que si les APIs sont configurées
Related MCP server: Google Flights MCP Server
🏗️ Architecture
┌─────────────────────────────────────────────────────────────────┐
│ UTILISATEUR │
│ (Interface Web FastAPI) │
└────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ app_fastapi.py │
│ - Endpoint / : Page HTML │
│ - Endpoint /chat : API REST │
└────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ gemini_agent.py │
│ - GeminiFlightAgent : Agent principal │
│ - Compréhension du langage naturel │
│ - Extraction des paramètres (origine, destination, date) │
│ - Formatage des réponses │
└────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ flight_data.py │
│ - search_flights() : Fonction principale │
│ - Gestion des données de vols │
└────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ amadeus_api.py │
│ - search_flights_amadeus() : Recherche réelle │
│ - get_airport_code() : Conversion ville → code IATA │
└────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ date_parser.py │
│ - parse_date_with_context() : Parsing dates naturelles │
│ - get_current_date_info() : Informations date actuelle │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ mcp_server.py (Optionnel) │
│ - Serveur MCP pour intégration avec Cursor/Claude │
│ - Exposition des mêmes outils via protocole MCP │
└─────────────────────────────────────────────────────────────────┘Flux de données
Utilisateur envoie une requête via l'interface web
FastAPI reçoit la requête et appelle
gemini_agent.chat()Gemini Agent analyse la requête et extrait les paramètres
Flight Data appelle
amadeus_api.search_flights_amadeus()Amadeus API retourne les données de vols réelles
Gemini Agent formate la réponse de manière conviviale
FastAPI retourne la réponse formatée à l'utilisateur
📁 Structure du Projet
Flight_Search_Agent/
├── app_fastapi.py # Application FastAPI principale
├── gemini_agent.py # Agent Gemini + logique conversation
├── amadeus_api.py # Intégration API Amadeus
├── flight_data.py # Gestion des données de vols
├── date_parser.py # Parseur de dates naturelles
├── mcp_server.py # Serveur MCP (optionnel)
├── mcp_config.json # Configuration MCP
│
├── templates/ # Templates HTML
│ └── index.html # Interface web principale
│
├── static/ # Fichiers statiques
│ └── Bg.jpg # Image de fond
│
├── requirements.txt # Dépendances Python
├── .gitignore # Fichiers ignorés par Git
├── .env # Variables d'environnement (non versionné)
└── README.md # Documentation🛠️ Installation
Prérequis
Python 3.10+
Clés API :
Google Gemini API : Google AI Studio
Amadeus API : Amadeus for Developers
1. Cloner le projet
git clone <repository-url>
cd Flight_Search_Agent2. Installer les dépendances
pip install -r requirements.txt3. Configurer les variables d'environnement
Créez un fichier .env à la racine du projet :
GEMINI_API_KEY=votre_cle_gemini_ici
AMADEUS_CLIENT_ID=votre_client_id_ici
AMADEUS_CLIENT_SECRET=votre_client_secret_iciImportant : L'application ne démarrera PAS si ces variables ne sont pas configurées ou si elles contiennent des valeurs placeholder.
4. Obtenir les clés API
Google Gemini API (Gratuit)
Allez sur Google AI Studio
Connectez-vous avec votre compte Google
Cliquez sur "Create API Key"
Copiez votre clé API
Amadeus API (Gratuit pour développeurs académiques)
Allez sur Amadeus for Developers
Créez un compte gratuit (compte académique/non-lucratif)
Créez une nouvelle application
Copiez votre Client ID et Client Secret
💻 Utilisation
Lancer l'application FastAPI
python app_fastapi.pyL'application sera accessible sur : http://localhost:8000
Utiliser le serveur MCP (Optionnel)
Pour intégrer avec Cursor/Claude Desktop :
python mcp_server.pyPuis configurez votre client MCP avec :
{
"mcpServers": {
"flight-search": {
"command": "python",
"args": ["mcp_server.py"],
"cwd": "C:\\path\\to\\Flight_Search_Agent"
}
}
}🎯 Exemples de Requêtes
L'agent comprend des requêtes en langage naturel :
"Je veux un vol de Casablanca à Paris demain"
"Trouve-moi un vol Marrakech - Bruxelles pour le 20 décembre"
"Quels vols sont disponibles de Rabat à Londres la semaine prochaine?"
"Vol pas cher de Fès à Barcelone le 15 janvier"🌍 Villes Supportées
Maroc 🇲🇦
Casablanca (CMN)
Marrakech (RAK)
Rabat (RBA)
Fès (FEZ)
Tanger (TNG)
Agadir (AGA)
Europe 🇪🇺
Paris (CDG/ORY)
Londres (LHR)
Madrid (MAD)
Barcelone (BCN)
Bruxelles (BRU)
Amsterdam (AMS)
Autres 🌍
Dubaï (DXB)
Istanbul (IST)
Montréal (YUL)
New York (JFK)
Washington (DCA)
🔧 Technologies Utilisées
FastAPI - Framework web moderne et rapide
Google Gemini API - LLM rapide et efficace (gemini-2.5-flash)
Amadeus API - API professionnelle de recherche de vols
MCP (Model Context Protocol) - Protocole d'exposition d'outils
Python 3.10+ - Langage de développement
Jinja2 - Moteur de templates HTML
HTML/CSS/JavaScript - Interface web personnalisée
📋 Tools MCP Disponibles
1. search_flights
Recherche des vols entre deux villes avec date.
Paramètres :
origin: Ville de départ (ex: "Casablanca", "CMN")destination: Ville d'arrivée (ex: "Paris", "CDG")date: Date de voyage au format YYYY-MM-DD
2. parse_date
Convertit une date naturelle en format ISO.
Paramètres :
date_expression: Date en langage naturel (ex: "demain", "le 20 décembre")
3. get_current_date
Retourne la date actuelle et références.
4. list_airports
Liste les aéroports disponibles.
🐛 Dépannage
Erreur "APIs non configurées"
Vérifiez que le fichier
.envexiste et contient les bonnes clésVérifiez que les clés ne sont pas des placeholders
L'application ne démarre PAS sans APIs configurées
Erreur "GEMINI_API_KEY not found"
Vérifiez que vous avez défini la variable d'environnement
GEMINI_API_KEYObtenez votre clé sur Google AI Studio
Erreur "AMADEUS_CLIENT_ID not found"
Vérifiez que vous avez défini les variables
AMADEUS_CLIENT_IDetAMADEUS_CLIENT_SECRETCréez un compte sur Amadeus for Developers
Erreur de dépendances
pip install -r requirements.txtL'API Amadeus retourne une erreur
Vérifiez que vous utilisez l'environnement "test" (par défaut)
Vérifiez les limites de votre compte Amadeus (gratuit pour développeurs)
Vérifiez que les codes d'aéroport sont corrects
📝 Notes de Développement
Validation des APIs
L'application valide strictement la présence des APIs au démarrage. Si les clés sont manquantes ou contiennent des valeurs placeholder, l'application lève une exception et ne démarre pas.
Gestion des erreurs
Les erreurs API sont capturées et retournées de manière conviviale à l'utilisateur
L'historique de conversation est maintenu pour améliorer les réponses
Les dates relatives sont automatiquement converties en format ISO
Interface utilisateur
Arrière-plan avec image de ciel et nuages
Étiquettes de villes flottantes avec animations
Chat transparent avec bordures visibles
Barre d'astuces rabattable depuis le haut
Heure locale mise à jour en temps réel
📄 Licence
Ce projet est développé dans un contexte académique et non-lucratif.
👤 Auteur
Saad Bendahou
Projet académique - Deep Learning / Intelligence Artificielle
Année 2025
🙏 Remerciements
Google pour l'API Gemini
Amadeus pour l'API de recherche de vols (compte académique)
La communauté open-source Python
Développé avec ❤️ pour l'apprentissage et la recherche académique
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables flight search capabilities through the Amadeus Flight Offers Search API, allowing users to search for flights between locations with specified dates using natural language queries.Last updated1MIT
- AlicenseAqualityDmaintenanceIntegrates Google Flights data into AI workflows for natural language flight searches, price comparisons, flexible date searches, and multi-city itinerary planning with support for various cabin classes and passenger types.Last updated94MIT
- Alicense-qualityDmaintenanceProvides access to 50+ Amadeus Travel APIs for AI assistants to search and book flights, hotels, activities, and ground transfers, along with travel analytics, price predictions, and comprehensive travel reference data.Last updated32MIT
- Alicense-qualityFmaintenanceEnables flight and airport search capabilities through Skyscanner, allowing users to find flight options, compare prices, and locate airports using natural language.Last updated11GPL 3.0
Related MCP Connectors
Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.
Live flight prices and working booking links for AI agents and travel apps.
Flight Intelligence MCP — search, cheapest dates, multi-city, airline compare via Google Flights
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SaadBenth7o/MCP_FLIGHT-SEARCH-AGENT'
If you have feedback or need assistance with the MCP directory API, please join our Discord server