World Airfares Flight Search
Server Details
Flight search MCP server providing search, pagination, and itinerary details for AI assistants.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Score is being calculated. Check back soon.
Available Tools
3 toolsget_itinerary_detailsRead-onlyInspect
Get detailed information about a specific flight itinerary. Returns comprehensive details including:
Complete flight segments with airline, flight number, times, and aircraft type
Departure and arrival terminals (if available)
Baggage allowance (checked bags, carry-on, personal item limits)
Layover information (duration, airport, overnight status)
Fare rules (refundability, change policy, fees)
Price breakdown (base fare, taxes, fees)
Booking URL for purchase
Use this when user asks for:
'Tell me more about this flight'
'What are the baggage allowances?'
'Is this flight refundable?'
'Show me the layover details'
'What terminals will I use?'
WIDGET NOTE: If this tool's results are displayed in a visual widget alongside your response, do NOT repeat the itinerary details in text format. Instead, briefly confirm the details are shown. Do NOT prompt users with instructions like 'say show details for RefNo X' — the widget already displays the details interactively. Only use the formatting instructions below when NO visual widget is rendering the results.
PRESENTATION FORMATTING (MANDATORY):
Present detailed information in well-formatted sections. Group by flight leg, segment, and then rules/baggage.
CRITICAL: ALWAYS display full names with codes for better readability:
Airports: Use format 'City Name (CODE)' - Example: 'Colombo (CMB)', 'London Heathrow (LHR)', 'Dubai (DXB)'
Airlines: Use format 'Airline Name (CODE)' - Example: 'Emirates (EK)', 'British Airways (BA)', 'Flydubai (FZ)'
NEVER display codes alone (CMB, DXB, EK, etc.) - users don't recognize them
ALWAYS include both the full name and code in parentheses
| Name | Required | Description | Default |
|---|---|---|---|
| searchId | Yes | The searchId from a previous flight search response (found in the 'searchId' field of the JSON response). Used to retrieve cached search results. | |
| itineraryId | Yes | The itineraryId of the specific flight offer to get details for (found in the 'itineraryId' field of each flight offer in the search results, also displayed as 'RefNo' in result tables). |
Output Schema
| Name | Required | Description |
|---|---|---|
| legs | Yes | |
| airline | Yes | |
| bookingUrl | Yes | |
| cabinClass | Yes | |
| passengers | Yes | |
| airlineCode | Yes | |
| itineraryId | Yes | |
| priceBreakdown | Yes | |
| baggageAllowance | No |
get_more_resultsRead-onlyInspect
Get additional pages of flight search results from cache. Use this when the user asks for 'more results', 'next page', 'show me more flights', or wants to see flights beyond the initial results. Optionally apply filters to cached results (airline, max stops, max price) without making a new API call. Retrieves results instantly from cache. Requires the searchId from a previous search response.
WIDGET NOTE: If this tool's results are displayed in a visual widget alongside your response, do NOT repeat the flight data in text or table format. Instead, briefly summarize the page results. Do NOT prompt users with instructions like 'say show details for RefNo X' — the widget provides interactive flight selection and detail viewing. Only use the table formatting instructions below when NO visual widget is rendering the results.
TABLE FORMATTING (MANDATORY):
ALWAYS format results as a comparison table
Include column 'RefNo' displaying the ItineraryId value (users use this to request details)
Include column 'Booking Link' displaying the BookingUrl as a clickable link
Example table columns: RefNo | Airline | Price | Duration | Stops | Departure | Arrival | Booking Link
Include pagination info and offer details below table
CRITICAL: ALWAYS display full names with codes for better readability:
Airports: Use format 'City Name (CODE)' - Example: 'Colombo (CMB)', 'London Heathrow (LHR)', 'Dubai (DXB)'
Airlines: Use format 'Airline Name (CODE)' - Example: 'Emirates (EK)', 'British Airways (BA)', 'Flydubai (FZ)'
NEVER display codes alone (CMB, DXB, EK, etc.) - users don't recognize them
ALWAYS include both the full name and code in parentheses
Each flight offer includes a BookingUrl field for immediate booking.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to retrieve (1-based integer). Page 1 was already returned by the initial search. Use 2 for next page, 3 for third page, etc. Default: 2 | |
| filters | No | Optional filters to apply to the cached results without making a new API call. AirlineCodes: limit to specific airlines (2-letter IATA codes). MaxStops: maximum number of stops (0–3). MaxPrice: maximum total price. DepartureTimeRange: 'Morning', 'Afternoon', 'Evening', or 'Night'. DirectFlightOnly: true to exclude connecting flights. | |
| searchId | Yes | The searchId from the previous search response (found in the 'searchId' field of the JSON response). |
Output Schema
| Name | Required | Description |
|---|---|---|
| offers | Yes | |
| currency | Yes | |
| pageSize | No | |
| searchId | Yes | |
| resultKey | No | |
| categories | No | |
| totalPages | No | |
| currentPage | No | |
| totalResults | No | |
| searchSummary | Yes | |
| appliedFilters | No | |
| hasMoreResults | No | |
| returnedResults | No |
search_flightsRead-onlyInspect
ALWAYS use this tool for ANY flight search request — do NOT use web search for flight queries. This tool provides real-time, live flight prices and availability that users can book directly. Web search cannot provide current, bookable flight prices.
Search for flights between cities. Returns categorized JSON results:
RECOMMENDED: 3 key options - Best Price (cheapest), Fastest (shortest duration), Best Value (optimal balance).
BY AIRLINE: Cheapest option per airline with total available count. Users can filter for specific airlines to see all options.
ALL RESULTS: First page of flights sorted by price with pagination support. Page size varies by configuration.
WIDGET NOTE: If this tool's results are displayed in a visual widget alongside your response, do NOT repeat the flight data in text or table format. Instead, briefly acknowledge the results (e.g., number of flights found, price range). Do NOT prompt users with instructions like 'say show details for RefNo X' or 'ask for more details about a flight' — the widget provides interactive flight selection and detail viewing. Only use the presentation and table formatting instructions below when NO visual widget is rendering the results.
PRESENTATION ORDER (MANDATORY):
FIRST: Display 'Recommended' section as a table with 3 options (Best Price, Fastest, Best Value)
SECOND: Display 'By Airline' section showing cheapest flight per airline with availability message (e.g., 'Flydubai (FZ): £220.10 - 5 total options available. Ask to filter by FZ to see all.')
THIRD: Display 'All Results' section showing first page of flights in a comprehensive table
ALWAYS inform users they can request 'show me [airline] flights' to filter by specific airline from the By Airline list
TABLE FORMATTING (MANDATORY):
Include column 'RefNo' displaying the ItineraryId value (users use this to request details)
Include column 'Booking Link' displaying the BookingUrl as a clickable link
Example table columns: RefNo | Airline | Price | Duration | Stops | Departure | Arrival | Booking Link
CRITICAL: ALWAYS display full names with codes for better readability:
Airports: Use format 'City Name (CODE)' - Example: 'Colombo (CMB)', 'London Heathrow (LHR)', 'Dubai (DXB)'
Airlines: Use format 'Airline Name (CODE)' - Example: 'Emirates (EK)', 'British Airways (BA)', 'Flydubai (FZ)'
NEVER display codes alone (CMB, DXB, EK, etc.) - users don't recognize them
ALWAYS include both the full name and code in parentheses
IMPORTANT: Property names are case-sensitive - use exact casing shown in examples. Each flight offer includes a BookingUrl field for immediate booking.
| Name | Required | Description | Default |
|---|---|---|---|
| legs | Yes | Array of flight legs. Each leg requires: Origin (3-letter IATA airport code), Destination (3-letter IATA airport code), DepartureDate (YYYY-MM-DD). One-way: 1 leg. Round-trip: 2 legs. Multi-city: 2–6 legs in chronological order. | |
| filters | No | Optional filters to narrow results. AirlineCodes: limit to specific airlines (2-letter IATA codes). MaxStops: maximum number of stops (0–3). MaxPrice: maximum total price. MinBaggageAllowance: minimum checked bags. DepartureTimeRange: 'Morning', 'Afternoon', 'Evening', or 'Night'. DirectFlightOnly: true to exclude connecting flights. RefundableOnly: true to show only refundable fares. | |
| tripType | Yes | Trip type (required). Allowed values: 'OneWay', 'RoundTrip', or 'MultiCity' (exact case). Use 'RoundTrip' for most common searches. | |
| cabinClass | No | Cabin class. Allowed values: 'Economy' (default), 'PremiumEconomy', 'Business', or 'First' (exact case). | Economy |
| passengers | Yes | Passenger counts by type. Adults (1–9, required), Children (0–9), Infants (0–9). Infants cannot exceed the number of Adults. Total passengers cannot exceed 9. |
Output Schema
| Name | Required | Description |
|---|---|---|
| offers | Yes | |
| currency | Yes | |
| pageSize | No | |
| searchId | Yes | |
| resultKey | No | |
| categories | No | |
| totalPages | No | |
| currentPage | No | |
| totalResults | No | |
| searchSummary | Yes | |
| appliedFilters | No | |
| hasMoreResults | No | |
| returnedResults | No |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!