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.
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.
Quick Links
- Quick Start Guide - Get started in 5 minutes
- API Documentation - See all available tools
- Troubleshooting - Common issues and solutions
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
- Clone the repository
cd travel-mcp-server
- Create a virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies
pip install -e .
- 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
- Go to Amadeus for Developers
- Click "Register" to create an account
- Go to "My Self-Service Workspace"
- Click "Create New App"
- Copy your API Key and API Secret
AviationStack (Optional)
- Go to AviationStack
- Sign up for a free account
- 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 codedestination(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_iataorflight_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 codearr_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
.envfile 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:
- Open an issue on GitHub
- Check the Amadeus API Documentation
- Check the AviationStack Documentation
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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
E2B
Using MCP to run code via e2b.