# OpenSky Network MCP

> OpenSky Network MCP Server provides open-source access to global air traffic data. Your AI agent uses this server to track aircraft in real time, check airport arrival and departure manifests, or pull historical flight paths across any ICAO code. It’s raw ADS-B telemetry—what's moving when.

## Overview
- **Category:** the-unthinkable
- **Price:** Free
- **Tags:** flight-tracking, telemetry, aviation-data, real-time-monitoring

## Description

You connect your AI client to OpenSky Network and you're talking about raw, open-source ADS-B telemetry. This isn't some watered-down API feed; it’s global air traffic data that lets your agent track everything—from a single Cessna hopping through the city to a jumbo jet crossing an ocean. You get structured reports back through natural conversation, using tools built for serious aviation work.

When you need a bird's eye view of what's happening right now, start with **Real-Time Air Traffic Monitoring**. Use `get_all_states` and your agent immediately gives you the current altitude, velocity, and exact location for every single aircraft in the monitored zone. That’s pure situational awareness. If you only care about one specific plane, `get_recent_tracks` pulls recent track data for a unique ID.

For ground movement logging at major hubs, your agent can check arrivals or departures quickly. You just need to supply an ICAO airport code; the server handles the rest. Use `get_arrivals` to pull lists of all flights scheduled to land there, or run `get_departures` to get a manifest of every plane taking off from that spot. These tools give you instant operational status for any major air gateway.

When you need to dig into history, the options are deep. To track down an aircraft's past movements, use `get_flights_by_aircraft`; you supply its unique ID and get a list of all recorded flight path tracks it made over time. You can also narrow your focus significantly by querying specific dates; that’s what `get_flights_by_interval` does—it pulls every single record within a defined time window (you'll need to authenticate for that one). If you wanna check the history of planes registered under your own company, use `get_my_flights`; it shows those historical tracks just for your fleet. To see where *your* specific plane is right now, even if it’s not in the general 'all states' list, run `get_my_states` to get its current location and status.

It’s a full system that lets you move from monitoring every active aircraft with `get_all_states`, checking an airport manifest using `get_arrivals` or `get_departures`, pulling specific historical tracks via `get_flights_by_aircraft`, analyzing data for a time range with `get_flights_by_interval`, and keeping tabs on your own assets using `get_my_states` or `get_my_flights`. It’s raw telemetry, plain and simple.

## Tools

### get_all_states
Retrieves the current altitude, velocity, and location of all active aircraft across the monitored area.

### get_arrivals
Gets a list of flights scheduled to arrive at a specific airport code.

### get_departures
Retrieves the manifest for all aircraft departing from a specific airport code.

### get_flights_by_aircraft
Finds and lists the recorded flight history tracks for an aircraft given its unique ID.

### get_flights_by_interval
Retrieves all flights that occurred within a specific, defined time window (requires authentication).

### get_my_flights
Shows the historical flight tracks for your own registered aircraft (requires authentication).

### get_my_states
Gets the current location and status of your own registered aircraft (requires authentication).

### get_recent_tracks
Pulls recent track data for a specific aircraft ID.

## Prompt Examples

**Prompt:** 
```
Show me all current flights near my location.
```

**Response:** 
```
Found 3 aircraft nearby: 1. Delta 456 (A320) at 10,000ft. 2. Private Cessna (C172) at 3,500ft.
```

**Prompt:** 
```
Track the aircraft with ICAO24 code a1b2c3.
```

**Response:** 
```
Aircraft a1b2c3: Altitude 35,000ft, Velocity 450 kts, Location 40.7128, -74.0060.
```

**Prompt:** 
```
What flights departed from EDDF in the last 2 hours?
```

**Response:** 
```
Found 45 departures from EDDF: 1. Lufthansa 400 to KJFK. 2. United 960 to ORD.
```

## Capabilities

### Real-Time Air Traffic Monitoring
Check the current location, altitude, and speed of all tracked aircraft in a specific area.

### Airport Movement Logging
Retrieve lists of recent flights that have arrived at or departed from a specified airport code.

