Travel MCP Server

Travel MCP Server

A comprehensive travel aggregation server that enables AI assistants to search for flights and hotels, track flight statuses in real-time, and retrieve airport information. It integrates with Amadeus and AviationStack APIs to provide data on pricing, schedules, and travel routes through natural language.

Category
Visit Server

README

Travel MCP Server

A comprehensive Model Context Protocol (MCP) server for travel aggregation, providing AI assistants with access to flight search, hotel booking, airport information, and real-time flight tracking.

Python 3.10+ License: MIT MCP

Quick Links

Features

Flight Search & Booking

  • Search Flights: Find flight offers between airports with prices, airlines, and schedules
  • Find Cheapest Dates: Discover the most affordable travel dates for flexible planning
  • Flight Tracking: Real-time flight status, location, altitude, and ETA

Hotel Search

  • Search Hotels: Find hotels with availability, pricing, amenities, and location
  • Multi-city Support: Search hotels in any city worldwide

Airport Information

  • Airport Search: Find airports by city name or location
  • Airport Details: Get comprehensive airport information including timezone and facilities
  • Route Information: View all flights between two airports

APIs Used

Primary: Amadeus Self-Service API

  • Flight Offers Search
  • Hotel Search
  • Airport & City Search
  • Cheapest Date Search

Get your Amadeus API keys (Free tier available with monthly quota)

Secondary: AviationStack API

  • Real-time Flight Tracking
  • Flight Status Updates
  • Route Information

Get your AviationStack API key (100 free requests/month)

Installation

Prerequisites

  • Python 3.10 or higher
  • pip package manager

Setup Steps

  1. Clone the repository
cd travel-mcp-server
  1. Create a virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies
pip install -e .
  1. Set up environment variables
cp .env.example .env

Edit the .env file with your API credentials:

# Amadeus API Credentials (Required)
AMADEUS_CLIENT_ID=your_amadeus_api_key_here
AMADEUS_CLIENT_SECRET=your_amadeus_api_secret_here
AMADEUS_ENV=test  # Use 'production' when ready

# AviationStack API Key (Optional - for flight tracking)
AVIATIONSTACK_API_KEY=your_aviationstack_key_here

Getting API Keys

Amadeus API

  1. Go to Amadeus for Developers
  2. Click "Register" to create an account
  3. Go to "My Self-Service Workspace"
  4. Click "Create New App"
  5. Copy your API Key and API Secret

AviationStack (Optional)

  1. Go to AviationStack
  2. Sign up for a free account
  3. Copy your API key from the dashboard

Usage with Claude Desktop

Configuration

Add this to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "travel": {
      "command": "/path/to/travel-mcp-server/venv/bin/python",
      "args": [
        "-m",
        "travel_mcp.server"
      ],
      "env": {
        "AMADEUS_CLIENT_ID": "your_amadeus_api_key",
        "AMADEUS_CLIENT_SECRET": "your_amadeus_api_secret",
        "AMADEUS_ENV": "test",
        "AVIATIONSTACK_API_KEY": "your_aviationstack_key"
      }
    }
  }
}

Restart Claude Desktop

After adding the configuration, restart Claude Desktop to load the MCP server.

Available Tools

1. search_flights

Search for flight offers between two airports.

Parameters:

  • origin (required): Origin airport IATA code (e.g., 'JFK')
  • destination (required): Destination airport IATA code (e.g., 'LAX')
  • departure_date (required): Departure date (YYYY-MM-DD)
  • return_date (optional): Return date (YYYY-MM-DD)
  • adults (optional): Number of passengers (default: 1)
  • max_results (optional): Max results to return (default: 10)

Example:

Find me flights from New York (JFK) to London (LHR) on December 25, 2025, returning January 5, 2026

2. search_hotels

Search for hotels in a city with availability and pricing.

Parameters:

  • city_code (required): City IATA code (e.g., 'NYC', 'PAR')
  • check_in_date (required): Check-in date (YYYY-MM-DD)
  • check_out_date (required): Check-out date (YYYY-MM-DD)
  • adults (optional): Number of guests (default: 1)

Example:

Find hotels in Paris for December 20-25, 2025 for 2 adults

3. search_airports

Search for airports by city name.

Parameters:

  • city_name (required): Name of the city

Example:

What airports are in Tokyo?

4. find_cheapest_dates

Find the cheapest dates to fly between two airports.

Parameters:

  • origin (required): Origin airport IATA code
  • destination (required): Destination airport IATA code

Example:

When is the cheapest time to fly from San Francisco to Sydney?

5. track_flight

Track a flight in real-time (requires AviationStack API key).

Parameters:

  • flight_iata or flight_icao (one required): Flight code

Example:

Track flight AA100

6. get_flights_by_route

Get all flights on a specific route.

Parameters:

  • dep_iata (optional): Departure airport IATA code
  • arr_iata (optional): Arrival airport IATA code

Example:

What flights go from LAX to JFK?

7. get_airport_info

Get detailed information about an airport.

Parameters:

  • iata_code (required): Airport IATA code

Example:

Tell me about Heathrow airport (LHR)

Common Airport Codes

  • JFK - New York John F. Kennedy
  • LAX - Los Angeles International
  • LHR - London Heathrow
  • CDG - Paris Charles de Gaulle
  • NRT - Tokyo Narita
  • DXB - Dubai International
  • SYD - Sydney Airport
  • SFO - San Francisco International

Development

Running Tests

pytest tests/

Code Formatting

black src/
isort src/

Type Checking

mypy src/

API Rate Limits

Amadeus Free Tier

  • Test Environment: Fixed monthly quota
  • Production: Free monthly quota + pay-as-you-go

AviationStack Free Tier

  • 100 API calls per month
  • 30-60 second data delay

Troubleshooting

"AMADEUS_CLIENT_ID and AMADEUS_CLIENT_SECRET must be set"

  • Ensure you've created a .env file with your credentials
  • Or set them in your Claude Desktop config

"Unknown tool" error

  • Check that your API keys are valid
  • Ensure clients are initialized (check server logs)

API Rate Limit Exceeded

  • Amadeus: Wait for monthly quota reset or upgrade plan
  • AviationStack: Wait for monthly reset or upgrade plan

Contributing

Contributions welcome! Please feel free to submit a Pull Request.

License

MIT License - feel free to use this in your projects!

Support

For issues and questions:

Roadmap

  • [ ] Add price alerts and monitoring
  • [ ] Add car rental search
  • [ ] Add train/rail search (Eurail, Amtrak)
  • [ ] Add activity/tour booking
  • [ ] Add travel insurance options
  • [ ] Add visa requirement checker
  • [ ] Add currency converter
  • [ ] Add weather forecasts for destinations
  • [ ] Add caching for repeated queries
  • [ ] Add more travel APIs (Booking.com, Expedia)

Acknowledgments

Built with:


Happy Traveling! ✈️ 🏨 🌍

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured