google-flights-mcp
Provides flight search capabilities via Google Flights, including one-way, round-trip, and multi-city itineraries with support for travel class, airline alliances, and currency preferences.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-flights-mcp Search one-way flights from ZRH to NRT on April 5"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
google-flights-mcp
MCP server for Google Flights search via SerpApi. Optimized for Business/First class, Star Alliance, multi-city itineraries with EUR pricing.
Features
search_flights — One-way or round-trip search
search_multi_city — Multi-leg itineraries (2-5 legs)
get_booking_options — Direct airline booking links
get_usage — Monthly API usage tracker
Defaults
All defaults are configurable via environment variables in your MCP config:
Env var | Default | Description |
| (required) | Your SerpApi API key |
|
| 1=Economy, 2=Premium Economy, 3=Business, 4=First |
|
| Airline/alliance filter |
|
| Price currency |
|
| Google locale (affects pricing region) |
|
| Language |
|
| Number of passengers |
|
| Preferred connection airports |
|
| Home airports |
|
| Max flight results per search |
|
| Monthly search budget |
|
| Cache duration in ms (1hr) |
|
| Cache directory path |
Example with custom settings:
{
"mcpServers": {
"google-flights": {
"command": "node",
"args": ["/path/to/google-flights-mcp/dist/index.js"],
"env": {
"SERPAPI_KEY": "your-key",
"DEFAULT_TRAVEL_CLASS": "1",
"DEFAULT_AIRLINES": "",
"DEFAULT_CURRENCY": "USD",
"DEFAULT_GL": "us"
}
}
}
}Related MCP server: Google Flights MCP
Setup
1. Get a SerpApi key
Sign up at serpapi.com — free tier gives 100 searches/month.
2. Build
npm install
npm run build3. Configure Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or equivalent:
{
"mcpServers": {
"google-flights": {
"command": "node",
"args": ["/absolute/path/to/google-flights-mcp/dist/index.js"],
"env": {
"SERPAPI_KEY": "your-key-here"
}
}
}
}4. Configure Claude Code
Add to ~/.claude/mcp.json:
{
"mcpServers": {
"google-flights": {
"command": "node",
"args": ["/absolute/path/to/google-flights-mcp/dist/index.js"],
"env": {
"SERPAPI_KEY": "your-key-here"
}
}
}
}Usage Examples
Simple round-trip
"Find Business class flights from VIE to NRT, departing March 15 returning March 25"
Multi-city
"Search multi-city: VIE→NRT March 15, NRT→BKK March 20, BKK→VIE March 25"
Booking
"Get booking options for this flight" (uses booking_token from search results)
Caching
Responses are cached locally for 1 hour (matching SerpApi's server-side cache). Cached searches don't count against the 100/month limit. Cache files stored in .cache/ directory.
API Budget
Every tool response includes a usage footer showing current consumption:
📊 API Usage: 43/100 searches used (57 remaining) · Resets March 1, 2026Multi-city searches cost 1 API call per leg (a 3-leg trip = 3 searches).
Development
npm run dev # Watch mode
npm run build # Build once
npm start # Run serverTesting
One real API call per endpoint to capture fixtures, then mock everything:
# Capture fixtures (one-time, needs SERPAPI_KEY)
SERPAPI_KEY=xxx npx ts-node test/capture-fixtures.ts
# Run tests (no API key needed)
npm testAvailable Tools
4 toolsget_booking_optionsA
Get direct airline booking links and prices for selected flights. Requires a booking_token from a previous search result. Returns airline-direct and third-party booking URLs with prices.
Inputs: booking_token (required).
get_usageA
Check current monthly SerpApi usage against the free tier limit (100 searches/month). Cached searches are free and not counted.
Inputs: no named parameters.
search_flightsA
Search for one-way or round-trip flights. Returns Business class, Star Alliance results by default with EUR pricing. Use for simple A→B or A→B→A searches.
Inputs: arrival_id (required), departure_id (required), outbound_date (required), stops, +4 more.
search_multi_cityA
Search for multi-city/multi-leg flights (2-5 legs). Primary tool for complex itineraries. Returns Leg 1 options first — use departure_token from results to fetch subsequent legs. Each leg costs 1 API search. Defaults: Business class, Star Alliance, EUR.
Inputs: legs (required), airlines, travel_class, departure_token.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
search_flights and search_multi_city are distinct in scope (simple vs. multi-leg), and get_booking_options and get_usage serve clearly different purposes. Minor potential confusion between search_flights and search_multi_city for 2-leg itineraries, but descriptions provide clear guidance.
All tools follow a consistent snake_case verb_noun pattern (get_booking_options, search_flights, search_multi_city, get_usage). No deviations in convention.
Four tools cover the essential workflow: searching flights (simple and multi-city), booking, and usage monitoring. Each tool is necessary and well-scoped for the purpose.
Covers flight search, booking options, and usage tracking, which are core to the domain. Missing operations like cancellation or booking completion, but booking links are provided for external completion.
Maintenance
Related MCP Connectors
Flight search MCP server providing search, pagination, and itinerary details for AI assistants.
Search and compare flight offers through a cache-aware Streamable HTTP MCP server for AI agents.
Real-time Google Flights fares for agents. Three things people do with this server. Scan for deals: one call takes a date range and a list of destination airports, expands every combination server side, and returns each fare with Google's own low, typical or high verdict. Put live search in your app: flat JSON with a bookable link on every result, and round trips priced as paired legs. Run a 24/7 AI travel agent: add the server, sign in with Google, and schedule it. No ads, no sponsored content. You bring your own RapidAPI key, so every search is billed to your plan and never to anyone else's. Add https://flights.flightpowers.com/mcp , click Sign in, sign in with Google, and paste your RapidAPI key once on the page that opens. Scripts and clients without a sign-in button send the key as x-rapidapi-key on the same URL.
Geo-based flight search MCP server. Find more flights between any two places on earth
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceThis MCP server allows an AI assistants to search for flight information online using Google Flights. It can find flights for specific dates or search through a range of dates to find all options or just the cheapest ones available.27-
- FlicenseNot gradedqualityNot gradedmaintenanceA remote MCP server that searches Google Flights for flight information and airport codes. It enables users to find flights, locate airports, and generate travel dates through natural language interactions.-
- AlicenseNot gradedqualityDmaintenanceMCP server that provides standardized access to Google Maps, Flights, Hotels, and other search services, enabling AI assistants to perform various searches.MIT
- FlicenseAqualityDmaintenanceAn MCP server for holiday flight planning powered by Google Flights via SerpAPI, enabling real-time flight search, destination discovery, airport comparison, and multi-country trip planning.13-