Skip to main content
Glama
AiAgentKarl

Aviation MCP Server

by AiAgentKarl
README.md
# Aviation MCP Server

MCP server giving AI agents access to real-time aviation data — live flight tracking, airport weather, airline and airport information.

## Features

| Tool | Description | Source |
|------|-------------|--------|
| `track_live_flights` | Current flights worldwide or in a specific area | OpenSky Network |
| `track_flight` | Track a specific flight by callsign or ICAO24 | OpenSky Network |
| `get_flight_path` | Historical flight path/trajectory | OpenSky Network |
| `get_airport_arrivals` | Recent arrivals at an airport | OpenSky Network |
| `get_airport_departures` | Recent departures from an airport | OpenSky Network |
| `get_airport_weather` | Current METAR weather at an airport | AviationWeather.gov |
| `get_weather_forecast` | TAF weather forecast for an airport | AviationWeather.gov |
| `get_aviation_warnings` | Active SIGMETs and aviation warnings | AviationWeather.gov |
| `get_airport_info` | Airport details (location, timezone, etc.) | AirLabs |
| `get_airline_info` | Airline details (fleet, hub, status) | AirLabs |

## Data Sources

- **OpenSky Network** — Live flight tracking, arrivals/departures, flight paths (no API key needed, 100 calls/day)
- **AviationWeather.gov** — METAR, TAF, SIGMETs (no API key needed, 100 req/min)
- **AirLabs** — Airport and airline database (free tier: 1,000 calls/month, API key required)

## Installation

### With pip

```bash
pip install aviation-mcp-server
```

### From source

```bash
git clone https://github.com/AiAgentKarl/aviation-mcp-server.git
cd aviation-mcp-server
pip install -e .
```

## Configuration

### API Keys

Copy `.env.example` to `.env` and add your keys:

```bash
cp .env.example .env
```

```env
# AirLabs — Optional (https://airlabs.co)
AIRLABS_API_KEY=your-key-here
```

> **Note:** OpenSky Network and AviationWeather.gov require no API key. The AirLabs key is only needed for `get_airport_info` and `get_airline_info`.

### Claude Desktop / Claude Code

Add to your MCP configuration:

```json
{
  "mcpServers": {
    "aviation": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "src.server"],
      "env": {
        "AIRLABS_API_KEY": "your-key-here"
      }
    }
  }
}
```

### Using uvx (no install needed)

```json
{
  "mcpServers": {
    "aviation": {
      "type": "stdio",
      "command": "uvx",
      "args": ["aviation-mcp-server"],
      "env": {
        "AIRLABS_API_KEY": "your-key-here"
      }
    }
  }
}
```

## Usage Examples

**Track flights over Germany:**
> "Show me all flights currently over Germany"

**Check airport weather:**
> "What's the current weather at Frankfurt Airport?"

**Track a specific flight:**
> "Track Lufthansa flight DLH400"

**Get airport arrivals:**
> "Show me recent arrivals at JFK"

**Aviation warnings:**
> "Are there any active SIGMETs?"

## Airport Codes

This server uses **ICAO airport codes** (4 letters) for weather and flight data:

| Airport | IATA | ICAO |
|---------|------|------|
| Frankfurt | FRA | EDDF |
| Munich | MUC | EDDM |
| Berlin | BER | EDDB |
| New York JFK | JFK | KJFK |
| London Heathrow | LHR | EGLL |
| Paris CDG | CDG | LFPG |
| Tokyo Narita | NRT | RJAA |

## Rate Limits

| API | Limit | Auth |
|-----|-------|------|
| OpenSky Network | 100 calls/day (anonymous) | None |
| AviationWeather.gov | 100 requests/minute | None |
| AirLabs | 1,000 calls/month (free tier) | API Key |

## Tech Stack

- Python 3.11+
- [MCP SDK](https://github.com/modelcontextprotocol/python-sdk) (FastMCP)
- httpx (async HTTP)
- OpenSky Network, AviationWeather.gov, AirLabs APIs


---

## More MCP Servers by AiAgentKarl

| Category | Servers |
|----------|---------|
| 🔗 Blockchain | [Solana](https://github.com/AiAgentKarl/solana-mcp-server) |
| 🌍 Data | [Weather](https://github.com/AiAgentKarl/weather-mcp-server) · [Germany](https://github.com/AiAgentKarl/germany-mcp-server) · [Agriculture](https://github.com/AiAgentKarl/agriculture-mcp-server) · [Space](https://github.com/AiAgentKarl/space-mcp-server) · [Aviation](https://github.com/AiAgentKarl/aviation-mcp-server) · [EU Companies](https://github.com/AiAgentKarl/eu-company-mcp-server) |
| 🔒 Security | [Cybersecurity](https://github.com/AiAgentKarl/cybersecurity-mcp-server) · [Policy Gateway](https://github.com/AiAgentKarl/agent-policy-gateway-mcp) · [Audit Trail](https://github.com/AiAgentKarl/agent-audit-trail-mcp) |
| 🤖 Agent Infra | [Memory](https://github.com/AiAgentKarl/agent-memory-mcp-server) · [Directory](https://github.com/AiAgentKarl/agent-directory-mcp-server) · [Hub](https://github.com/AiAgentKarl/mcp-appstore-server) · [Reputation](https://github.com/AiAgentKarl/agent-reputation-mcp-server) |
| 🔬 Research | [Academic](https://github.com/AiAgentKarl/crossref-academic-mcp-server) · [LLM Benchmark](https://github.com/AiAgentKarl/llm-benchmark-mcp-server) · [Legal](https://github.com/AiAgentKarl/legal-court-mcp-server) |

[→ Full catalog (40+ servers)](https://github.com/AiAgentKarl)

## License

MIT

TDQS

A3.9/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct aspect of aviation data: airlines, airports, arrivals, departures, weather, warnings, flight paths, and tracking. No overlap or ambiguity.

Naming Consistency5/5

All tools use a consistent 'verb_noun' pattern in snake_case, with 'get_' for data retrieval and 'track_' for flight tracking. No mixing of conventions.

Tool Count5/5

10 tools is well within the ideal 3-15 range. The number is sufficient to cover the domain without being overwhelming or too sparse.

Completeness4/5

The set covers airline info, airport details, arrivals/departures, weather (current, forecast, warnings), flight paths, and live tracking. Minor gaps like airport delays or schedule data, but overall comprehensive for an aviation MCP.

Maintenance

ActivityInactive
ResponsivenessNo issues