Skip to main content
Glama

Google Flights MCP Server

by HaroldLeo
TOOLS_SIMPLIFICATION.md7.25 kB
# Amadeus MCP Tools Simplification ## Summary Simplified from **32 tools to 26 tools** by disabling booking tools and predict_trip_purpose that provide minimal practical value. --- ## Disabled Tools (6 total) ### 1. Booking Tools (5 tools) ❌ **Disabled:** - `book_flight` - `get_flight_order` - `cancel_flight_order` - `book_hotel` - `book_transfer` **Reasons for Removal:** 1. **Test Environment Limitations** - Amadeus test environment doesn't create real bookings - No actual tickets or confirmations are issued - Cannot test end-to-end booking flow properly 2. **Complex Requirements** - Requires extensive traveler information: - Full passenger details (name, DOB, gender) - Passport information (number, expiry, nationality) - Contact details (email, phone) - Payment information (card details) - Error-prone data entry - Privacy/security concerns with handling payment data 3. **User Preferences** - Users overwhelmingly prefer to book directly on: - Airline websites (for flights) - Hotel websites or OTAs like Booking.com (for hotels) - Direct provider websites (for transfers) - Reasons: - Loyalty programs and points - Customer service and support - Seat selection and upgrades - Trust and familiarity 4. **Limited MCP Value** - MCP tools excel at **search and discovery** - Booking is a **transactional operation** better suited for dedicated UIs - Users want visual confirmation before booking - Complex booking flows don't translate well to chat interfaces **What Users Should Use Instead:** - ✅ `confirm_flight_price` - Get detailed pricing and taxes - ✅ `get_hotel_offers` - Get hotel availability and rates - ✅ `search_transfers` - Find transfer options and prices - Then book directly on the provider's website --- ### 2. predict_trip_purpose ❌ **Disabled:** - `predict_trip_purpose` - AI prediction of business vs leisure travel **Reasons for Removal:** 1. **Users Already Know** - Business travelers know they're on a business trip - Vacationers know they're on vacation - No need for AI to tell them what they already know 2. **No Actionable Value** - Prediction doesn't influence: - Flight search results - Pricing - Availability - Booking decisions - Users make choices based on: - Price - Schedule - Airline preference - Loyalty programs 3. **Limited Use Cases** - Potential B2B applications (corporate travel management) - Market research (aggregate data analysis) - Neither are primary MCP use cases - Individual travelers don't benefit 4. **Example of "Cool" but Not Useful** ``` User: "I'm flying NYC to Chicago Monday-Friday" AI: "This is probably a business trip (92% confidence)" User: "...okay? I already knew that. What flights are available?" ``` **Better Alternatives:** - Users can simply state their preferences directly - "I need a flight for a business trip" - if it matters - "Looking for a vacation package" - explicit intent - No need for AI inference --- ## Remaining Tools (26) ✅ ### Core Search & Discovery (14 tools) **Flights (11):** 1. `search_flights` ⭐⭐⭐⭐⭐ 2. `confirm_flight_price` ⭐⭐⭐⭐ 3. `flight_inspiration_search` ⭐⭐⭐⭐ 4. `flight_cheapest_dates` ⭐⭐⭐⭐⭐ 5. `analyze_flight_price` ⭐⭐⭐ 6. `predict_flight_delay` ⭐⭐ 7. `get_flight_status` ⭐⭐ **Hotels (4):** 8. `search_hotels_by_city` ⭐⭐⭐⭐⭐ 9. `search_hotels_by_location` ⭐⭐⭐⭐ 10. `get_hotel_offers` ⭐⭐⭐⭐⭐ 11. `get_hotel_ratings` ⭐⭐ **Activities & Transfers (3):** 12. `search_activities` ⭐⭐⭐ 13. `get_activity_details` ⭐⭐ 14. `search_transfers` ⭐⭐⭐ ### Reference Data (6 tools) 15. `search_airports` ⭐⭐⭐⭐ 16. `search_cities` ⭐⭐⭐ 17. `get_nearest_airports` ⭐⭐ 18. `get_airline_info` ⭐⭐ 19. `get_airline_routes` ⭐⭐ 20. `get_airport_routes` ⭐⭐ ### Market Insights (2 tools) 21. `get_travel_insights` ⭐⭐ 22. `get_booking_insights` ⭐⭐ --- ## Benefits of Simplification ### 1. **Clearer Focus** - MCP server now clearly focused on **search** and **discovery** - Removed confusion about booking capabilities - Users know to search with MCP, book elsewhere ### 2. **Reduced Complexity** - Less code to maintain - Fewer edge cases and error scenarios - Simpler documentation ### 3. **Better User Experience** - No false expectations about booking - Faster responses (fewer unused tools) - Clear workflow: Search → Compare → Book externally ### 4. **Easier Testing** - Focus testing on search functionality - Don't need mock booking data - More reliable test coverage ### 5. **Security** - Don't handle sensitive payment information - Reduced liability - Better privacy --- ## Future Considerations ### Tools to Consider Removing Next Based on usage analysis, these tools could also be candidates for removal: **Low Priority Analytics (4 tools) - ⭐⭐:** - `analyze_flight_price` - "Is this a good price?" - subjective - `predict_flight_delay` - Requires complete flight details - `get_flight_status` - Users check airline apps directly - `predict_trip_purpose` - Already removed! **Niche Reference Data (3 tools) - ⭐⭐:** - `get_airline_info` - Just airline names, low value - `get_airline_routes` - "What routes does AA fly?" - limited use - `get_airport_routes` - Can use `flight_inspiration_search` instead **Market Insights (2 tools) - ⭐⭐:** - `get_travel_insights` - "Most popular destinations" - interesting but not essential - `get_booking_insights` - Similar to above ### Core Tools to Always Keep (11 tools) - ⭐⭐⭐⭐⭐ **These are the absolute essentials:** 1. `search_flights` - Primary use case 2. `flight_cheapest_dates` - High value for budget travelers 3. `flight_inspiration_search` - Great for discovery 4. `confirm_flight_price` - Important for accurate pricing 5. `search_hotels_by_city` - Core hotel search 6. `search_hotels_by_location` - Alternative hotel search 7. `get_hotel_offers` - Get availability and pricing 8. `search_airports` - Essential reference data 9. `search_cities` - Essential reference data 10. `search_activities` - Good for trip planning 11. `search_transfers` - Useful airport transport info --- ## Implementation Notes ### How Tools Were Disabled Tools were disabled by: 1. Commenting out `@mcp.tool()` decorator 2. Replacing function body with error message 3. Keeping function in codebase for reference Example: ```python # @mcp.tool() async def book_flight(...): """[DISABLED] Book a flight...""" return json.dumps({ "error": "Booking tools are disabled. Use confirm_flight_price then book on airline website.", "reason": "Test environment does not create real bookings" }) ``` ### To Re-enable If needed, simply: 1. Uncomment `@mcp.tool()` decorator 2. Restore original function implementation --- ## Conclusion By focusing on **search and discovery**, this MCP server now provides: - ✅ Clear, practical value - ✅ Easier to understand and use - ✅ Better aligned with user needs - ✅ More maintainable codebase **Bottom line:** 26 useful tools > 32 tools with 6 that don't work well.

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