iflow-mcp_smamidipaka6-google-flights-mcp-server 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Sahit Mamidipaka
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,303 @@
1
+ Metadata-Version: 2.4
2
+ Name: iflow-mcp_smamidipaka6-google-flights-mcp-server
3
+ Version: 0.1.0
4
+ Summary: Google Flights MCP Server !!
5
+ Requires-Python: >=3.11
6
+ Description-Content-Type: text/markdown
7
+ License-File: LICENSE
8
+ Requires-Dist: fast-flights>=2.2
9
+ Requires-Dist: httpx>=0.28.1
10
+ Requires-Dist: mcp[cli]>=1.3.0
11
+ Dynamic: license-file
12
+
13
+ # Google Flights MCP Server
14
+
15
+ 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!
16
+
17
+ ## 🌍 Overview
18
+
19
+ This MCP server provides seamless access to Google Flights data, enabling your AI agents to:
20
+
21
+ - Retrieve **Comprehensive Flight Info**
22
+ - Find the **Cheapest Available Flights**
23
+ - Filter flights based on **Specific Time Constraints**
24
+ - Get Google Flights' recommended **Best Flights**
25
+
26
+ <br>
27
+
28
+ > **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.
29
+ >
30
+ > 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](https://sahit-personal-website.vercel.app/)!
31
+
32
+ ## πŸŽ₯ Usage & Demo
33
+
34
+ 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!!
35
+
36
+ [Insert Claude Desktop Demo Video]
37
+
38
+ ## πŸ› οΈ Tools
39
+
40
+ ### Available Functions/Tools
41
+
42
+ 1. `get_general_flights_info()`: Retrieve comprehensive flight information for a given route
43
+
44
+ - Provides detailed flight details for up to 40 flights
45
+ - Returns a list of human-readable flight descriptions
46
+
47
+ 2. `get_cheapest_flights()`: Find the most affordable flight options
48
+
49
+ - Sorts and returns flights by lowest price
50
+ - Includes current overall route pricing information
51
+
52
+ 3. `get_best_flights()`: Get Google Flights' top recommended flights
53
+
54
+ - Identifies and returns flights marked as "best" by Google Flights
55
+ - Helps users find optimal flight choices
56
+
57
+ 4. `get_time_filtered_flights()`: Filter flights by specific time constraints
58
+ - Search for flights before or after a target time
59
+ - Allows precise scheduling preferences
60
+
61
+ ### Input Parameters
62
+
63
+ #### Required Parameters
64
+
65
+ - `origin: str` - Origin airport IATA code (e.g., "ATL", "SCL", "JFK")
66
+
67
+ - `destination: str` - Destination airport IATA code (e.g., "DTW", "ICN", "LIR")
68
+ - `departure_date: str` - Departure date in YYYY-MM-DD format
69
+
70
+ #### Optional Parameters
71
+
72
+ - `trip_type: str` - Trip type, either "one-way" or "round-trip" (default: "one-way")
73
+
74
+ - `seat: str` - Seat type: "economy", "premium-economy", "business", or "first" (default: "economy")
75
+ - `adults: int` - Number of adult passengers (default: 1)
76
+ - `children: int` - Number of child passengers (default: 0)
77
+ - `infants_in_seat: int` - Number of infants requiring a seat (default: 0)
78
+ - `infants_on_lap: int` - Number of infants traveling on a lap (default: 0)
79
+
80
+ #### Additional Parameters for Specific Functions
81
+
82
+ - `n_flights: int` - Number of flights to return (default: 40, only for `get_general_flights_info()`)
83
+
84
+ - `state: str` - Time filter state, either "before" or "after" (only for `get_time_filtered_flights()`)
85
+ - `target_time_str: str` - Target time in HH:MM AM/PM format (only for `get_time_filtered_flights()`)
86
+
87
+ ## ⚑ Quick Start
88
+
89
+
90
+ ### Claude Desktop
91
+
92
+ 1. Make sure you have the latest [Claude for Desktop](https://claude.ai/download) downloaded!
93
+
94
+ 2. Clone This Repo
95
+
96
+ 3. Install `uv` to set up our Python Environment
97
+
98
+ #### MacOS
99
+
100
+ ```bash
101
+ # Check if uv is already installed
102
+ uv --version
103
+
104
+ # If not installed
105
+ curl -LsSf https://astral.sh/uv/install.sh | sh
106
+ ```
107
+
108
+ #### Windows
109
+
110
+ ```powershell
111
+ # Check if uv is already installed
112
+ uv --version
113
+
114
+ # If not installed
115
+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
116
+ ```
117
+
118
+ ⚠️ IMPORTANT: After installation, you must restart your terminal for the `uv` command to get picked up!
119
+
120
+
121
+ 4. Add this flights MCP Server to your Claude for Desktop config:
122
+
123
+ #### MacOS
124
+
125
+ - Navigate to the config file location via Terminal: `~/Library/Application Support/Claude/claude_desktop_config.json`
126
+ - OR if you have VSCode adn the Code alias, you can just create/edit using:
127
+
128
+ ```bash
129
+ code ~/Library/Application\ Support/Claude/claude_desktop_config.json
130
+ ```
131
+
132
+ #### Windows
133
+
134
+ - Navigate to the config file location via PowerShell: `%AppData%\Claude\claude_desktop_config.json`
135
+ - OR if you have VSCode adn the Code alias, you can just create/edit using:
136
+
137
+ ```powershell
138
+ code $env:AppData\Claude\claude_desktop_config.json
139
+ ```
140
+
141
+ Note: `~/Library/Application Support/Claude/config.json` is a different, unrelated file. Do not edit it.
142
+
143
+ 5. Add this flights MCP Server in the `mcpServers` key:
144
+
145
+ ```json
146
+ {
147
+ "mcpServers": {
148
+ "flights": {
149
+ "command": "/ABSOLUTE/PATH/.local/bin/uv",
150
+ "args": [
151
+ "--directory",
152
+ "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
153
+ "run",
154
+ "flights.py"
155
+ ]
156
+ }
157
+ }
158
+ }
159
+ ```
160
+
161
+ Make sure to modify the code to include the Absolute Path for `uv` for the `command` param and for the Absolute Path for the `args` param to this Repo.
162
+
163
+ You may need to put the full path to the `uv` executable in the command field. You can get this by running:
164
+ - `which uv` on MacOS/Linux
165
+ - `where uv` on Windows
166
+
167
+ Example:
168
+
169
+ ```json
170
+ {
171
+ "mcpServers": {
172
+ "flights": {
173
+ "command": "/Users/sahitmamidipaka/.local/bin/uv",
174
+ "args": [
175
+ "--directory",
176
+ "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server",
177
+ "run",
178
+ "flights.py"
179
+ ]
180
+ }
181
+ }
182
+ }
183
+ ```
184
+
185
+
186
+
187
+
188
+
189
+ 6. 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.json` file 😊)
190
+
191
+ <!-- Claude Desktop MCP Tools Icon -->
192
+ <img src="./assets/images/claude-mcp-tool.png" alt="Claude Desktop MCP Tools Icon" />
193
+
194
+ For more information, refer to the [Official MCP Documentation](https://modelcontextprotocol.io/quickstart/server).
195
+ <br>
196
+
197
+ ### Cursor
198
+
199
+ 1. Open Cursor & Go to Settings
200
+
201
+ 2. Press the MCP Tab on the Left Panel
202
+
203
+ 3. Add a new MCP Server (Choose one):
204
+
205
+ #### Project Configuration
206
+
207
+ - Create a `.cursor/mcp.json` file in your project directory
208
+ - Ideal for tools specific to a single project
209
+
210
+ #### Global Configuration
211
+
212
+ - Create a `~/.cursor/mcp.json` file in your home directory
213
+ - Makes MCP servers available across all Cursor workspaces
214
+
215
+ 4. Attach the following configuration in the `mcp.json` file:
216
+
217
+ ```json
218
+ {
219
+ "mcpServers": {
220
+ "flights": {
221
+ "command": "uv",
222
+ "args": [
223
+ "--directory",
224
+ "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
225
+ "run",
226
+ "flights.py"
227
+ ]
228
+ }
229
+ }
230
+ }
231
+ ```
232
+
233
+ Make sure to replace `/ABSOLUTE/PATH/TO/PARENT/FOLDER` with the actual path to this repo.
234
+
235
+ You may need to put the full path to the `uv` executable in the command field. You can get this by running:
236
+ - `which uv` on MacOS/Linux
237
+ - `where uv` on Windows
238
+
239
+ Example:
240
+
241
+ ```json
242
+ {
243
+ "mcpServers": {
244
+ "flights": {
245
+ "command": "/Users/sahitmamidipaka/.local/bin/uv",
246
+ "args": [
247
+ "--directory",
248
+ "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server",
249
+ "run",
250
+ "flights.py"
251
+ ]
252
+ }
253
+ }
254
+ }
255
+ ```
256
+
257
+
258
+ <!-- Cursor MCP Image -->
259
+ <img src="./assets/images/cursor-mcp.png" alt="Cursor Flights MCP Image" />
260
+
261
+ For more information, refer to the [Official Cursor MCP Documentation](https://docs.cursor.com/context/model-context-protocol).
262
+
263
+
264
+ ## πŸš€ Example Usage
265
+
266
+ - Show me flight options from Atlanta to Shanghai for Jan 1 2026
267
+ - What are the prices like for flights from Detroit to Atlanta this weekend?
268
+ - 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!
269
+ - Show me flight options for LAX today but only after 8:00 PM
270
+
271
+ ## ✨ Upcoming Features
272
+
273
+ - Better Roundtrip Functionality πŸš€
274
+ - Multi-City Functionality 🌍
275
+ - Explore / Go Anywhere Functionality πŸ—ΊοΈ
276
+ - Price Graphs & Price History πŸ“ˆ
277
+
278
+ ## 🀝 Contributing
279
+
280
+ Feel free to:
281
+
282
+ - Open issues for bugs or feature requests
283
+ - Submit pull requests
284
+ - Contact me directly at sahit.mamidipaka@gmail.com
285
+
286
+ ## πŸ“„ License
287
+
288
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
289
+
290
+ This means you are free to:
291
+
292
+ - Use the software commercially
293
+ - Modify the source code
294
+ - Distribute the software
295
+ - Use the software privately
296
+
297
+ You must include the original copyright notice and citation in any distributed software or derivative works, as per the terms of the MIT License.
298
+
299
+ ---
300
+
301
+ Thank you for checking out this project! Always feel free to contact me for any reason.
302
+
303
+ > **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.
@@ -0,0 +1,291 @@
1
+ # Google Flights MCP Server
2
+
3
+ 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!
4
+
5
+ ## 🌍 Overview
6
+
7
+ This MCP server provides seamless access to Google Flights data, enabling your AI agents to:
8
+
9
+ - Retrieve **Comprehensive Flight Info**
10
+ - Find the **Cheapest Available Flights**
11
+ - Filter flights based on **Specific Time Constraints**
12
+ - Get Google Flights' recommended **Best Flights**
13
+
14
+ <br>
15
+
16
+ > **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.
17
+ >
18
+ > 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](https://sahit-personal-website.vercel.app/)!
19
+
20
+ ## πŸŽ₯ Usage & Demo
21
+
22
+ 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!!
23
+
24
+ [Insert Claude Desktop Demo Video]
25
+
26
+ ## πŸ› οΈ Tools
27
+
28
+ ### Available Functions/Tools
29
+
30
+ 1. `get_general_flights_info()`: Retrieve comprehensive flight information for a given route
31
+
32
+ - Provides detailed flight details for up to 40 flights
33
+ - Returns a list of human-readable flight descriptions
34
+
35
+ 2. `get_cheapest_flights()`: Find the most affordable flight options
36
+
37
+ - Sorts and returns flights by lowest price
38
+ - Includes current overall route pricing information
39
+
40
+ 3. `get_best_flights()`: Get Google Flights' top recommended flights
41
+
42
+ - Identifies and returns flights marked as "best" by Google Flights
43
+ - Helps users find optimal flight choices
44
+
45
+ 4. `get_time_filtered_flights()`: Filter flights by specific time constraints
46
+ - Search for flights before or after a target time
47
+ - Allows precise scheduling preferences
48
+
49
+ ### Input Parameters
50
+
51
+ #### Required Parameters
52
+
53
+ - `origin: str` - Origin airport IATA code (e.g., "ATL", "SCL", "JFK")
54
+
55
+ - `destination: str` - Destination airport IATA code (e.g., "DTW", "ICN", "LIR")
56
+ - `departure_date: str` - Departure date in YYYY-MM-DD format
57
+
58
+ #### Optional Parameters
59
+
60
+ - `trip_type: str` - Trip type, either "one-way" or "round-trip" (default: "one-way")
61
+
62
+ - `seat: str` - Seat type: "economy", "premium-economy", "business", or "first" (default: "economy")
63
+ - `adults: int` - Number of adult passengers (default: 1)
64
+ - `children: int` - Number of child passengers (default: 0)
65
+ - `infants_in_seat: int` - Number of infants requiring a seat (default: 0)
66
+ - `infants_on_lap: int` - Number of infants traveling on a lap (default: 0)
67
+
68
+ #### Additional Parameters for Specific Functions
69
+
70
+ - `n_flights: int` - Number of flights to return (default: 40, only for `get_general_flights_info()`)
71
+
72
+ - `state: str` - Time filter state, either "before" or "after" (only for `get_time_filtered_flights()`)
73
+ - `target_time_str: str` - Target time in HH:MM AM/PM format (only for `get_time_filtered_flights()`)
74
+
75
+ ## ⚑ Quick Start
76
+
77
+
78
+ ### Claude Desktop
79
+
80
+ 1. Make sure you have the latest [Claude for Desktop](https://claude.ai/download) downloaded!
81
+
82
+ 2. Clone This Repo
83
+
84
+ 3. Install `uv` to set up our Python Environment
85
+
86
+ #### MacOS
87
+
88
+ ```bash
89
+ # Check if uv is already installed
90
+ uv --version
91
+
92
+ # If not installed
93
+ curl -LsSf https://astral.sh/uv/install.sh | sh
94
+ ```
95
+
96
+ #### Windows
97
+
98
+ ```powershell
99
+ # Check if uv is already installed
100
+ uv --version
101
+
102
+ # If not installed
103
+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
104
+ ```
105
+
106
+ ⚠️ IMPORTANT: After installation, you must restart your terminal for the `uv` command to get picked up!
107
+
108
+
109
+ 4. Add this flights MCP Server to your Claude for Desktop config:
110
+
111
+ #### MacOS
112
+
113
+ - Navigate to the config file location via Terminal: `~/Library/Application Support/Claude/claude_desktop_config.json`
114
+ - OR if you have VSCode adn the Code alias, you can just create/edit using:
115
+
116
+ ```bash
117
+ code ~/Library/Application\ Support/Claude/claude_desktop_config.json
118
+ ```
119
+
120
+ #### Windows
121
+
122
+ - Navigate to the config file location via PowerShell: `%AppData%\Claude\claude_desktop_config.json`
123
+ - OR if you have VSCode adn the Code alias, you can just create/edit using:
124
+
125
+ ```powershell
126
+ code $env:AppData\Claude\claude_desktop_config.json
127
+ ```
128
+
129
+ Note: `~/Library/Application Support/Claude/config.json` is a different, unrelated file. Do not edit it.
130
+
131
+ 5. Add this flights MCP Server in the `mcpServers` key:
132
+
133
+ ```json
134
+ {
135
+ "mcpServers": {
136
+ "flights": {
137
+ "command": "/ABSOLUTE/PATH/.local/bin/uv",
138
+ "args": [
139
+ "--directory",
140
+ "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
141
+ "run",
142
+ "flights.py"
143
+ ]
144
+ }
145
+ }
146
+ }
147
+ ```
148
+
149
+ Make sure to modify the code to include the Absolute Path for `uv` for the `command` param and for the Absolute Path for the `args` param to this Repo.
150
+
151
+ You may need to put the full path to the `uv` executable in the command field. You can get this by running:
152
+ - `which uv` on MacOS/Linux
153
+ - `where uv` on Windows
154
+
155
+ Example:
156
+
157
+ ```json
158
+ {
159
+ "mcpServers": {
160
+ "flights": {
161
+ "command": "/Users/sahitmamidipaka/.local/bin/uv",
162
+ "args": [
163
+ "--directory",
164
+ "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server",
165
+ "run",
166
+ "flights.py"
167
+ ]
168
+ }
169
+ }
170
+ }
171
+ ```
172
+
173
+
174
+
175
+
176
+
177
+ 6. 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.json` file 😊)
178
+
179
+ <!-- Claude Desktop MCP Tools Icon -->
180
+ <img src="./assets/images/claude-mcp-tool.png" alt="Claude Desktop MCP Tools Icon" />
181
+
182
+ For more information, refer to the [Official MCP Documentation](https://modelcontextprotocol.io/quickstart/server).
183
+ <br>
184
+
185
+ ### Cursor
186
+
187
+ 1. Open Cursor & Go to Settings
188
+
189
+ 2. Press the MCP Tab on the Left Panel
190
+
191
+ 3. Add a new MCP Server (Choose one):
192
+
193
+ #### Project Configuration
194
+
195
+ - Create a `.cursor/mcp.json` file in your project directory
196
+ - Ideal for tools specific to a single project
197
+
198
+ #### Global Configuration
199
+
200
+ - Create a `~/.cursor/mcp.json` file in your home directory
201
+ - Makes MCP servers available across all Cursor workspaces
202
+
203
+ 4. Attach the following configuration in the `mcp.json` file:
204
+
205
+ ```json
206
+ {
207
+ "mcpServers": {
208
+ "flights": {
209
+ "command": "uv",
210
+ "args": [
211
+ "--directory",
212
+ "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
213
+ "run",
214
+ "flights.py"
215
+ ]
216
+ }
217
+ }
218
+ }
219
+ ```
220
+
221
+ Make sure to replace `/ABSOLUTE/PATH/TO/PARENT/FOLDER` with the actual path to this repo.
222
+
223
+ You may need to put the full path to the `uv` executable in the command field. You can get this by running:
224
+ - `which uv` on MacOS/Linux
225
+ - `where uv` on Windows
226
+
227
+ Example:
228
+
229
+ ```json
230
+ {
231
+ "mcpServers": {
232
+ "flights": {
233
+ "command": "/Users/sahitmamidipaka/.local/bin/uv",
234
+ "args": [
235
+ "--directory",
236
+ "/Users/sahitmamidipaka/Documents/Google-Flights-MCP-Server",
237
+ "run",
238
+ "flights.py"
239
+ ]
240
+ }
241
+ }
242
+ }
243
+ ```
244
+
245
+
246
+ <!-- Cursor MCP Image -->
247
+ <img src="./assets/images/cursor-mcp.png" alt="Cursor Flights MCP Image" />
248
+
249
+ For more information, refer to the [Official Cursor MCP Documentation](https://docs.cursor.com/context/model-context-protocol).
250
+
251
+
252
+ ## πŸš€ Example Usage
253
+
254
+ - Show me flight options from Atlanta to Shanghai for Jan 1 2026
255
+ - What are the prices like for flights from Detroit to Atlanta this weekend?
256
+ - 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!
257
+ - Show me flight options for LAX today but only after 8:00 PM
258
+
259
+ ## ✨ Upcoming Features
260
+
261
+ - Better Roundtrip Functionality πŸš€
262
+ - Multi-City Functionality 🌍
263
+ - Explore / Go Anywhere Functionality πŸ—ΊοΈ
264
+ - Price Graphs & Price History πŸ“ˆ
265
+
266
+ ## 🀝 Contributing
267
+
268
+ Feel free to:
269
+
270
+ - Open issues for bugs or feature requests
271
+ - Submit pull requests
272
+ - Contact me directly at sahit.mamidipaka@gmail.com
273
+
274
+ ## πŸ“„ License
275
+
276
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
277
+
278
+ This means you are free to:
279
+
280
+ - Use the software commercially
281
+ - Modify the source code
282
+ - Distribute the software
283
+ - Use the software privately
284
+
285
+ You must include the original copyright notice and citation in any distributed software or derivative works, as per the terms of the MIT License.
286
+
287
+ ---
288
+
289
+ Thank you for checking out this project! Always feel free to contact me for any reason.
290
+
291
+ > **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.