ultimate-travel-agent
Click on "Deploy 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., "@ultimate-travel-agentPlan a 5-day trip to Paris with a budget of $2000"
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.
Ultimate Travel Agent đâïž
A generic, privacy-first, local-first multi-agent travel planning system generating verified, realistic, day-by-day itineraries with budget estimation and zero required external accounts.
Qu'est-ce que Ultimate Travel Agent ? (En bref)
Ultimate Travel Agent est un systÚme open source conçu pour aider n'importe qui à planifier un voyage complet et réaliste, sans risquer ses données personnelles et sans dépendre d'abonnements cloud ou de clés d'API payantes.
Contrairement aux chatbots conventionnels qui hallucinent des horaires, inventent des prix ou poussent vers des liens sponsorisés, ce systÚme :
Modélise fidÚlement la réalité : Regroupement géographique des visites, temps de trajet porte-à -porte, pauses déjeuner respectées, alternatives en cas de pluie ou de fermeture.
Fonctionne 100% hors-ligne par défaut : Zéro compte requis, zéro fuite de données, reproductibilité totale.
Sécurise vos démarches : Ne réserve et ne paye jamais automatiquement. Il fournit des liens officiels directs vers les billetteries réelles des monuments et compagnies de transport.
Offre 3 interfaces : Une interface web locale intuitive (FastAPI), une CLI puissante et un serveur MCP compatible Claude Desktop / Cursor.
Related MCP server: SkyOdyssey MCP
Concepts Clés & Différenciation
Pour bien comprendre l'architecture du projet :
Skills : Des instructions et directives réutilisables (
SKILL.md) installables dans tout projet IA compatible Antigravity (planification, vérification de sources, validation budgétaire, sécurité, orchestration, audit MCP).Sous-agents : Les rÎles d'IA spécialisés internes coordonnés en vagues DAG pour accomplir la synthÚse du voyage de bout en bout.
MCP local : Le serveur Model Context Protocol exécuté sur la machine locale via le transport
stdio.MCP distant : Le serveur HTTP Streamable déployé en ligne (Cloud Run, Railway, Render, Fly.io, Docker), connectable à distance depuis n'importe quel IDE ou agent compatible MCP.
Provider : Une connexion optionnelle cÎté serveur vers une source de données externe (vols, trains, hÎtels, avis, activités, cartes, météo, devises), toujours protégée par un repli déterministe hors-ligne.
Mode Hors-Ligne & Garantie de Non-Paiement
â ïž Avertissement produit rĂ©glementaire :
Offline local planning mode: No live availability, price, opening-hour or booking verification.
Zéro transaction financiÚre : Le systÚme n'a aucun accÚs bancaire et ne déclenche aucun paiement direct.
ZĂ©ro inventaire en direct : Les disponibilitĂ©s rĂ©elles de siĂšges ou de chambres d'hĂŽtel doivent ĂȘtre vĂ©rifiĂ©es sur les portails officiels avant dĂ©part.
Zéro fabrication d'urgence : Les numéros d'urgence et coordonnées diplomatiques portent la mention légale « Requires official source verification. ».
Le RÎle des 11 Sous-Agents Spécialisés
Pour garantir une rigueur absolue et éviter l'amplification d'erreurs, le systÚme coordonne 11 agents ordonnancés en 5 vagues rigides, couvrant 9 étapes métier transparentes :
Wave 1 (Parallel Exploration)
âââ 1. destination-researcher Geographic context & quiet travel periods
âââ 2. transport-planner Door-to-door transit & official booking links
âââ 3. accommodation-researcher Strategic neighborhood curation (quiet areas)
âââ 4. activity-curator 26-dimension activity modeling & crowd avoidance
âââ 5. local-discovery-agent Authentic culinary gems (flagged for manual verification)
âââ 6. travel-preparation-agent Passports, health, visas, and pre-departure checklists
Wave 2 (Budget Consolidation)
âââ 7. budget-analyst Itemized multi-currency budget & safety buffer (+10-15%)
Wave 3 (Itinerary Optimization)
âââ 8. itinerary-optimizer Day-by-day scheduling with geographic clustering & weather backup
Wave 4 (Quality & Safety Gate)
âââ 9. quality-controller Coherence checks, pacing fatigue alerts & proof audit
âââ mcp-skill-auditor URL allowlist inspection & prompt injection defense
Wave 5 (Synthesis)
âââ travel-orchestrator Final trip dossier compilation & Markdown exportInstallation Rapide
Prérequis
Python 3.10 ou supérieur
Git
git clone https://github.com/Gustor1/ultimate-travel-agent.git
cd ultimate-travel-agent
# Création et activation de l'environnement virtuel
python -m venv .venv
source .venv/bin/activate # Sur Windows : .venv\Scripts\activate
# Installation du package avec dépendances Web et MCP
pip install -e ".[dev,mcp,web]"Lancer la suite de tests
pytestLes 3 Façons d'Utiliser le SystÚme
1. Interface Web Locale (RecommandĂ©) đ
Lancez l'application locale légÚre avec FastAPI et ouvrez votre navigateur sur http://127.0.0.1:8000 :
python -m ultimate_travel_agent.cli serve --port 8000
# ou directement :
python -m ultimate_travel_agent.web --port 8000Dans l'interface, vous pouvez :
Charger les exemples de référence en 1 clic (City-trip Barcelone ou Road-trip Islande).
Renseigner vos critÚres (destination, dates, nombre de voyageurs, style d'hébergement, rythme, affluence).
Visualiser les étapes, le planning jour par jour et les fiches activités enrichies.
Comparer des options d'itinéraires inter-villes selon 7 préférences (
cheapest,fastest,eco, etc.).Inspecter la ventilation budgétaire et les alertes de surcoût.
Suivre les 9 étapes du pipeline multi-agents avec leurs hypothÚses et niveaux de preuve.
Consulter les plans B (intempéries, fermetures) et la fiche d'urgence générique.
Exporter ou copier le dossier en Markdown.
Voir la documentation dédiée : docs/web-interface.md.
2. Ligne de Commande (CLI) đ»
# Valider la cohérence et l'intégrité d'un voyage JSON
python -m ultimate_travel_agent.cli validate examples/city-trip/trip.json
# Calculer le budget prévisionnel consolidé avec marge de sécurité
python -m ultimate_travel_agent.cli budget examples/city-trip/trip.json
# Exécuter l'orchestration multi-agents en 5 vagues
python -m ultimate_travel_agent.cli plan examples/city-trip/trip.json
# Exporter le dossier complet de voyage en Markdown
python -m ultimate_travel_agent.cli export examples/city-trip/trip.json --output reports/barcelone.md
# Lancer la démo scriptée complÚte
python examples/demo_run.py3. Serveur MCP Local (Model Context Protocol) đ
Le systĂšme inclut un serveur MCP standard stdio (version 1.2.0) exposant 21 outils en lecture seule pour Claude Desktop, Cursor ou tout client MCP :
python -m ultimate_travel_agent.mcp.serverConfiguration Claude Desktop (mcp-config.json) :
{
"mcpServers": {
"ultimate-travel-agent": {
"command": "python",
"args": ["-m", "ultimate_travel_agent.mcp.server"]
}
}
}21 Outils disponibles :
Planification & Vérification (V1.0 / V1.1) :
list_trips,get_trip,validate_trip,get_itinerary,validate_itinerary,calculate_budget,list_booking_requirements,export_trip_summary,get_inter_city_routes,get_contingency_dossier.Hub d'Intégrations & Consultation Voyage (V1.2) :
list_integration_providers,get_provider_status,search_flight_options,search_train_options,search_accommodation_options,search_hotel_reviews,search_activity_options,get_route_options,get_weather_outlook,convert_currency,search_travel_sources.
Exemples Référents Inclus
đïž Exemple City-Trip : Barcelone Culturelle (3 Jours)
Fichier :
examples/city-trip/trip.jsonStyle : Découverte culturelle et gastronomique pour 2 personnes.
SpĂ©cificitĂ©s : Billet horodatĂ© Sagrada FamĂlia matinal (09h00), Park GĂŒell en fin d'aprĂšs-midi, hĂ©bergement boutique calme Ă GrĂ cia, trajets en TGV Paris-Barcelone, alternatives en cas de pluie.
đ Exemple Road-Trip : Sud de l'Islande (5 Jours)
Fichier :
examples/road-trip/trip.jsonStyle : Itinérance nature & paysages en véhicule 4x4 (chutes de Skógafoss, plage de Reynisfjara, lagon de Jökulsårlón).
Spécificités : Distinction du coût véhicule vs passagers, réserve de sécurité à 15% pour variations de carburant/météo, consignes de sécurité sur les vagues traßtresses et l'état des routes (
road.is).
Hub d'Intégrations Voyage V1.2 (Provider Hub)
Le projet propose une architecture modulaire unifiée dans src/ultimate_travel_agent/integrations/ organisée autour d'un ProviderRegistry et de modÚles typés (Pydantic v2).
1. Modes de Fonctionnement
Le systÚme supporte 3 modes d'exécution distincts :
offline: Données locales déterministes, temps d'accÚs instantané, zéro appel réseau, parfait pour les tests et la planification déconnectée.mock: Fixtures enrichies et simulations réalistes avec délais plausibles, couverture de cas limites et formats identiques aux APIs réelles.live: Interrogation d'APIs tierces réelles en lecture seule. Activé uniquement si les identifiants nécessaires sont configurés. En cas d'erreur réseau ou d'absence de clé, le systÚme applique un repli gracieux automatique (graceful fallback) vers le mock sans interruption.
2. Procédure d'Installation : Sans Clé vs Avec Clés Optionnelles
Installation standard sans clé (100% fonctionnelle, zéro configuration) :
pip install -e ".[dev,mcp,web]"Toutes les fonctionnalités (CLI, Web FastAPI, MCP Server 21 outils, tests unitaires) fonctionnent immédiatement sans aucune clé d'API.
Configuration optionnelle avec clés réelles : Copiez le gabarit sécurisé d'environnement :
cp .env.example .envPuis renseignez uniquement les clés que vous souhaitez activer (par exemple
AMADEUS_CLIENT_IDetAMADEUS_CLIENT_SECRET). Les clés non renseignées conservent leur mode mock / offline par défaut.
3. Garanties de Confidentialité & Absence d'Achat Automatique
đ« ZĂ©ro Achat / ZĂ©ro RĂ©servation Automatique : Le systĂšme n'a aucun accĂšs aux cartes bancaires, aucun token de paiement et aucune fonction d'Ă©criture transactionnelle. Il ne clique pas, ne remplit pas de formulaires de paiement et ne rĂ©serve rien. Il fournit systĂ©matiquement des liens officiels directs vers les billetteries des opĂ©rateurs.
đĄïž ZĂ©ro Partage de PII (DonnĂ©es Personnelles) : Aucun nom, prĂ©nom, courriel, passeport ou donnĂ©e privĂ©e de voyageur n'est envoyĂ© aux adaptateurs externes. Les requĂȘtes sont anonymisĂ©es et portent uniquement sur des critĂšres gĂ©nĂ©raux (ville de dĂ©part, destination, dates, nombre d'adultes).
đ Secrets ProtĂ©gĂ©s : Le fichier
.env.examplene contient aucun secret par défaut, et.gitignoreexclut tous les masques.env*pour éviter toute fuite accidentelle vers un dépÎt public.
4. Tableau Récapitulatif des Fournisseurs
Fournisseur | Domaine / Usage | Clé API requise | Mode supporté | Statut actuel |
MockFlightProvider | Vols (itinéraires, tarifs indicatifs, bagages) | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
AmadeusFlightProvider | Vols réels (GDS Amadeus for Developers) |
|
| đĄ PrĂ©parĂ© (Stub prĂȘt, validation requise) |
AviationEdgeFlightProvider | Horaires & statuts de vol |
|
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
Google Flights | Comparaison de vols | N/A (Aucune API publique) | Aucun | â RejetĂ© (Scraping interdit & instable) |
MockTrainProvider | Trains (temps de trajet porte-Ă -porte, TGV/TER) | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
SNCFTrainProvider | Trains France / TGV InOui / TER |
|
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
NavitiaTrainProvider | Réseaux de transports publics européens |
|
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
MockAccommodationProvider | HĂŽtels (quartiers calmes, boutique-hĂŽtels) | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
AmadeusHotelProvider | Inventaire hĂŽtelier et tarifs indicatifs |
|
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
BookingProvider | Consultation hébergements | Partenariat Affiliate |
| đĄ PrĂ©parĂ© (Stub consultation uniquement) |
MockReviewProvider | Avis et sentiment voyageurs agrégés | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
StayAPIReviewProvider | Sentiments et notes d'hÎtels vérifiés |
|
| đĄ PrĂ©parĂ© (Strictement lecture/avis) |
TripadvisorReviewProvider | Notations et avis de réputation |
|
| đĄ PrĂ©parĂ© (Strictement lecture/avis) |
MockActivityProvider | Activités (26 dimensions, créneaux, replis pluie) | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
GetYourGuideActivityProvider | Visites et excursions culturelles | Partenariat GYG |
| đĄ PrĂ©parĂ© (Stub consultation uniquement) |
ViatorActivityProvider | Activités et circuits | Partenariat Viator |
| đĄ PrĂ©parĂ© (Stub consultation uniquement) |
OpenTripMapActivityProvider | POIs culturels et monuments ouverts | Clé gratuite OpenTripMap |
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
MockMapsProvider | Distances, temps de trajet, matrices d'étapes | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
OSRMProvider | Routage routier open source (OpenStreetMap) | Aucune (Serveur public/auto-hébergé) |
| đĄ PrĂ©parĂ© (PrĂȘt pour auto-hĂ©bergement) |
OpenRouteServiceProvider | Isochrones et routage multi-modal |
|
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
NominatimProvider | Géocodage d'adresses OpenStreetMap | Aucune (Respect de l'User-Agent) |
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
GoogleMapsRoutesProvider | Matrices de distance Google Maps |
|
| đĄ PrĂ©parĂ© (Stub consultation uniquement) |
MockWeatherProvider | Météo, indices climatiques, déclencheur plan B | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
OpenMeteoProvider | Prévisions météo sans clé (Open Data) | Aucune |
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
OpenWeatherMapProvider | Prévisions et alertes météo |
|
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
MockCurrencyProvider | Devises, conversion avec date de référence | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
ECBCurrencyProvider | Taux officiels Banque Centrale Européenne | Aucune (Flux XML public) |
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
MockGuideProvider | Contexte local, anecdotes, sécurité | Aucune |
| â IntĂ©grĂ© & Actif par dĂ©faut |
WikivoyageProvider | Données de voyage libres et participatives | Aucune (API MediaWiki) |
| đĄ PrĂ©parĂ© (Stub prĂȘt) |
SocialDiscoveryProvider | PĂ©pites Ă©mergentes (TikTok/IG) â Non vĂ©rifiĂ©es | Aucune |
| â
Intégré & Tagué |
Niveaux de Vérification des Données
Chaque donnée porte un niveau de preuve transparent :
đą
official_verified: CertifiĂ© auprĂšs d'un portail gouvernemental, consulaire ou de la billetterie officielle directe.đ”
cross_checked: ConfirmĂ© par au moins deux guides ou sources rĂ©putĂ©es indĂ©pendantes.đ·
community_recommended: RecommandĂ© par consensus de communautĂ©s de voyageurs expĂ©rimentĂ©s.đŁ
social_discovery_only: Issu des rĂ©seaux sociaux (TikTok, Instagram) â nĂ©cessite une vĂ©rification manuelle des horaires et prix rĂ©els.đĄ
unverified: Estimation prĂ©liminaire non vĂ©rifiĂ©e.đŽ
outdated: Donnée antérieure à une modification de grille tarifaire ou d'horaires.
Voir docs/data-verification.md pour les rĂšgles d'audit.
Use Ultimate Travel Agent in another project
Ultimate Travel Agent can be seamlessly plugged into any external AI agent workspace (Antigravity, Claude Code, Cursor, Windsurf):
1. Install Travel Skills
Copy the 6 travel planning, safety, budgeting, and verification skills into your target project:
# Using CLI
ultimate-travel-agent install-skills --target ../my-project
# Or using the portable python script (zero dependencies)
python packages/travel-skills/install.py --target ../my-project2. Configure Local MCP Server (Stdio)
Add to your client configuration (e.g. ~/.antigravity/mcp_config.json):
{
"mcpServers": {
"ultimate-travel-agent-local": {
"command": "python",
"args": ["-m", "ultimate_travel_agent.mcp.server"]
}
}
}3. Configure Remote MCP Server (HTTPS Streamable HTTP)
Connect to your remote deployed instance (Railway, Render, Fly.io, Cloud Run):
{
"mcpServers": {
"ultimate-travel-agent-remote": {
"url": "https://YOUR-TRAVEL-MCP-DOMAIN/mcp",
"headers": {
"Authorization": "Bearer YOUR_TRAVEL_MCP_API_KEY"
}
}
}
}4. Example Travel Query
Ask your AI assistant:
"Plan a 4-day trip to Barcelona. Query
search_flight_optionsfrom Paris, find lodging in quiet neighborhoods withsearch_accommodation_options, and calculate total expenditure withcalculate_budgetusing a 12% buffer."
5. Data Limitations in Offline/Mock Modes
All results in
offlineormockmode are simulated or heuristic approximations.Fares and hotel prices must be re-checked manually on the official portal links provided.
Zero automated bookings or financial transactions will ever be executed.
6. Activating Live Providers
To activate real-time API integrations on your deployed server:
Set server environment variables (e.g.
AMADEUS_CLIENT_ID,SNCF_API_KEY,OPENROUTESERVICE_API_KEY).Select active providers:
TRAVEL_PROVIDER_FLIGHTS=amadeus,TRAVEL_PROVIDER_WEATHER=open_meteo.Query tools with
mode="live". If required credentials are missing, the server safely fails closed withProviderConfigurationError.
Documentation ComplĂšte
Phase 9 â Remote MCP & Distribution Pack
Architecture & Base Locale
Licence
Ce projet est distribuĂ© sous la Licence MIT. Vous ĂȘtes libre de l'utiliser, le modifier et le distribuer.
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-native travel platform: read-only flight, hotel, and brand tools over MCP. OAuth sign-in.
AI marketplace â flights, tours, activities, transport & more via MCP. No auth required.
Aggregated travel MCP â flights, tours, activities, price checks, visas, and more.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables travel package management, booking, and itinerary planning through MCP-compliant endpoints with 26 tools for searching, comparing, and booking travel packages.8 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to explore cheapest destinations, optimize multi-leg flight itineraries, and reference airport/region data via MCP tools and resources.MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to query flight routes, real-time flight tracking, weather, and transfer flights via standardized MCP tools.10MIT
- FlicenseNot gradedqualityBmaintenanceEnables managing travel itineraries with CRUD tools for journeys, stops, and plan items, plus weather lookup, integrated with public MCP servers for time and web search.-