Flight Radar
Track aircraft in real-time using the official FlightRadar24 API via MCP tools.
Setup
Use ToolSearch to load the FR24 MCP tools:
code
ToolSearch query: "+fr24api"
This loads all available FR24 tools. Key tools:
| Tool | Purpose | Key Parameters |
|---|---|---|
get_live_flights_positions_full | Real-time position by registration or callsign | registrations, callsigns, flights (arrays) |
get_flight_summary_full | Recent flight history with departure/arrival details | flights (array of flight numbers/callsigns) |
get_flight_tracks | Detailed positional track for a specific flight | flight_id |
get_airline_info | Airline details by ICAO/IATA code | code |
get_airport_info_full | Airport details and stats | code |
Workflow
Track by tail number (registration)
- •Load tools:
ToolSearchwith+fr24api - •Call
get_live_flights_positions_fullwithregistrations: ["N12345"] - •If found, present position, altitude, speed, heading, route
- •For flight history, call
get_flight_summary_fullwith the callsign from step 2
Track by callsign or flight number
- •Load tools:
ToolSearchwith+fr24api - •Call
get_live_flights_positions_fullwithcallsigns: ["UAL456"]orflights: ["UAL456"] - •Present the results
Get flight history
- •Load tools:
ToolSearchwith+fr24api - •Call
get_flight_summary_fullwith the flight number or callsign
Response Format
Present results clearly with:
- •Registration, callsign, aircraft type
- •Route (origin → destination) with airport names
- •Position (lat/lon), altitude, ground speed, heading
- •Status (in flight, landed, on ground)
- •Departure/arrival times or ETA
Visual Map
To show the user a map, pipe FR24 data through flight-map.py:
bash
echo '<JSON>' | python3 "${CLAUDE_PLUGIN_ROOT}/skills/flight-radar/scripts/flight-map.py" --stdin
The JSON should contain these fields (matching the map template):
json
{
"registration": "N12345",
"callsign": "UAL456",
"aircraft_model": "Boeing 737-800",
"aircraft_type": "B738",
"airline": "United Airlines",
"latitude": 37.1234,
"longitude": -122.5678,
"altitude_ft": 35000,
"ground_speed_kts": 420,
"heading": 270,
"on_ground": false,
"origin": "TEB",
"origin_city": "Teterboro",
"destination": "SFO",
"destination_city": "San Francisco",
"flight_status": "En Route",
"actual_departure": "2025-01-15 14:30 UTC",
"eta": "2025-01-15 20:15 UTC",
"recent_flights": [
{
"origin": "TEB",
"origin_city": "Teterboro",
"destination": "SFO",
"destination_city": "San Francisco",
"departure": "2025-01-14 08:00 UTC"
}
]
}
Map to these fields from the FR24 MCP tool responses. If a field isn't available, omit it — the map handles missing values gracefully.
bash
# Save to a specific file
echo '<JSON>' | python3 "${CLAUDE_PLUGIN_ROOT}/skills/flight-radar/scripts/flight-map.py" --stdin --output map.html
# Generate without opening browser
echo '<JSON>' | python3 "${CLAUDE_PLUGIN_ROOT}/skills/flight-radar/scripts/flight-map.py" --stdin --no-open
The map shows:
- •Dark basemap (CARTO dark tiles) with aircraft icon rotated to heading
- •Info panel with route, altitude, speed, heading, departure/ETA
- •Recent flights table (if available)
- •Auto-adjusting zoom (z6 for cruise, z10 for low altitude, z13 on ground)
If the aircraft data has status: "not_found" or is empty, it renders a styled "not tracked" card.
Limitations
- •Live only: FlightRadar24 tracks aircraft with active ADS-B transponders. Parked/powered-down aircraft won't appear in live positions.
- •No future flights: Scheduled/upcoming flights are not available. Charter and private flights don't publish schedules publicly.
- •API quota: The official API has rate limits based on the subscription tier. Avoid unnecessary repeated calls.