About Flights Mcp Server
This MCP server lets agents and LLMs query Google Flights data for flight options, prices and time filters. It suits users who want flight searches through a chat client, and currently supports one-way searches only, with round-trip requests split into two one-way searches.
Key features
- 01Retrieves detailed flight info for a route
- 02Sorts flights by lowest price
- 03Returns flights marked as best by Google Flights
- 04Filters flights before or after a target time
Use cases
- 01Checking flight options between two cities on a given date
- 02Finding flights departing within a set time window
- 03Comparing fares across airports or dates
MCP support
This is an MCP server that exposes tools such as get_general_flights_info and get_cheapest_flights to MCP clients, providing Google Flights data.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGoogle Flights MCP Server
A Model Context Protocol (MCP) server implementation that connects your Agents or LLMs to Google Flights data. Access flight information, find the cheapest options, filter by time restrictions, and get Google Flights' best recommendations!
🌍 Overview
This MCP server provides seamless access to Google Flights data, enabling your AI agents to:
- Retrieve Comprehensive Flight Info
- Find the Cheapest Available Flights
- Filter flights based on Specific Time Constraints
- Get Google Flights' recommended Best Flights
Note: Currently, this tool only does one-ways (if you ask for a round-trip, it'll do two one-ways though!) as I built it as a fun pet project to learn about MCPs.
If anyone actually finds this useful or wants me to, I can work on adding Round-Trip and Multi-City functionality!! Just raise a PR or hit me up!
🎥 Usage & Demo
Just follow the Quick Start to set this up for Claude Desktop, Cursor, or another MCP Client and just ask away to find out about your desired flight info!!
[Insert Claude Desktop Demo Video]
🛠️ Tools
Available Functions/Tools
-
get_general_flights_info(): Retrieve comprehensive flight information for a given route- Provides detailed flight details for up to 40 flights
- Returns a list of human-readable flight descriptions
-
get_cheapest_flights(): Find the most affordable flight options- Sorts and returns flights by lowest price
- Includes current overall route pricing information
-
get_best_flights(): Get Google Flights' top recommended flights- Identifies and returns flights marked as "best" by Google Flights
- Helps users find optimal flight choices
-
get_time_filtered_flights(): Filter flights by specific time constraints- Search for flights before or after a target time
- Allows precise scheduling preferences
Input Parameters
Required Parameters
-
origin: str- Origin airport IATA code (e.g., "ATL", "SCL", "JFK") -
destination: str- Destination airport IATA code (e.g., "DTW", "ICN", "LIR") -
departure_date: str- Departure date in YYYY-MM-DD format
Optional Parameters
-
trip_type: str- Trip type, either "one-way" or "round-trip" (default: "one-way") -
seat: str- Seat type: "economy", "premium-economy", "business", or "first" (default: "economy") -
adults: int- Number of adult passengers (default: 1) -
children: int- Number of child passengers (default: 0) -
infants_in_seat: int- Number of infants requiring a seat (default: 0) -
infants_on_lap: int- Number of infants traveling on a lap (default: 0)
Additional Parameters for Specific Functions
-
n_flights: int- Number of flights to return (default: 40, only forget_general_flights_info()) -
state: str- Time filter state, either "before" or "after" (only forget_time_filtered_flights()) -
target_time_str: str- Target time in HH:MM AM/PM format (only forget_time_filtered_flights())
⚡ Quick Start
Claude Desktop
-
Make sure you have the latest Claude for Desktop downloaded!
-
Clone This Repo
-
Install
uvto set up our Python EnvironmentMacOS
# Check if uv is already installed uv --version # If not installed curl -LsSf https://astral.sh/uv/install.sh | shWindows
# Check if uv is already installed uv --version # If not installed powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"⚠️ IMPORTANT: After installation, you must restart your terminal for the
uvcommand to get picked up! -
Add this flights MCP Server to your Claude for Desktop config:
MacOS
- Navigate to the config file location via Terminal:
~/Library/Application Support/Claude/claude_desktop_config.json - OR if you have VSCode adn the Code alias, you can just create/edit using:
code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows
- Navigate to the config file location via PowerShell:
%AppData%\Claude\claude_desktop_config.json - OR if you have VSCode adn the Code alias, you can just create/edit using:
code $env:AppData\Claude\claude_desktop_config.jsonNote:
~/Library/Application Support/Claude/config.jsonis a different, unrelated file. Do not edit it. - Navigate to the config file location via Terminal:
-
Add this flights MCP Server in the
mcpServerskey:{ "mcpServers": { "flights": { "command": "/ABSOLUTE/PATH/.local/bin/uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER", "run", "flights.py" ] } } }Make sure to modify the code to include the Absolute Path for
uvfor thecommandparam and for the Absolute Path for theargsparam to this Repo.You may need to put the full path to the
uvexecutable in the command field. You can get this by running:which uvon MacOS/Linuxwhere uvon Windows
Example:
{ "mcpServers": { "flights": { "command": "/Users/sahitmamidipaka/.local/bin/uv", "args": [ "--directory", "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server", "run", "flights.py" ] } } } -
That's it! Open Claude for Desktop and you should see the little MCP Tools icon appear (make sure to re-open the app for updates to take place—you'll need to do this whenever you change your
claude_desktop_config.jsonfile 😊)
For more information, refer to the Official MCP Documentation.
Cursor
-
Open Cursor & Go to Settings
-
Press the MCP Tab on the Left Panel
-
Add a new MCP Server (Choose one):
Project Configuration
- Create a
.cursor/mcp.jsonfile in your project directory - Ideal for tools specific to a single project
Global Configuration
- Create a
~/.cursor/mcp.jsonfile in your home directory - Makes MCP servers available across all Cursor workspaces
- Create a
-
Attach the following configuration in the
mcp.jsonfile:{ "mcpServers": { "flights": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER", "run", "flights.py" ] } } }Make sure to replace
/ABSOLUTE/PATH/TO/PARENT/FOLDERwith the actual path to this repo.You may need to put the full path to the
uvexecutable in the command field. You can get this by running:which uvon MacOS/Linuxwhere uvon Windows
Example:
{ "mcpServers": { "flights": { "command": "/Users/sahitmamidipaka/.local/bin/uv", "args": [ "--directory", "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server", "run", "flights.py" ] } } }
For more information, refer to the Official Cursor MCP Documentation.
🚀 Example Usage
- Show me flight options from Atlanta to Shanghai for Jan 1 2026
- What are the prices like for flights from Detroit to Atlanta this weekend?
- I live in New York and want to go to Japan. Find the cheapest flight options leaving this Friday and consider all airports near me!
- Show me flight options for LAX today but only after 8:00 PM
✨ Upcoming Features
- Better Roundtrip Functionality 🚀
- Multi-City Functionality 🌍
- Explore / Go Anywhere Functionality 🗺️
- Price Graphs & Price History 📈
🤝 Contributing
Feel free to:
- Open issues for bugs or feature requests
- Submit pull requests
- Contact me directly at [email protected]
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
This means you are free to:
- Use the software commercially
- Modify the source code
- Distribute the software
- Use the software privately
You must include the original copyright notice and citation in any distributed software or derivative works, as per the terms of the MIT License.
Thank you for checking out this project! Always feel free to contact me for any reason.
Note: This project was created for fun and is in no way endorsed or affiliated with Google, Google Flights, or any other Alphabet subsidiary company.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.