SkyGlance — What's Flying Above You
PYPI · SKYGLANCE · SCANNED SEP 20
What's flying above you: live aircraft, identity, routes, and your own sighting history.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 0 of 29 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 48 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability75
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2300 tokens (~95/item across 24 items; 24 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage67
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 24 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 25 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the SkyGlance — What's Flying Above You MCP server?
SkyGlance — What's Flying Above You runs locally as a PyPI package, launched with uvx skyglance. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · skyglance
claude mcp add darshjoshi-skyglance -- uvx skyglance
{
"mcpServers": {
"darshjoshi-skyglance": {
"command": "uvx",
"args": [
"skyglance"
]
}
}
} {
"servers": {
"darshjoshi-skyglance": {
"command": "uvx",
"args": [
"skyglance"
]
}
}
} codex mcp add darshjoshi-skyglance -- uvx skyglance
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"darshjoshi-skyglance": {
"type": "local",
"command": [
"uvx",
"skyglance"
],
"enabled": true
}
}
} openclaw mcp add darshjoshi-skyglance --command uvx --arg skyglance
mcp_servers:
darshjoshi-skyglance:
command: "uvx"
args: ["skyglance"] {
"McpServers": {
"darshjoshi-skyglance": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"skyglance"
]
}
}
} assistant mcp add darshjoshi-skyglance -t stdio -c uvx -a skyglance
{
"mcpServers": {
"darshjoshi-skyglance": {
"command": "uvx",
"args": [
"skyglance"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 −3
- Stability: pass → 0.80 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/skyglance@0.2.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 29 packages
| Packages resolved | 29 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
airline_info ~69
Look up an airline by its ICAO code — the prefix on a callsign. JBU is JetBlue, BAW is British Airways, UAE is Emirates. Returns the airline name, its IATA code, country, and the radio callsign crews actually say.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
No output schema declared.
No examples provided.
airport_activity ~129
What is moving around an airport right now, observed rather than scheduled. Buckets nearby aircraft into departing, arriving, on the ground, and overflying, based on position and climb or descent rate. This is NOT a departure board. Nothing in this data knows a schedule, a gate, or which airport a flight is bound for — a jet climbing out near the field is inferred to be departing it. In a metro area with several airports close together, a neighbour's traffic can be misattributed.
| Name | Type | Req | Description |
|---|---|---|---|
| icao | string | yes | – |
| radius_nm | integer | – | – |
No output schema declared.
No examples provided.
busiest_airports ~107
Which major airports have the most traffic around them right now. Counts aircraft on the ground or manoeuvring near each of ~1,150 major airports, from one shared global snapshot. Optionally filter to a two-letter country code such as US, GB or IN. This measures observed activity, not scheduled movements, and it favours airports in well-covered regions — a busy airport with no nearby receivers will look quiet.
| Name | Type | Req | Description |
|---|---|---|---|
| country | – | – | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
coming_overhead ~110
What is about to pass overhead, within the next 90 seconds. Deliberately refuses to predict further out. Straight-line extrapolation from track and ground speed is accurate to about 0.1 km at 30 seconds but misses by a median 6 km at 4 minutes, because aircraft on approach turn constantly. Anything further away is reported as inbound with no countdown rather than a number that would be wrong most of the time.
| Name | Type | Req | Description |
|---|---|---|---|
| lat | – | – | – |
| lon | – | – | – |
No output schema declared.
No examples provided.
emergencies ~50
Aircraft squawking an emergency code, worldwide. 7700 general emergency, 7600 radio failure, 7500 hijack. Usually zero — that is the normal and desirable answer, not a failure.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
feed_health ~52
Per-source health: latency, failures, and whether a circuit breaker is open. These are volunteer-run services with no SLA. When one is down the others cover it, which is why three are queried rather than one.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
find_by_type ~89
Every airborne aircraft of one ICAO type code, worldwide or nearby. Examples: A388 (A380), B748 (747-8), A124 (An-124), C17. Set near_me to filter.
| Name | Type | Req | Description |
|---|---|---|---|
| lat | – | – | – |
| lon | – | – | – |
| near_me | boolean | – | – |
| type_code | string | yes | – |
| within_km | number | – | – |
No output schema declared.
No examples provided.
fleet_view ~134
Every flight an airline currently has airborne, worldwide. Give the ICAO airline code — the three-letter prefix on a callsign. BAW is British Airways, UAE is Emirates, DAL is Delta, JBU is JetBlue. Use `airline_info` if you only have the two-letter IATA code. Reads one shared global snapshot rather than querying per aircraft, so it is cheap to ask repeatedly. Only aircraft within volunteer receiver coverage appear — a long-haul fleet will be under-counted while its aircraft are over oceans.
| Name | Type | Req | Description |
|---|---|---|---|
| airline | string | yes | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
global_stats ~69
How much is flying right now, worldwide: totals, busiest types and airlines. A single shared snapshot of everything volunteer receivers can hear. Note this is always an undercount of real global traffic — oceans, Africa and central Asia have little to no receiver coverage, so those aircraft are simply absent.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
identify_aircraft ~79
Full identity for one aircraft: type, operator, route, and a photograph. Give any one of an ICAO hex, a registration, or a callsign. Results are cached permanently, since an airframe's type and owner do not change.
| Name | Type | Req | Description |
|---|---|---|---|
| callsign | – | – | – |
| hex_id | – | – | – |
| registration | – | – | – |
No output schema declared.
No examples provided.
interesting_nearby ~91
Only the aircraft worth walking outside for. Scores each aircraft as emergency, rare type, military, large-and-low, or a close low helicopter, and returns those above the threshold. Thresholds are deliberately harsh: under an approach path a generous filter fires constantly.
| Name | Type | Req | Description |
|---|---|---|---|
| lat | – | – | – |
| lon | – | – | – |
| minimum_score | number | – | – |
| radius_nm | integer | – | – |
No output schema declared.
No examples provided.
is_this_new ~42
Have you seen this airframe, or this type, over your location before?
| Name | Type | Req | Description |
|---|---|---|---|
| hex_id | – | – | – |
| registration | – | – | – |
| type_code | – | – | – |
No output schema declared.
No examples provided.
military_aircraft ~61
Military aircraft currently airborne, worldwide or near a location. Set near_me true to filter to within_km of your location.
| Name | Type | Req | Description |
|---|---|---|---|
| lat | – | – | – |
| lon | – | – | – |
| near_me | boolean | – | – |
| within_km | number | – | – |
No output schema declared.
No examples provided.
my_records ~23
Your personal extremes: closest, lowest, most directly overhead, busiest day.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
nearest_aircraft ~43
The closest aircraft right now, by slant range, whether or not they're visible.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | – |
| lat | – | – | – |
| lon | – | – | – |
No output schema declared.
No examples provided.
poller_status ~22
Whether background history recording is running, and what it has captured.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
privacy_blocked_aircraft ~120
Aircraft using privacy programmes that hide their identity on most trackers. LADD (Limiting Aircraft Data Displayed) is an opt-out US owners can request, and PIA assigns a rotating temporary hex address. These are visible here because adsb.lol publishes unfiltered community data. Positions are real; the identity is obscured by design, so do not expect a registration or owner.
| Name | Type | Req | Description |
|---|---|---|---|
| lat | – | – | – |
| lon | – | – | – |
| near_me | boolean | – | – |
| within_km | number | – | – |
No output schema declared.
No examples provided.
search_aircraft ~174
Find airborne aircraft matching any combination of filters. Filter by airline (ICAO code), aircraft type, altitude band, speed band, or military status — worldwide, or within a distance of a location. This is the general search: "any 747s above 40,000 feet", "Lufthansa aircraft below 10,000 feet near me", "anything doing over 500 knots".
| Name | Type | Req | Description |
|---|---|---|---|
| airline | – | – | – |
| lat | – | – | – |
| limit | integer | – | – |
| lon | – | – | – |
| max_altitude_ft | – | – | – |
| max_speed_kt | – | – | – |
| military_only | boolean | – | – |
| min_altitude_ft | – | – | – |
| min_speed_kt | – | – | – |
| near_me | boolean | – | – |
| type_code | – | – | – |
| within_km | number | – | – |
No output schema declared.
No examples provided.
sighting_history ~41
Every recorded pass of one aircraft over your location, most recent first.
| Name | Type | Req | Description |
|---|---|---|---|
| hex_id | – | – | – |
| limit | integer | – | – |
| registration | – | – | – |
No output schema declared.
No examples provided.
spotting_stats ~27
How much you've seen: totals, most common types, busiest hours.
| Name | Type | Req | Description |
|---|---|---|---|
| days | – | – | – |
No output schema declared.
No examples provided.
track_flight ~66
Where a specific flight is right now, anywhere in the world. Searches the whole feed rather than a circle. Returns nothing if the flight is not currently airborne or is outside receiver coverage — the two are indistinguishable.
| Name | Type | Req | Description |
|---|---|---|---|
| callsign | – | – | – |
| registration | – | – | – |
No output schema declared.
No examples provided.
track_history ~129
Where an aircraft has actually flown over roughly the last day. Returns each airborne leg — when it started and ended, how long, how far, the highest altitude reached, and a downsampled path. This is what answers "where has this plane been today", "what route did it fly", and "how many legs has it done". Not a flight archive: roughly 24 hours only, and long straight jumps in a path are gaps in volunteer receiver coverage rather than the route actually flown.
| Name | Type | Req | Description |
|---|---|---|---|
| callsign | – | – | – |
| hex_id | – | – | – |
| registration | – | – | – |
No output schema declared.
No examples provided.
viewing_conditions ~32
Cloud, visibility and daylight — whether it's worth looking up at all.
| Name | Type | Req | Description |
|---|---|---|---|
| lat | – | – | – |
| lon | – | – | – |
No output schema declared.
No examples provided.
whats_overhead ~104
What is in the sky above a location right now, and where to look. Returns aircraft ranked by what a person would actually notice: directly overhead first, then what is about to be, then the rest by how high in the sky they sit. Includes viewing conditions, because telling someone to look up at an overcast sky is useless.
| Name | Type | Req | Description |
|---|---|---|---|
| lat | – | – | – |
| limit | integer | – | – |
| lon | – | – | – |
| radius_nm | integer | – | – |
No output schema declared.
No examples provided.
What is the SkyGlance — What's Flying Above You MCP server?
SkyGlance — What's Flying Above You is an MCP server listed in the public MCP registry as io.github.darshjoshi/skyglance. What's flying above you: live aircraft, identity, routes, and your own sighting history. This page covers its PyPI package (skyglance).
Is the SkyGlance — What's Flying Above You MCP server safe to use?
SkyGlance — What's Flying Above You scores 62 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the SkyGlance — What's Flying Above You MCP server expose?
SkyGlance — What's Flying Above You exposes 24 tools: whats_overhead, coming_overhead, nearest_aircraft, identify_aircraft, track_flight, and 19 more. Their descriptions and schemas cost roughly 1,863 tokens of context every time the server is loaded.
Is the SkyGlance — What's Flying Above You MCP server still maintained?
SkyGlance — What's Flying Above You is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.