About google-flights
google-flights is an MCP server for searching Google Flights, covering flight search, date-price grids and airport code lookup. It requires no API key, which suits users comparing fares or looking up IATA airport codes.
Key features
- 01Flight search with cabin, stop, sorting and pagination filters
- 02Date-price grid showing lowest fare for about 60 days
- 03Airport IATA code lookup by city, airport name or partial code
- 04Multi-passenger support for adults, children and infants
- 05Built-in rate limiting to avoid throttling
Use cases
- 01Finding the cheapest nonstop flights on a route
- 02Identifying the lowest-fare travel dates within a month
- 03Looking up IATA airport codes for a city
MCP support
This project is an MCP server that exposes the search_flights, get_date_grid and find_airport_code tools, along with the google-flights://config resource, to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
3Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| adults | number | No | Number of adult passengers (default: 1) |
| offset | number | No | Pagination offset (default: 0) |
| origin | string | Yes | Origin airport IATA code (e.g., "SFO") |
| sort_by | enum | No | Sort order (default: best)best | price | duration | departure | arrival |
| children | number | No | Number of child passengers (default: 0) |
| currency | string | No | Currency code for prices (default: USD) |
| max_stops | enum | No | Max stops filter (default: any)any | nonstop | 1 | 2 |
| trip_type | enum | No | Trip type (default: one_way)one_way | round_trip |
| seat_class | enum | No | Cabin class (default: economy)economy | premium_economy | business | first |
| destination | string | Yes | Destination airport IATA code (e.g., "LAX") |
| max_results | number | No | Max results per page, 1-50 (default: 20) |
| return_date | string | No | Return date in YYYY-MM-DD (required for round_trip) |
| departure_date | string | Yes | Departure date in YYYY-MM-DD format |
| infants_on_lap | number | No | Number of infants on lap (default: 0) |
| infants_in_seat | number | No | Number of infants with own seat (default: 0) |
| exclude_basic_economy | boolean | No | Exclude basic economy fares (default: true). Set to false to include all fare tiers. |
Details
From the project READMEGoogle Flights MCP Server
MCP server for searching Google Flights. Provides flight search, date-price grids for finding cheapest travel dates, and airport IATA code lookup. No API key required.
Highlights
- Flight search with full filtering (cabin class, stops, sorting, pagination)
- Date-price grid for finding cheapest travel dates across ~60 days
- Airport IATA code lookup by city name, airport name, or partial code
- No API key or authentication required
- Multi-passenger support (adults, children, infants)
- Multiple currency support
- Built-in rate limiting to avoid throttling
- TypeScript with strict type checking
Capabilities
Tools
| Tool | Description |
|---|---|
search_flights | Search for flights with full filtering, sorting, and pagination |
get_date_grid | Get a date-price grid showing the cheapest flight price for each day |
find_airport_code | Look up airport IATA codes by city name, airport name, or partial code |
Resources
| Resource | Description |
|---|---|
google-flights://config | Server configuration and available tools |
Quick Start
Claude Desktop Configuration
If this is your first time using MCP Servers, make sure you have the Claude Desktop application and follow the official MCP setup instructions.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"google-flights": {
"command": "npx",
"args": ["-y", "google-flights-mcp-server"]
}
}
}
Restart Claude Desktop and you should be ready to go!
Example Usage
Search for flights:
"Find me the cheapest nonstop flights from SFO to LAX next Friday"
Find cheapest dates:
"When is the cheapest time to fly from JFK to London in March?"
Look up airport codes:
"What are the airport codes for Tokyo?"
Development
Install Dependencies
npm install
Build
npm run build
Running in Development Mode
npm run dev
Testing
# Run manual tests (hits real Google Flights)
npm run test:manual
Project Structure
google-flights/
├── local/ # Local server implementation
│ ├── src/
│ │ └── index.ts # Main entry point
│ └── package.json
├── shared/ # Shared business logic
│ ├── src/
│ │ ├── server.ts # Server factory with DI
│ │ ├── tools.ts # Tool registration
│ │ ├── tools/ # Individual tool implementations
│ │ ├── resources.ts # Resource implementations
│ │ ├── flights-client/ # Google Flights client (protobuf + HTTP)
│ │ └── logging.ts
│ └── package.json
├── tests/ # Test suite
│ └── manual/ # Manual tests against real Google Flights
└── package.json # Root workspace config
License
MIT
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.