FlightRadar MCP Server
Servidor MCP de FlightRadar
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona información de estado y seguimiento de vuelos en tiempo real mediante la API de AviationStack.
Características
Este servidor MCP proporciona tres herramientas principales:
get_flight_data : Obtenga información detallada sobre un vuelo específico por su código IATA o ICAO
search_flights : busca vuelos por diversos criterios como aerolínea, aeropuertos de salida/llegada y estado
get_flight_status : Obtenga un resumen de estado legible para humanos para un vuelo específico
Related MCP server: Aviationstack MCP Server
Instalación
Instalación mediante herrería
Para instalar flightradar-mcp-server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @Cyreslab-AI/flightradar-mcp-server --client claudePrerrequisitos
Node.js (v14 o superior)
npm (v6 o superior)
Una clave API de AviationStack (obtenga una en aviationstack.com )
Configuración
Clonar este repositorio:
git clone https://github.com/Cyreslab-AI/flightradar-mcp-server.git cd flightradar-mcp-serverInstalar dependencias:
npm installConstruir el servidor:
npm run buildConfigure el servidor en su archivo de configuración MCP:
Para la extensión VSCode de Claude, agregue a
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:{ "mcpServers": { "flightradar": { "command": "node", "args": ["/path/to/flightradar-mcp-server/build/index.js"], "env": { "AVIATIONSTACK_API_KEY": "YOUR_API_KEY_HERE" }, "disabled": false, "autoApprove": [] } } }Para la aplicación de escritorio Claude, agréguela a
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) o una ruta similar en otras plataformas.
Ejemplos de uso
Una vez configurado el servidor, puedes usarlo con Claude para obtener información del vuelo:
Obtener el estado del vuelo
User: What's the status of flight BA855?
Claude: Flight BA855 (British Airways) is currently landed.
Departure: Prague Vaclav Havel Airport (PRG), Terminal 1, Gate B5
Scheduled: 3/25/2025, 11:50:00 AM
Estimated: 3/25/2025, 11:50:00 AM
Arrival: Heathrow (LHR), Terminal 3
Scheduled: 3/25/2025, 1:10:00 PMBuscar vuelos
User: Find British Airways flights
Claude: I found 3212 British Airways flights. Here are the first 3:
1. BA5719: Tucson (TUS) to Dallas/Fort Worth (DFW)
Status: scheduled
Departure: 3/25/2025, 5:00:00 AM
2. BA6096: Prague (PRG) to Helsinki (HEL)
Status: scheduled
Departure: 3/25/2025, 11:40:00 AM
3. BA855: Prague (PRG) to London Heathrow (LHR)
Status: landed
Departure: 3/25/2025, 10:50:00 AMObtener detalles del vuelo
User: Get detailed information about flight BA855
Claude: Here are the details for flight BA855:
Flight: BA855 (BAW855)
Airline: British Airways
Aircraft: Airbus A320 (Registration: G-EUUH)
Departure:
- Airport: Prague Vaclav Havel Airport (PRG/LKPR)
- Terminal: 1, Gate: B5
- Scheduled: 3/25/2025, 10:50:00 AM
Arrival:
- Airport: London Heathrow (LHR/EGLL)
- Terminal: 3
- Scheduled: 3/25/2025, 12:10:00 PM
Status: landedConfiguración de la clave API
Este servidor requiere una clave API de AviationStack para funcionar. Puedes obtener una clave API gratuita (100 solicitudes al mes) en aviationstack.com .
La clave API debe proporcionarse como una variable de entorno denominada AVIATIONSTACK_API_KEY en la configuración de MCP.
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Available Tools
3 toolsget_flight_dataB
Get real-time data for a specific flight by flight number
| Name | Required | Description | Default |
|---|---|---|---|
| flight_iata | No | IATA flight code (e.g., 'BA123') | |
| flight_icao | No | ICAO flight code (e.g., 'BAW123') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get[s] real-time data,' implying a read operation, but doesn't specify if it requires authentication, has rate limits, returns structured data, or handles errors. For a tool with no annotation coverage, this leaves significant gaps in understanding its operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes essential information, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose but lacks details on usage guidelines, behavioral traits, and how it fits with siblings. Without an output schema, it doesn't explain return values, which is a gap, but the concise purpose statement provides a minimal viable foundation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal meaning beyond the input schema, which has 100% coverage. It implies the tool uses a flight number parameter, but doesn't clarify the relationship between 'flight_iata' and 'flight_icao' or why both are options. Since the schema already documents these parameters well, the baseline score of 3 is appropriate, as the description doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get real-time data for a specific flight by flight number.' It specifies the verb ('Get'), resource ('real-time data'), and scope ('specific flight by flight number'), making the intent unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_flight_status' or 'search_flights', which might offer overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions retrieving data 'by flight number,' but doesn't clarify if this is for a single flight lookup, how it differs from 'get_flight_status' (which might focus on status updates) or 'search_flights' (which could handle broader queries). No exclusions, prerequisites, or context for tool selection are included.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flight_statusB
Get the current status of a flight by flight number
| Name | Required | Description | Default |
|---|---|---|---|
| flight_iata | No | IATA flight code (e.g., 'BA123') | |
| flight_icao | No | ICAO flight code (e.g., 'BAW123') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic action without disclosing behavioral traits like data freshness (e.g., real-time vs. cached), error handling (e.g., invalid flight codes), or rate limits. It's minimal and lacks critical operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste, clearly front-loading the core purpose. It's appropriately sized for a simple lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (simple query with two parameters) and full schema coverage, the description is adequate but incomplete due to missing output details (no output schema) and insufficient behavioral context for a tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the two parameters (flight_iata, flight_icao) and their oneOf logic. The description adds no additional meaning beyond implying flight number usage, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('current status of a flight'), making the purpose specific and actionable. It distinguishes from 'get_flight_data' and 'search_flights' by focusing on status retrieval, though it doesn't explicitly differentiate them in the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings ('get_flight_data', 'search_flights'), such as for real-time status vs. historical data or search queries. It also lacks prerequisites like flight number availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_flightsC
Search for flights by various criteria
| Name | Required | Description | Default |
|---|---|---|---|
| airline_iata | No | IATA airline code (e.g., 'BA' for British Airways) | |
| airline_icao | No | ICAO airline code (e.g., 'BAW' for British Airways) | |
| dep_iata | No | IATA code of departure airport (e.g., 'LHR') | |
| arr_iata | No | IATA code of arrival airport (e.g., 'JFK') | |
| flight_status | No | Flight status (e.g., 'scheduled', 'active', 'landed', 'cancelled') | |
| limit | No | Maximum number of results to return (default: 10, max: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('search') without any details about permissions, rate limits, pagination, or what the search returns (e.g., flight details, statuses). For a search tool with no annotations, this is insufficient to inform the agent about operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is appropriately sized for a simple search tool and front-loads the core action ('search for flights'), making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what the search returns (e.g., flight objects, statuses), how results are ordered, or any limitations (e.g., real-time vs. historical data). Without annotations or output schema, the description should provide more context to compensate, but it fails to do so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are well-documented in the schema itself (e.g., IATA/ICAO codes, flight status with enum, limit with default and max). The description adds no additional parameter semantics beyond 'by various criteria', which is redundant. Baseline is 3 when schema coverage is high, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the purpose as 'Search for flights by various criteria', which is clear but vague. It specifies the verb 'search' and resource 'flights', but lacks specificity about what kind of search or how it differs from sibling tools like 'get_flight_data' or 'get_flight_status'. It doesn't provide enough detail to distinguish it from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the sibling tools 'get_flight_data' or 'get_flight_status'. It mentions 'by various criteria', which implies flexibility, but offers no explicit when-to-use or when-not-to-use instructions, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_flight_data - First observed
get_flight_status - First observed
search_flights
TDQS
Scored across 3 tools
The tools 'get_flight_data' and 'get_flight_status' have significant overlap, as flight data typically includes status information, making them ambiguous and prone to misselection. 'search_flights' is more distinct but the other two tools are not clearly differentiated in purpose.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_flight_data, get_flight_status, search_flights). The naming is predictable and readable throughout the set.
With only 3 tools, the count feels thin for a flight radar domain, as it lacks operations like tracking flights by location, getting airport data, or managing alerts. While the tools cover basic queries, the scope seems limited and could benefit from more comprehensive coverage.
The tool set is severely incomplete for a flight radar server, missing essential operations such as retrieving airport information, tracking flights by geographic area, or accessing historical data. This creates significant gaps that will likely cause agent failures in real-world scenarios.
Maintenance
Related MCP Connectors
Aviationstack MCP — global flight + airport + airline data
Flight search MCP server providing search, pagination, and itinerary details for AI assistants.
Geo-based flight search MCP server. Find more flights between any two places on earth
Search and compare flight offers through a cache-aware Streamable HTTP MCP server for AI agents.
Related MCP Servers
AlicenseBqualityDmaintenanceA Model Context Protocol server implementation that provides tools for querying flight information, weather data, and flight comfort metrics through Variflight services.81,149 npm33ISC- AlicenseAqualityAmaintenanceAn MCP server using the AviationStack API to fetch real-time flight data, including airline flights, airport schedules, future flights and aircraft types.13142 PyPI24MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server built with mcp-framework that provides tools for flight-related operations. This appears to be a template or starter project with example tools that can be extended for flight search and booking functionality.1-
- AlicenseAqualityAmaintenanceMCP server for FlightAware AeroAPI that enables live flight tracking, airport boards, operator and aircraft lookup, schedule retrieval, and flight alert management via natural language.34610 npm1MIT