MCP Server for flight tracking using OpenSky Network API
Project description
Flight Tracker MCP Server
A Model Context Protocol (MCP) server that provides comprehensive flight tracking capabilities using the OpenSky Network API.
Features
- Real-time Flight Tracking: Get live flight data for aircraft overhead any location
- Geographic Searches: Query flights within bounding boxes or radius searches
- Historical Data: Access flight histories for specific aircraft or airports
- Airport Operations: Track arrivals and departures at specific airports
- Flight Paths: Get detailed flight tracks with position history
- Authentication Support: Optional authentication for enhanced data access
Installation
pip install flight-tracker-mcp
Usage
Basic MCP Server Setup
from flight_tracker_mcp import main
import asyncio
# Run the MCP server
if __name__ == "__main__":
asyncio.run(main())
Available Tools
1. Get Overhead Flights
Get flights currently overhead a specific location:
{
"name": "get_overhead_flights",
"arguments": {
"latitude": 40.7128,
"longitude": -74.0060,
"radius_km": 10
}
}
2. Get States in Bounding Box
Query flights within a geographic area:
{
"name": "get_states_in_bbox",
"arguments": {
"min_lat": 40.0,
"max_lat": 41.0,
"min_lon": -75.0,
"max_lon": -73.0
}
}
3. Get Airport Arrivals
Track arrivals at a specific airport:
{
"name": "get_airport_arrivals",
"arguments": {
"airport": "KJFK",
"start_time": 1640995200,
"end_time": 1641081600
}
}
4. Get Aircraft Track
Get the flight path of a specific aircraft:
{
"name": "get_aircraft_track",
"arguments": {
"icao24": "a1b2c3",
"timestamp": 0
}
}
Authentication (Optional)
For enhanced data access, you can provide OpenSky Network credentials:
from flight_tracker_mcp import FlightTracker
# With authentication
tracker = FlightTracker(username="your_username", password="your_password")
# Without authentication (limited to public data)
tracker = FlightTracker()
MCP Integration
This server integrates with MCP-compatible clients like Claude Desktop. Add to your MCP configuration:
{
"mcpServers": {
"flight-tracker": {
"command": "python",
"args": ["-m", "flight_tracker_mcp"]
}
}
}
API Reference
All tools return JSON-formatted flight data with the following common fields:
icao24: Aircraft identifiercallsign: Flight callsignlatitude/longitude: Position coordinatesgeo_altitude_m: Altitude in metersvelocity_mps: Speed in meters per secondheading: True track headinglast_contact: Timestamp of last position update
Requirements
- Python >= 3.8
- OpenSky Network API access (free registration recommended)
- MCP-compatible client
Data Source
This package uses the OpenSky Network API, which provides real-time and historical flight data from a global network of ADS-B receivers.
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
If you encounter any issues or have questions, please open an issue on the GitHub repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flight_tracker_mcp-0.1.0.tar.gz.
File metadata
- Download URL: flight_tracker_mcp-0.1.0.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fb3c5caed1711d2348b23012798e30d56a75b6cfc3d616835bb6dc1859bcb54
|
|
| MD5 |
882c50231262e4df0b6def0308e21598
|
|
| BLAKE2b-256 |
301d4454ff13e80cb8bf7f990a11563c50061aaa593baa59b5fa4d922af9aac5
|
Provenance
The following attestation bundles were made for flight_tracker_mcp-0.1.0.tar.gz:
Publisher:
publish-to-pypi.yml on GenAICPA/flight_tracker
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flight_tracker_mcp-0.1.0.tar.gz -
Subject digest:
1fb3c5caed1711d2348b23012798e30d56a75b6cfc3d616835bb6dc1859bcb54 - Sigstore transparency entry: 303773340
- Sigstore integration time:
-
Permalink:
GenAICPA/flight_tracker@fc565a7678e180d5996d54725df23dec516006b7 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/GenAICPA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@fc565a7678e180d5996d54725df23dec516006b7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file flight_tracker_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: flight_tracker_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dfa9dd89e18836c5a4b468c3b1478ef14e8bae8181be645c651b9ceba328935
|
|
| MD5 |
07914feb91dfc0cf6cdbf92abb2d6d30
|
|
| BLAKE2b-256 |
88a46b23333c24cae96007486f46616bf9eaf78fe00bb4d46d3895aa7aa35184
|
Provenance
The following attestation bundles were made for flight_tracker_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on GenAICPA/flight_tracker
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flight_tracker_mcp-0.1.0-py3-none-any.whl -
Subject digest:
7dfa9dd89e18836c5a4b468c3b1478ef14e8bae8181be645c651b9ceba328935 - Sigstore transparency entry: 303773356
- Sigstore integration time:
-
Permalink:
GenAICPA/flight_tracker@fc565a7678e180d5996d54725df23dec516006b7 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/GenAICPA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@fc565a7678e180d5996d54725df23dec516006b7 -
Trigger Event:
release
-
Statement type: