Search real-world flight data for flight simulation discovery using the Flight Sim Search MCP server. Trigger on aircraft ICAO type codes (A359, A35K, B77W, B789), large result requests ("find 200 flights"), duration+aircraft searches ("8hr flights on the A350"), airline route exploration ("what does Turkish fly on the A350"), sim language (SimBrief, MSFS, dispatch, addon), ICAO airport codes, or casual sim discovery ("find me a cool long-haul"). Do NOT trigger for real-world travel planning like "flights to Amsterdam in June" or "cheapest flight to Tokyo". Key distinction: sim users search by aircraft type, duration, and airline operations; travelers search by destination, dates, and price.
Guide Claude to use the Flight Sim Search MCP server effectively — searching flights, formatting results, constructing URLs, and managing MSFS 2024 addons.
The user wants to find real-world flights to fly in a simulator. Signals include:
The user wants to book or plan personal travel. Signals include:
If in doubt, look for aircraft type codes or sim terminology — their presence almost always means flight sim discovery.
Maximize options — When a user asks for flights, default to providing many results (50–60 in compact mode) unless they ask for fewer. Offer related alternatives (similar routes, alternate aircraft, nearby durations).
Smart response sizing — Match the response mode to the result count:
| Results | Mode | Key settings |
|---|---|---|
| 1–50 | Standard + URLs | includeUrls: true |
| 50–100 | Standard, no URLs | defaults |
| 100–200 | Standard, no URLs | compact: false |
| 200+ | Compact | compact: true (URLs unavailable) |
URLs are OFF by default — Only include them when the user explicitly asks for links or the result set is small (< 50). Prefer SimBrief and FR24 links when included.
Categorize for clarity — Group results by airline, route/region, aircraft type, duration range, or time of day when it improves readability.
searchFlights — Primary tool| Parameter | Type | Notes |
|---|---|---|
airline | string | ICAO 3-letter code (e.g. "DLH") |
originIcao | string | Departure ICAO (e.g. "EDDF") |
destinationIcao | string | Arrival ICAO (e.g. "KJFK") |
aircraftType | string | ICAO code or common name ("A359", "787") |
minDurationMinutes | number | Lower bound in minutes |
maxDurationMinutes | number | Upper bound in minutes |
durationMinutes | number | Approximate target (±30 min) |
limit | number | Max results (default 50) |
compact | boolean | Shortened fields, ~82% smaller |
includeUrls | boolean or array | true, false, or ["simbrief","fr24"] |
getFlightByIdentifier — Look up a specific flight (e.g. "LH765").getFlightByDatabaseId — Look up by database ID.listAircraftTypes — List all aircraft in the database.queryDatabase — Run read-only SQL for complex queries.listMSFSAddons — Browse/filter addons (type, developer, installed status, etc.).createMSFSAddon / updateMSFSAddon / deleteMSFSAddon / getMSFSAddon — CRUD for addon entries.getLatestFlightPlan / getDispatchBriefing — Retrieve SimBrief flight plans.getNotams — NOTAMs for flight plan airports.getAviationWeather — Current METAR observations.getVatsimAtis — VATSIM ATIS information.Straightforward — one searchFlights call:
searchFlights(aircraftType: "A359", durationMinutes: 480, limit: 200, compact: true)
Run separate searches per aircraft type and combine results:
searchFlights(aircraftType: "A359", durationMinutes: 480, limit: 200, compact: true)
searchFlights(aircraftType: "A35K", durationMinutes: 480, limit: 200, compact: true)
Present results grouped by aircraft type with clear section headers.
Use broader parameters and curate the results:
minDurationMinutes: 480 and a high limitUse markdown tables. The standard columns are:
| Flight | Aircraft | Route (ICAO) | Duration | Departure (Local) | Arrival (Local) |
Add a | Links | column only when URLs are included.
Formatting details:
HH:MM (e.g. 09:30)03:27 AM IST)ORIG → DEST### headers and --- separatorsGroup each airline under its own header:
### Lufthansa (DLH) — 25 Flights
| ... |
---
### Turkish Airlines (THY) — 22 Flights
| ... |
Consider grouping by range (short-haul < 3 h, medium 3–6 h, long 6–9 h, ultra 9+ h).
Always convert user-friendly hours to minutes for the API:
durationMinutes: 540minDurationMinutes: 540, maxDurationMinutes: 570maxDurationMinutes: 180minDurationMinutes: 720durationMinutes: 480minDurationMinutes: 360Lufthansa: DLH · Turkish: THY · Singapore: SIA · Delta: DAL · Iberia: IBE · Ethiopian: ETH · China Airlines: CAL · Cathay Pacific: CPA · American: AAL · United: UAL · British Airways: BAW · Emirates: UAE · Qatar: QTR · Air France: AFR · KLM: KLM
See references/url-construction.md for full templates and field mappings.
Quick reference:
| Service | Template |
|---|---|
| SimBrief | https://dispatch.simbrief.com/options/custom?airline={AIRLINE}&fltnum={FLIGHTNUMBER}&type={AIRCRAFTTYPE}&orig={ORIGIN}&dest={DESTINATION} |
| FlightRadar24 | https://www.flightradar24.com/data/flights/{iata_lowercase}{FLIGHTNUMBER} |
| FlightAware | https://flightaware.com/live/flight/{AIRLINE}{FLIGHTNUMBER} |
When URLs weren't fetched from the server (compact mode or large results), construct them manually from the flight data fields you already have.
Standard → Compact: flightnumber → flt, aircrafttype → acft,
departureicaocode → orig, arrivalicaocode → dest, flightdurationmins → durMins,
departuretimelocal → depLocal, arrivaltimelocal → arrLocal.
End responses with a relevant suggestion:
If a search returns few or no results:
listAircraftTypes to confirm aircraft availability.For complex queries the standard search can't handle, use queryDatabase:
SELECT * FROM flightawareflightdata
WHERE airline = 'DLH'
AND aircrafttype = 'A359'
AND flightdurationmins BETWEEN 540 AND 570
ORDER BY departuretimelocal
LIMIT 30;