Skip to main content
Glama

MCP Travel Concierge Server

🌟 MCP Travel Concierge Server

The Ultimate AI Travel Planning Assistant - A comprehensive MCP (Model Context Protocol) server that combines the best of Google Travel Services with Amadeus Professional Systems.

🚀 Overview

This Travel Concierge Server integrates two powerful travel platforms into one comprehensive solution:

  • 🌐 Google Travel Services (via SerpAPI) - Consumer-friendly search across flights, hotels, and events

  • 🏢 Amadeus Global Distribution System - Professional travel industry inventory and pricing

Get the best of both worlds: consumer accessibility with professional depth!

✨ Key Features

✈️ Dual Flight Search

  • Google Flights: Consumer-friendly pricing, popular routes, price insights

  • Amadeus GDS: Professional airline inventory, detailed fare classes, real-time availability

🏨 Comprehensive Hotel Search

  • Google Hotels: Vacation rentals, boutique properties, consumer reviews

  • Amadeus Hotels: Professional rates, real-time availability, business travel optimization

🎭 Complete Event & Activity Discovery

  • Google Events: Local festivals, concerts, cultural events

  • Amadeus Activities: Professional tours, curated experiences, verified operators

🌍 Additional Services

  • Geocoding & Distance Calculation: Precise location services

  • Weather Intelligence: Real-time conditions and forecasts

  • Currency Conversion: Live exchange rates

  • Financial Tracking: Travel industry stock monitoring

🛠️ Installation & Setup

1. Clone and Install Dependencies

# Clone the repository git clone https://github.com/your-username/mcp_travelassistant.git cd mcp_travelassistant # Install dependencies pip install -r requirements.txt

2. Set Up Environment Variables

Create a .env file in the project root with your API keys:

# Copy the example environment file cp env.example .env

Edit the .env file with your actual API keys:

# Required API Keys SERPAPI_KEY=your_serpapi_key_here AMADEUS_API_KEY=your_amadeus_api_key_here AMADEUS_API_SECRET=your_amadeus_api_secret_here EXCHANGE_RATE_API_KEY=your_exchange_rate_api_key_here

Where to get API keys:

3. Run the Server

python travel_server.py

🔧 MCP Configuration

For Claude Desktop

Add this configuration to your Claude Desktop config file (usually located at ~/.cursor/mcp.json or ~/Library/Application Support/Claude/claude_desktop_config.json):

{ "mcpServers": { "travel-concierge": { "command": "python", "args": ["combined_travel_server.py"], "cwd": "/path/to/your/mcp_travelassistant", "env": { "SERPAPI_KEY": "your_serpapi_key_here", "AMADEUS_API_KEY": "your_amadeus_api_key_here", "AMADEUS_API_SECRET": "your_amadeus_api_secret_here", "EXCHANGE_RATE_API_KEY": "your_exchange_rate_api_key_here" } } } }

For UV Package Manager

If you're using UV, you can use this configuration:

{ "mcpServers": { "travel-concierge": { "command": "uv", "args": [ "--directory", "/path/to/your/mcp_travelassistant/", "run", "python", "combined_travel_server.py" ], "env": { "SERPAPI_KEY": "your_serpapi_key_here", "AMADEUS_API_KEY": "your_amadeus_api_key_here", "AMADEUS_API_SECRET": "your_amadeus_api_secret_here", "EXCHANGE_RATE_API_KEY": "your_exchange_rate_api_key_here" } } } }

For HTTP Mode

If you prefer running the server in HTTP mode:

{ "mcpServers": { "travel-concierge": { "command": "npx", "args": [ "@modelcontextprotocol/client-http", "http://localhost:8000/" ] } } }

Then run the server with: python travel_server.py --transport http --port 8000

🎯 Available Tools

✈️ Flight Search Tools

Tool

Provider

Description

search_flights_serpapi()

Google Flights

Consumer flight search with price insights

search_flights_amadeus()

Amadeus GDS

Professional airline inventory and fares

🏨 Hotel Search Tools

Tool

Provider

Description

search_hotels_serpapi()

Google Hotels

Consumer hotel search with reviews

search_hotels_amadeus_by_city()

Amadeus GDS

Professional city-based hotel search

search_hotels_amadeus_by_geocode()

Amadeus GDS

Professional coordinate-based search

search_hotel_offers_amadeus()

Amadeus GDS

Real-time hotel availability and pricing

🎭 Event & Activity Tools

Tool

Provider

Description

search_events_serpapi()

Google Events

Local events and cultural experiences

search_activities_amadeus()

Amadeus GDS

Professional tours and activities

🌍 Utility Tools

Tool

Provider

Description

geocode_location()

Nominatim

Convert addresses to coordinates

calculate_distance()

