Skip to main content
Glama

search_flights

Find flights using specific criteria such as airline codes, departure and arrival airports, flight status, and results limit. Provides real-time flight tracking and status updates via the FlightRadar MCP Server.

Instructions

Search for flights by various criteria

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
airline_iataNoIATA airline code (e.g., 'BA' for British Airways)
airline_icaoNoICAO airline code (e.g., 'BAW' for British Airways)
arr_iataNoIATA code of arrival airport (e.g., 'JFK')
dep_iataNoIATA code of departure airport (e.g., 'LHR')
flight_statusNoFlight status (e.g., 'scheduled', 'active', 'landed', 'cancelled')
limitNoMaximum number of results to return (default: 10, max: 100)

Implementation Reference

  • The handler function that executes the search_flights tool. It constructs search parameters from input, queries the AviationStack API, handles empty results, formats the flight list, and returns JSON-structured response.
    private async handleSearchFlights(args: any) { const params: Record<string, any> = {}; // Add all provided search parameters if (args.airline_iata) params.airline_iata = args.airline_iata; if (args.airline_icao) params.airline_icao = args.airline_icao; if (args.dep_iata) params.dep_iata = args.dep_iata; if (args.arr_iata) params.arr_iata = args.arr_iata; if (args.flight_status) params.flight_status = args.flight_status; // Set limit with default and maximum values params.limit = Math.min(args.limit || 10, 100); const response = await this.axiosInstance.get("/flights", { params }); if (!response.data.data || response.data.data.length === 0) { return { content: [ { type: "text", text: "No flights found matching the search criteria.", }, ], }; } // Format the flight list for better readability const flights = response.data.data.map((flight: any) => ({ flight_number: flight.flight.number, flight_iata: flight.flight.iata, airline: flight.airline.name, departure: { airport: flight.departure.airport, iata: flight.departure.iata, scheduled: flight.departure.scheduled, }, arrival: { airport: flight.arrival.airport, iata: flight.arrival.iata, scheduled: flight.arrival.scheduled, }, status: flight.flight_status, })); return { content: [ { type: "text", text: JSON.stringify({ total_results: response.data.pagination.total, flights: flights, }, null, 2), }, ], }; }
  • Input schema defining the parameters for the search_flights tool, including airline codes, airport codes, flight status, and result limit with validation.
    inputSchema: { type: "object", properties: { airline_iata: { type: "string", description: "IATA airline code (e.g., 'BA' for British Airways)", }, airline_icao: { type: "string", description: "ICAO airline code (e.g., 'BAW' for British Airways)", }, dep_iata: { type: "string", description: "IATA code of departure airport (e.g., 'LHR')", }, arr_iata: { type: "string", description: "IATA code of arrival airport (e.g., 'JFK')", }, flight_status: { type: "string", description: "Flight status (e.g., 'scheduled', 'active', 'landed', 'cancelled')", enum: ["scheduled", "active", "landed", "cancelled", "incident", "diverted"], }, limit: { type: "number", description: "Maximum number of results to return (default: 10, max: 100)", minimum: 1, maximum: 100, }, },
  • src/index.ts:100-135 (registration)
    Tool registration in the ListToolsRequestSchema handler, providing name, description, and input schema for search_flights.
    { name: "search_flights", description: "Search for flights by various criteria", inputSchema: { type: "object", properties: { airline_iata: { type: "string", description: "IATA airline code (e.g., 'BA' for British Airways)", }, airline_icao: { type: "string", description: "ICAO airline code (e.g., 'BAW' for British Airways)", }, dep_iata: { type: "string", description: "IATA code of departure airport (e.g., 'LHR')", }, arr_iata: { type: "string", description: "IATA code of arrival airport (e.g., 'JFK')", }, flight_status: { type: "string", description: "Flight status (e.g., 'scheduled', 'active', 'landed', 'cancelled')", enum: ["scheduled", "active", "landed", "cancelled", "incident", "diverted"], }, limit: { type: "number", description: "Maximum number of results to return (default: 10, max: 100)", minimum: 1, maximum: 100, }, }, }, },
  • src/index.ts:179-180 (registration)
    Dispatch case in the CallToolRequestSchema handler that routes calls to the search_flights handler function.
    case "search_flights": return await this.handleSearchFlights(request.params.arguments);

Other Tools

Related Tools

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/Cyreslab-AI/flightradar-mcp-server'

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