Skip to main content
Glama

Google Flights MCP Server

by HaroldLeo
FIXES_SUMMARY.md3.72 kB
# Google Flights MCP Server - Issue Fixes Summary ## Issues Addressed This document summarizes the fixes applied to address issues with the Google Flights MCP server. ### 1. ✅ Fixed: SimpleDatetime Formatting Issue **Problem:** Arrival/departure times were displaying as raw object representations like `"SimpleDatetime(date=[2025, 11, 20]"` instead of formatted datetime strings. **Root Cause:** The `format_datetime()` function was falling back to `str(simple_datetime)` when encountering SimpleDatetime objects that had missing or None time attributes. **Solution:** Updated `format_datetime()` function in `server.py` (lines 53-82) to: - Gracefully handle cases where the `time` attribute is missing or None - Return date-only format (YYYY-MM-DD) when time is unavailable - Return full datetime format (YYYY-MM-DD HH:MM) when both date and time are available - Return None as a last resort instead of an object representation **Testing:** Verified with `test_simple_datetime.py` - all edge cases now return properly formatted strings. --- ### 2. ✅ Fixed: Missing Booking URL in Responses **Problem:** The Google Flights booking URL was being logged but not included in successful API responses, making it difficult for AI agents to provide users with booking links. **Root Cause:** The URL was only being generated and included in error responses, not in successful flight search responses. **Solution:** Added `booking_url` field to all successful flight search responses across all tools: - `search_one_way_flights` (line 831, 861) - `search_round_trips` (line 1011, 1044) - `search_round_trips_in_date_range` (lines 1258, 1271, 1280) - Added to each date pair result - `get_multi_city_flights` (line 1415, 1438) - `search_direct_flights` (line 1591, 1620) - `search_flights_by_airline` (line 1778, 1807) - `search_flights_with_max_stops` (line 1949, 1977) **Format:** `"booking_url": "https://www.google.com/travel/flights?tfs={query}&hl=&curr="` --- ### 3. ✅ Available: Best Flights Flag **Status:** The `fast-flights` v2.2 library includes the `is_best` flag for recommended flights. **Details:** Google Flights marks certain flights as "best" based on a combination of price, duration, and convenience. The v2.2 library exposes this through the `is_best` attribute on Flight objects. --- ## Summary of Changes ### Files Modified 1. `src/mcp_server_google_flights/server.py` - Updated `format_datetime()` function (lines 53-82) - Added booking URLs to 7 flight search tool functions ### Files Created (for testing/documentation) 1. `test_simple_datetime.py` - Test script for SimpleDatetime formatting 2. `investigate_raw_data.py` - Analysis script for library limitations 3. `FIXES_SUMMARY.md` - This file ### Test Results - SimpleDatetime formatting: ✅ PASSED (all edge cases handled) - Booking URL inclusion: ✅ IMPLEMENTED (all flight search tools updated) - Best flights flag: ✅ AVAILABLE (v2.2 library support) --- ## Recommendations for AI Agents When using this MCP server: 1. ✅ You can now provide users with direct booking links using the `booking_url` field 2. ✅ The `is_best` field is available for recommended flights 3. ✅ All datetime fields should now be properly formatted (no more raw object representations) 4. ✅ Playwright fallback support is enabled via `fetch_mode="fallback"` for improved reliability 5. 💡 For multi-city trips, recommend using one-way searches as suggested in issue #14 --- ## Future Improvements 1. **Additional Metadata**: Investigate what other useful data is available in the raw Google Flights response 2. **Alternative APIs**: Consider using Google's official Flight Search API if more detailed data is needed

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HaroldLeo/google-flights-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server