Conversational Travel at Scale
A Model Context Protocol (MCP) server that enables chat-first flight booking with real-time intelligence. Ask your AI assistant "NYC next week?" and get flights booked in minutesβno tabs, no friction, just travel.
β
Conversational Flight Search - Ask natural language questions, get real-time results
β
Multi-Filter Options - Search by price, time, duration, airline preferences
β
Real-Time Google Flights Data - Live pricing and availability
β
Seamless MCP Integration - Works with Claude Desktop, Cursor, and other MCP clients
β
One-Way & Round-Trip Support - Full booking flexibility
β
Smart Intent Detection - Understands travel preferences automatically
β
Calendar Integration - Auto-inject itineraries into your calendar
[ Chat UI ]
β
[ MCP Client SDK ]
β
[ MCP Gateway Server ]
βββ Context Manager
βββ Intent Engine (LLM + Rules)
βββ Flight Search Tool
βββ Booking Tool
βββ Preference Engine
βββ Trigger Engine
- Intent Engine - Parses natural language travel requests
- Flight Search Tool - Queries Google Flights API in real-time
- Preference Engine - Learns user preferences (airline, seat type, budget)
- Context Manager - Maintains conversation state
- Calendar Injector - Syncs bookings with calendar apps
- Python 3.8+
uv(Python package manager)- Claude Desktop, Cursor, or another MCP-compatible client
git clone https://github.com/smamidipaka6/flights-mcp-server.git
cd flights-mcp-servermacOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uv command to be recognized.
Navigate to your Claude config file:
macOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows:
code $env:AppData\Claude\claude_desktop_config.jsonAdd this to your mcpServers section:
{
"mcpServers": {
"flights": {
"command": "/ABSOLUTE/PATH/.local/bin/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/flights-mcp-server",
"run",
"flights.py"
]
}
}
}Example (macOS):
{
"mcpServers": {
"flights": {
"command": "/Users/yourname/.local/bin/uv",
"args": [
"--directory",
"/Users/yourname/flights-mcp-server",
"run",
"flights.py"
]
}
}
}Find your uv path:
- macOS/Linux:
which uv - Windows:
where uv
Close and reopen Claude Desktop. You should see the MCP Tools icon appear.
Retrieve comprehensive flight information for a given route.
Parameters:
origin(str) - Origin airport IATA code (e.g., "JFK", "LAX")destination(str) - Destination airport IATA code (e.g., "LAS", "ORD")departure_date(str) - Departure date in YYYY-MM-DD formattrip_type(str, optional) - "one-way" or "round-trip" (default: "one-way")seat(str, optional) - "economy", "premium-economy", "business", "first" (default: "economy")adults(int, optional) - Number of adult passengers (default: 1)children(int, optional) - Number of child passengers (default: 0)infants_in_seat(int, optional) - Infants requiring seats (default: 0)infants_on_lap(int, optional) - Infants on lap (default: 0)n_flights(int, optional) - Number of flights to return (default: 40)
Example:
"Find flights from New York (JFK) to Las Vegas (LAS) on December 15th"
Find the most affordable flight options sorted by price.
Parameters:
Same as get_general_flights_info() except n_flights
Example:
"Show me the cheapest flights from Los Angeles (LAX) to Miami (MIA) for January 10th"
Get Google Flights' top recommended flights.
Parameters:
Same as get_general_flights_info()
Example:
"What are the best flights from Chicago (ORD) to Denver (DEN) on November 25th?"
Filter flights by specific time constraints.
Parameters:
origin(str) - Origin airport codedestination(str) - Destination airport codedeparture_date(str) - Departure date (YYYY-MM-DD)state(str) - "before" or "after"target_time_str(str) - Target time in HH:MM AM/PM format- Plus all optional parameters from
get_general_flights_info()
Example:
"Find flights from Seattle (SEA) to Las Vegas (LAS) on December 1st departing after 2:00 PM"
"Find me flights to Las Vegas from New York next week"
"Book round-trip flights from San Francisco to Tokyo for 2 adults and 1 child,
departing January 15th, returning January 25th. I want business class."
"Get flights from New York (JFK) to Las Vegas (LAS) for November 25-30
to catch Chris Tucker at the Encore Theater. Show me the best options."
"Find me flights from Denver to Miami on December 10th before 10:00 AM"
"Show me the cheapest flights from Boston (BOS) to Orlando (MCO)
for 2 adults departing March 1st"
Common US airports:
- JFK - New York (LaGuardia)
- LAX - Los Angeles
- ORD - Chicago
- DFW - Dallas-Fort Worth
- ATL - Atlanta
- DEN - Denver
- SFO - San Francisco
- LAS - Las Vegas
- MIA - Miami
- BOS - Boston
Use any IATA airport code (check skyscanner.com or flightradar24.com for codes).
See installation instructions above. β
- Open Cursor Settings
- Go to MCP tab
- Create
.cursor/mcp.jsonin your project or~/.cursor/mcp.jsonglobally - Add this configuration:
{
"mcpServers": {
"flights": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/flights-mcp-server",
"run",
"flights.py"
]
}
}
}Refer to your client's MCP documentation and follow the same configuration pattern.
All tools return structured flight data:
{
"flights": [
{
"airline": "United Airlines",
"departure_time": "10:30 AM",
"arrival_time": "1:45 PM",
"duration": "5h 15m",
"stops": 1,
"price": "$245",
"route": "JFK β LAS"
}
],
"total_results": 40,
"search_params": {
"origin": "JFK",
"destination": "LAS",
"departure_date": "2025-11-25"
}
}"Book me flights from New York to San Francisco for next Monday morning, returning Friday evening. I need business class."
"Find family flights from Chicago to Orlando for Christmas week. I need seats for 2 adults and 2 children."
"Show me the cheapest flights from Los Angeles to Denver for the weekend."
"Get me flights to Las Vegas for Thanksgiving to catch comedy shows. Departing November 25, returning November 30."
β οΈ One-Way Only - Currently processes one-way flights (round-trips are handled as two one-way searches)- π Round-trip and multi-city bookings coming soon
- π³ Payment integration in development
We'd love your help! Here's how to contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Round-trip flights support
- Multi-city booking
- Payment integration
- Seat selection UI
- Calendar sync automation
Just raise a PR or open an issue!
python-dotenv- Environment variable managementrequests- HTTP client for Google Flights APImcp- Model Context Protocol SDK
- No personal data stored on our servers
- All flight searches are real-time queries to Google Flights
- MCP communication is end-to-end encrypted
- Open source for full transparency
This project is licensed under the MIT License. See LICENSE for details.
Have questions?
- π Check the MCP Documentation
- π Report bugs
- π‘ Request features
- π¬ Start a discussion
Watch the Flight MCP Server in action:
User: "Get me flights from New York to Las Vegas for Thanksgiving week"
Claude Desktop:
β Intent detected: Travel to Las Vegas, Nov 25-30
β Searching flights: JFK β LAS
β Found 40+ options
β Top 3 results:
1. United $245 - 5h 15m (1 stop)
2. Delta $289 - 4h 50m (Direct) β Recommended
3. Southwest $212 - 6h 10m (2 stops)
Book? Yes β Calendar invite sent β
- Basic flight search
- Price filtering
- Time-based filtering
- Round-trip booking
- Multi-city itineraries
- Integrated payment processing
- Seat selection UI
- Hotel + flight bundles
- Loyalty program integration
- Mobile app support
Flight MCP Server is built to make travel planning frictionless.
Start booking flights conversationally today!
If you find this project helpful, please give it a star on GitHub! It helps others discover the project.
git star smamidipaka6/flights-mcp-serverMade with β€οΈ by Sahit Mamidipaka
Let's make booking frictionless. Together.