# Opensky [Health: Active]

**Category:** 🚀 Aerospace & Astrodynamics  
**Repository:** https://github.com/pipeworx-io/mcp-opensky  
**GitHub Stars:** 0  
**npm Downloads (last month):** 274  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/opensky

## Description
OpenSky MCP — OpenSky Network API (free, no auth for anonymous access)

## Tools
Capabilities this server exposes over MCP:

- **get_states** — Live state vectors, filtered by `icao24` or by `lat`/`lon`/`radius_nm
- **get_aircraft** — Where one aircraft is right now, by ICAO24 hex
- **get_flights** — Historical flight legs — **not available**, returns an explicit not-available result naming what does work
- **airspace_activity** — Aircraft count, country breakdown, altitude and airborne split over a named region

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "opensky": {
    "command": "npx",
    "args": ["-y","@pipeworx/mcp-opensky"]
  }
}
```

## Documentation

## What Opensky MCP server does

Opensky MCP server provides agent-accessible queries for live aircraft data and regional airspace activity. Its state-vector responses follow OpenSky conventions, including metres for altitude and metres per second for speed, even though the underlying data comes from community ADS-B services.

The integration uses three live-data sources in sequence: adsb.lol, airplanes.live, and adsb.fi. Each response identifies the mirror that supplied the result and indicates that the data is not sourced from OpenSky Network. No OpenSky or Pipeworx account is needed for anonymous hosted calls.

## How it works

Connect an MCP client to the hosted pack endpoint at `https://gateway.pipeworx.io/opensky/mcp`, or use the full gateway at `https://gateway.pipeworx.io/mcp`. The scoped endpoint lists the pack's tools together with shared Pipeworx meta-tools. The full endpoint lists the wider catalog directly; `ask_pipeworx` can route questions across the catalog from either endpoint.

A local npm option is available through `@pipeworx/mcp-opensky`. The client starts the package with `npx`, and the bridge forwards requests to the same hosted endpoint, so it still requires network access and has no offline mode. The tools can also be called over HTTP, such as by posting to `/v1/tools/opensky_get_states`.

## Setup and configuration

Hosted MCP configuration:

```json
{
  "mcpServers": {
    "opensky": {
      "url": "https://gateway.pipeworx.io/opensky/mcp"
    }
  }
}
```

Local stdio configuration:

```json
{
  "mcpServers": {
    "opensky": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-opensky"]
    }
  }
}
```

Anonymous use is capped at 50 calls per day. A free Pipeworx account and `PIPEWORX_API_KEY` raise the allowance to 200 calls per day. Set `PIPEWORX_META_TOOLS=1` in the local configuration if the shared gateway tools should also be listed. When using an HTTPS proxy with Node, `NODE_USE_ENV_PROXY=1` may be needed for newer Node versions to honor proxy environment settings.

## Tools and capabilities

- `get_states` (`opensky_get_states` on the full gateway) returns live state vectors. Supply an ICAO24 identifier or a latitude, longitude, and radius in nautical miles.
- `get_aircraft` (`opensky_get_aircraft` on the full gateway) reports the current position of one aircraft by ICAO24 hex code.
- `airspace_activity` summarizes aircraft totals, country distribution, altitude groups, and airborne status for a named region.
- `get_flights` is retained as a compatibility tool but returns an explicit unavailable result for historical flight-leg requests.

On a scoped `/opensky/mcp` connection, the tools use their bare names because there are no naming collisions. On the full catalog, the position and aircraft tools use the `opensky_` prefix to distinguish them from similarly named tools in other packs.

## Limitations and notes

The mirror services provide live, receiver-based coverage rather than historical flight records. `get_states` requires either an aircraft identifier or a geographic query; it cannot return every aircraft globally. Coverage is weaker over oceans and in areas with few receivers.

Large regions may produce `coverage: "partial"`; counts in those results are minimum observed values, not complete totals. Military and state aircraft may not transmit ADS-B, so regional activity figures should not be treated as a complete military inventory. The reported `origin_country` comes from validated ICAO24 address-block allocations and may be `unknown` when the block cannot be mapped reliably.

_Full upstream README: https://allmcps.com/mcp/opensky/readme_

