get_airline_info
Retrieve airline details including name, ICAO, and IATA codes by providing a valid ICAO code. This tool helps identify airlines from their codes within flight tracking systems.
Instructions
Returns airline name, ICAO and IATA codes. REQUIRED: icao code must be provided and non-empty.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| icao | Yes | Airline ICAO code. |
Implementation Reference
- src/server.ts:395-415 (handler)The MCP tool handler function for 'get_airline_info'. It extracts the ICAO code from input parameters, fetches the airline information using FR24Client, formats the response as text content, and handles errors appropriately.async (params: z.infer<typeof airlineInfoSchema>) => { const { icao } = params; try { console.log(`Raw params received by handler: ${JSON.stringify(params)}`); const airline = await fr24Client.getAirlineInfo(icao); return { content: [{ type: 'text' as const, text: `Airline information (light):\n${JSON.stringify(airline, null, 2)}` }] }; } catch (error) { return { content: [{ type: 'text' as const, text: `Error fetching airline info for ${icao}: ${error instanceof Error ? error.message : 'Unknown error'}` }], isError: true }; } }
- src/server.ts:391-416 (registration)Registration of the 'get_airline_info' tool on the McpServer instance, specifying name, description, input schema, and handler function.server.tool( 'get_airline_info', 'Returns airline name, ICAO and IATA codes. REQUIRED: icao code must be provided and non-empty.', airlineInfoSchema.shape, async (params: z.infer<typeof airlineInfoSchema>) => { const { icao } = params; try { console.log(`Raw params received by handler: ${JSON.stringify(params)}`); const airline = await fr24Client.getAirlineInfo(icao); return { content: [{ type: 'text' as const, text: `Airline information (light):\n${JSON.stringify(airline, null, 2)}` }] }; } catch (error) { return { content: [{ type: 'text' as const, text: `Error fetching airline info for ${icao}: ${error instanceof Error ? error.message : 'Unknown error'}` }], isError: true }; } } );
- src/server.ts:93-93 (schema)Zod schema defining the input parameters for the 'get_airline_info' tool: a required 'icao' string.const airlineInfoSchema = z.object({ icao: z.string().min(1).describe('Airline ICAO code.') });
- src/fr24-client.ts:125-127 (helper)Helper method in FR24Client class that makes the API request to retrieve airline information from the Flightradar24 API endpoint.async getAirlineInfo(icao: string): Promise<AirlineInfo> { return this.makeRequest<AirlineInfo>(`/static/airlines/${icao}/light`); }
- src/types.ts:59-63 (schema)TypeScript interface defining the structure of the AirlineInfo response object used by the tool.export interface AirlineInfo { icao: string; iata: string; name: string; }