# AENA Flights MCP [Health: Active]

**Category:** 🚆 Travel & Transportation  
**Repository:** https://github.com/MrGo2/aena-mcp  
**GitHub Stars:** 1  
**npm Downloads (last month):** 226  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/aena-flights-mcp

## Description
Flight data for Spain's 50 AENA airports over the public and OAuth2 REST APIs

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

```json
"mcpServers": {
  "aena-flights-mcp": {
    "command": "npx",
    "args": ["-y","mcp-aena"],
    "env": {
      "AENA_CLIENT_SECRET": "",
      "AENA_CLIENT_ID": "",
      "AENA_TENANT_ID": ""
    }
  }
}
```

**Requires environment variables:** `AENA_CLIENT_SECRET`, `AENA_CLIENT_ID`, `AENA_TENANT_ID` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What AENA Flights MCP MCP server does

AENA Flights MCP MCP server exposes live flight information for the 50 Spanish airports operated by AENA. Agents can retrieve arrivals and departures, inspect individual flights, and obtain the airport directory with IATA and ICAO identifiers. Returned flight records can include scheduled and estimated times, gates, terminals, aircraft, status, flight codes, and codeshare information.

The service is useful for airport-specific questions such as finding departures during a local-time interval, checking whether a flight is delayed, identifying an arrival from a particular city, or listing airports in a region such as the Canary Islands. It does not provide actual wheels-off or wheels-on times.

## How it works

The server presents one MCP interface over two AENA data sources. Its public website API requires no credentials and generally covers approximately 14 days into the future. The OAuth2 REST API covers roughly 54 hours into the past and 24 hours ahead, and can identify the operating flight behind a codeshare.

With the default `source: "auto"` behavior, the server selects an appropriate source. A local or self-hosted installation without a client secret continues to work through the website API. The public remote deployment already has REST access configured. Results are normalized so agents receive the same general flight shape regardless of the source.

Searches are performed against the airport’s flight data and filtered locally because neither upstream API filters by flight number on the server. The implementation also hides source-specific differences, including the REST arrival code `A` versus the website code `L`, and differences between IATA and ICAO flight-number formats. Times in results use local Madrid time.

## Setup and configuration

AENA Flights MCP MCP server can be used remotely at `https://aena-mcp.carlos-ls.workers.dev/mcp` with no account, API key, or configuration. It can also be added to Claude Desktop through the downloadable `.mcpb` release bundle, or started by an MCP client with `npx mcp-aena`.

For source-based development, install dependencies with `pnpm install` and build with `pnpm build`. Copy `.env.example` to `.env`. The website source needs no environment variables. Setting `AENA_CLIENT_SECRET` enables the OAuth2 REST source; `AENA_CLIENT_ID` and `AENA_TENANT_ID` have working defaults. A self-hosted Cloudflare Worker can be deployed from the `worker/` directory, with the secret added through Wrangler if REST access is required.

## Tools and capabilities

- `search_flights`: Finds arrivals or departures for an airport. It supports flight-number, date, and local-time-window filters.
- `get_flight`: Retrieves one flight by number at a specified airport.
- `list_airports`: Fetches the current AENA airport list with IATA and ICAO codes.

Codeshares representing the same physical flight are combined into one entry. The REST source can expose the operating flight associated with a codeshare, while the website source is suited to broader future-flight discovery.

## Limitations and notes

AENA Flights MCP MCP server reports scheduled and estimated times, not confirmed takeoff or landing times. Use a separate flight-tracking source for wheels-off and wheels-on data. Website API coverage has no historical data, whereas the REST window is limited to about 54 hours of history and 24 hours ahead. Flight-number formatting also varies by source: REST commonly uses ICAO identifiers, while the website uses IATA identifiers.

_Full upstream README: https://allmcps.com/mcp/aena-flights-mcp/readme_

