@pipeworx/opensky
Connect: https://gateway.pipeworx.io/opensky/mcp · Install: one-click buttons
Tools: 4
Live aircraft positions and airspace-activity summaries, keyless.
Auth
None. No key, no signup.
What this pack actually calls
Not OpenSky. OpenSky Network blackholes datacenter egress — the connection hangs with no response and no reset, from Cloudflare Workers and from a non-CF relay alike, with valid OAuth2 credentials. It works from a residential IP, which is what makes it look fixable; it is not, and credentials do not change it. Do not spend time trying again.
The tools keep the OpenSky names because that is what agents reach for, and
serve the same live picture from the keyless community ADS-B mirrors:
adsb.lol → airplanes.live
→ adsb.fi, tried in that order. Every response
carries a source field naming the mirror that answered and a note saying
the data is not OpenSky’s.
State vectors are returned in OpenSky’s field names and units — metres and m/s, not readsb’s feet and knots — so code written against the OpenSky shape keeps working rather than silently misreading altitudes.
Tools
| Tool | Call it as | Returns |
|---|---|---|
get_states | opensky_get_states | Live state vectors, filtered by icao24 or by lat/lon/radius_nm |
get_aircraft | opensky_get_aircraft | Where one aircraft is right now, by ICAO24 hex |
get_flights | get_flights | Historical flight legs — not available, returns an explicit not-available result naming what does work |
airspace_activity | airspace_activity | Aircraft count, country breakdown, altitude and airborne split over a named region |
Two of these names are also exported by other packs (country-state-city has
its own get_states; flights and adsb both have get_aircraft), so on the
full catalog the gateway exposes this pack’s as opensky_*. The middle column
is what you actually call there. On a scoped connection — /opensky/mcp — the
bare names work, because there is nothing to collide with.
What is not available, and why
Historical endpoints. The community mirrors are live-only, and OpenSky is the
only source of “which airports did this aircraft fly between last Tuesday”.
get_flights therefore returns found: false with a reason rather than
answering a past-window question with a live snapshot.
There is no global “every aircraft right now” query either — the mirrors serve
a circle around a point, so get_states needs either an icao24 filter or a
location. Called with neither, it says so and gives the arguments to retry with.
Coverage caveats
- Receiver-based. Mid-ocean, and areas with few ground receivers, are thin.
- Military and state aircraft routinely disable transponders, so
airspace_activityundercounts non-civilian traffic. Read it as a civilian-aviation normalcy signal, not an order of battle. - Regions larger than the feeds can cover in one pass report
coverage: "partial", and their counts are a floor, not a total. origin_countryis derived from the ICAO 24-bit address block, which is allocated by country of registration — it is not transmitted by the aircraft. Only blocks confirmed against live registrations are mapped (validated at 1,125 aircraft agreeing, 0 conflicts); anything else reportsunknownrather than guessing.
Related
flights—get_flight_route(callsign → airline and route),get_arrivals/get_departures(live airport activity inferred from ADS-B)adsb— the same mirror chain with readsb-native field names and unitsaviation-weather— METAR/TAF/SIGMET for the airports involvedfaa-delays— FAA ground stops and delay programs for US airports
Data sources
Tools
- get_states — Live ADS-B state vectors for aircraft currently transmitting — position, barometric and geometric altitude (metres), velocity (m/s), heading, vertical rate, squawk, and on-ground flag, plus registrati
- get_aircraft — Look up one aircraft by its ICAO24 transponder address (hex, e.g. “3c675a”) and return where it is right now: position, altitude, speed, heading, squawk, registration, type and operator. Keyless. Hist
- get_flights — Historical flight legs (departure and arrival airports) for a past time window. NOT AVAILABLE from a hosted environment: OpenSky is the only source of this data and it cannot be reached from cloud inf
- airspace_activity — Summary of live flight activity over a named region — aircraft count, country-of-registration breakdown, average altitude, and airborne vs on-ground split. Built for “is this airspace still operating”
Tools
-
airspace_activity— Summary of live flight activity over a named region — aircraft count, country-of-registration breakdown, average altitude, and airborne vs on-ground split. Built for is this airspace still operating q -
get_aircraft— Look up one aircraft by its ICAO24 transponder address (hex, e.g. 3c675a ) and return where it is right now: position, altitude, speed, heading, squawk, registration, type and operator. Keyless. Histo -
get_flights— Historical flight legs (departure and arrival airports) for a past time window. NOT AVAILABLE from a hosted environment: OpenSky is the only source of this data and it cannot be reached from cloud inf -
get_states— Live ADS-B state vectors for aircraft currently transmitting — position, barometric and geometric altitude (metres), velocity (m/s), heading, vertical rate, squawk, and on-ground flag, plus registrati