### Flight Path History Retrieval
Pull the historical track data for an aircraft using its unique ICAO24 identifier over time.

### Time-Bound Flight Analysis
Query all flight records that occurred within a specific date and time interval.

### Personal Aircraft Status Check
Monitor the real-time state and historical tracks for aircraft you are registered to.

## Use Cases

### Tracking a Delayed Shipment
A coordinator needs to know if an incoming cargo flight (Delta 901) will make the dock. First, they check `get_arrivals` for the airport code. If the predicted time is late, they then use `get_recent_tracks` with Delta 901's ID to see its current velocity and altitude—they know exactly how far off schedule it really is.

### Modeling Airspace Congestion
A data scientist wants to understand peak traffic periods. They use `get_flights_by_interval` for a whole month, pulling all flight records across the entire period. Then they can analyze density and flow rates that simple live tracking wouldn't catch.

### Pre-Flight Briefing
An operations specialist needs to prep for a shift. They run `get_departures` for the next four hours, getting a list of every aircraft leaving the airport. This gives them an immediate manifest and allows them to spot bottlenecks before they happen.

### Checking Personal Assets
A private pilot wants to check their own plane's current status without needing manual logins. They simply ask the agent to use `get_my_states`, getting real-time location data for their registered aircraft.

## Benefits

- **Live Situational Awareness:** The `get_all_states` tool lets you instantly see the current status of every aircraft—altitude, velocity, location. No more guessing where things are.
- **Airport Flow Control:** Use `get_arrivals` and `get_departures` to get immediate manifests for any major airport code. You know exactly what's moving into or out of a hub right now.
- **Deep Historical Research:** Need to analyze traffic patterns from last quarter? `get_flights_by_interval` pulls all flight records within a specific time frame, letting you model trends with concrete data.
- **Personal Fleet Monitoring:** If you manage your own assets, the `get_my_states` and `get_my_flights` tools provide dedicated visibility into only your registered aircraft. Authentication is key here.
- **Targeted Tracking:** Instead of querying everything, use `get_recent_tracks` or `get_flights_by_aircraft` to pull focused data on one specific plane using its unique ICAO24 hex code.

## How It Works

The bottom line is, your AI client handles all the API calling. You just talk to it like you're talking to a colleague who knows exactly where the flight manifest lives.

1. Subscribe to the OpenSky Network server. If rate limits matter, enter your credentials.
2. Tell your AI agent what you need (e.g., 'What arrived at LAX this morning?').
3. The agent calls the appropriate tool (`get_arrivals`, `get_all_states`) and returns structured data to your conversation.

## Frequently Asked Questions

**Do I need an account to use the OpenSky API?**
No, the basic API is free and open. However, creating a free account gives you higher rate limits and access to historical flight data.

**How do I find the ICAO24 hex code for an aircraft?**
You can use the get_all_states tool to see currently tracked aircraft, or look it up on external aviation databases like Planespotters.net.

**Can I track flights at a specific airport?**
Yes! Use get_arrivals or get_departures with the airport's ICAO code (e.g., KJFK for New York JFK) and a Unix timestamp range.

**Can I retrieve flights for a specific time interval?**
Yes! Use the get_flights_in_interval action with start and end Unix timestamps.

**Does the tool `get_my_states` require specific OpenSky credentials?**
Yes, you must provide valid OpenSky API credentials for this tool to work. Authentication restricts access solely to your own registered aircraft's real-time status data.

**If I use `get_all_states` frequently, how are the rate limits managed?**
Connecting an API key optionaly increases your overall rate limit ceiling. This lets your AI client process large volumes of global aircraft state updates without hitting standard caps.

**How is `get_recent_tracks` different from simply checking the current state?**
This tool gives you a historical path, not just a single point in time. It plots an aircraft's movement trajectory, giving much more context than what `get_all_states` provides.

**Which AI clients can connect to the OpenSky Network MCP Server?**
The server is built on the Model Context Protocol (MCP) standard. It connects directly and reliably to any compatible client, including Claude, Cursor, VS Code extensions, and more.