Geopy

Calculate distances between locations

get_weather_forecast()

Open-Meteo

Weather forecasts for travel planning

get_current_conditions()

Open-Meteo

Real-time weather conditions

convert_currency()

ExchangeRate-API

Live currency conversion

lookup_stock()

Google Finance

Travel industry stock tracking

🎨 Usage Examples

Comprehensive Trip Planning

# Search for flights from multiple providers google_flights = search_flights_serpapi( departure_id="JFK", arrival_id="CDG", outbound_date="2025-06-15", return_date="2025-06-22", adults=2 ) amadeus_flights = search_flights_amadeus( originLocationCode="JFK", destinationLocationCode="CDG", departureDate="2025-06-15", returnDate="2025-06-22", adults=2 )

Hotel Search Strategy

# Get coordinates first location = geocode_location("Paris city center") # Consumer search via Google Hotels google_hotels = search_hotels_serpapi( location="Paris city center", check_in_date="2025-06-15", check_out_date="2025-06-22" ) # Professional search via Amadeus amadeus_hotels = search_hotel_offers_amadeus( cityCode="PAR", checkInDate="2025-06-15", checkOutDate="2025-06-22" )

Complete Trip Planning

# 1. Get destination coordinates coords = geocode_location("Paris, France") # 2. Check weather weather = get_weather_forecast( latitude=coords['latitude'], longitude=coords['longitude'] ) # 3. Find events events = search_events_serpapi( query="concerts museums", location="Paris", date_filter="week" ) # 4. Convert currency for budget planning budget_eur = convert_currency( from_currency="USD", to_currency="EUR", amount=2000 )

🌟 Best Practices

1. Dual Search Strategy

Always search both platforms for flights and hotels to ensure you get the best deals and comprehensive options.

2. Location First

Start with geocode_location() to get precise coordinates, then use those for location-based searches.

3. Weather Integration

Check weather forecasts before finalizing activity plans using get_weather_forecast().

4. Currency Planning

Use convert_currency() for accurate international travel budgeting.

🔄 Docker Support

Build and Run

# Build the Docker image docker build -t travel-concierge . # Run with environment variables docker run -p 8000:8000 \ -e SERPAPI_KEY=your_key \ -e AMADEUS_API_KEY=your_key \ -e AMADEUS_API_SECRET=your_secret \ -e EXCHANGE_RATE_API_KEY=your_key \ travel-concierge

Docker Compose

# Copy environment file cp env.example .env # Edit .env with your API keys # Then run: docker-compose up

🐛 Troubleshooting

Common Issues

  1. Missing API Keys

    Error: SERPAPI_KEY environment variable is required

    Solution: Set your API keys in the .env file or environment variables

  2. Port Already in Use

    Error: Port 8000 is already in use

    Solution: Use a different port with --port 8001

  3. Amadeus Authentication Error

    Error: Invalid API credentials

    Solution: Verify your Amadeus API key and secret are correct

Health Check

When running in HTTP mode, visit http://localhost:8000/health to verify the server is running properly.

📈 Performance

  • Unified Architecture: Single server reduces overhead and complexity

  • Concurrent Requests: Handles multiple simultaneous requests efficiently

  • Rate Limiting: Built-in rate limiting for external API calls

  • Error Handling: Comprehensive error handling and recovery

🤝 Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Make your changes

  4. Add tests if applicable

  5. Commit your changes (git commit -m 'Add some amazing feature')

  6. Push to the branch (git push origin feature/amazing-feature)

  7. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Amadeus for Developers - Professional travel industry data

  • SerpAPI - Google Services integration

  • Open-Meteo - Weather data services

  • ExchangeRate-API - Currency conversion services

  • Nominatim/OpenStreetMap - Geocoding services

🆘 Support

For support, please:

  1. Check the documentation above

  2. Review the example environment file

  3. Open an issue with detailed information about your problem


Happy Travels! ✈️🏨🎭🌍

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    Integrates with Google Drive to enable listing, searching, and reading files, plus reading and writing to Google Sheets.
    Last updated -
    191
    202
    MIT License
  • A
    security
    A
    license
    A
    quality
    Enables LLMs to perform travel-related tasks by interacting with Google Maps and travel planning services including location search, place details, and travel time calculations.
    Last updated -
    5
    104
    82
    MIT License
  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that connects to Amadeus API, enabling AI assistants to search flights, analyze prices, find best travel deals, and plan multi-city trips.
    Last updated -
    4
    4
  • A
    security
    F
    license
    A
    quality
    Provides tools to query flight and train information including flight searches, train tickets, weather forecasts, and transfer options between different transportation modes.
    Last updated -
    9
    11

View all related MCP servers

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/abhinavmathur-atlan/mcp-travel-assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server