Skip to main content

MCP Server exposing the FlightAware AeroAPI via the Model Context Protocol.

Project description

GitHub Release Version PyPI Version Image Latest Image Size Deployment PyPi Workflow Build Workflow Deploy Workflow Release GitHub Last Commit GitHub Repo Size GitHub Top Language GitHub Contributors GitHub Issues GitHub Discussions GitHub Forks GitHub Repo Stars GitHub Org Stars Discord Ko-fi

FlightAware MCP

FlightAware MCP

MCP Server exposing the FlightAware AeroAPI via the Model Context Protocol.

You need a Free API Key to use this MCP.

Features

  • List Flights by ICAO or IATA Flight Number
  • Accurately Convert IATA to ICAO Flight Numbers
  • Response Caching with Configurable TTL

Setup

This can be run in Local CLI mode or Remote server mode.

Local

In CLI mode using uv.

View Config - Local uv
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "flightaware": {
      "type": "local",
      "command": ["uvx", "flightaware-mcp"],
      "environment": {
        "AEROAPI_KEY": "xxx"
      }
    }
  }
}

In CLI mode using Python pip.

pip install flightaware-mcp
View Config - Local Python
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "flightaware": {
      "type": "local",
      "command": ["flightaware-mcp"],
      "environment": {
        "AEROAPI_KEY": "xxx"
      }
    }
  }
}

Remote

With Docker run.

docker run --rm -p 80:8000 -e AEROAPI_KEY=${AEROAPI_KEY} ghcr.io/cssnr/flightaware-mcp:latest

With Docker Compose.

services:
  app:
    image: ghcr.io/cssnr/flightaware-mcp:latest
    ports:
      - '80:8000'
    environment:
      AEROAPI_KEY: ${AEROAPI_KEY}

With Python from source.

uv sync
export AEROAPI_KEY=${AEROAPI_KEY}
uv run uvicorn flightaware_mcp.server:app --app-dir src --host 0.0.0.0 --port 8000
View Config - Remote
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "flightaware": {
      "type": "remote",
      "url": "http://localhost/mcp"
    }
  }
}

Note: Set the url to the host you are running the server on.

Deploy to Render

For a Docker Swarm + Traefik example see the docker-compose-swarm.yaml.

For a Portainer Deploy workflow see the .github/workflows/deploy.yaml.

Configure

Variable Description
AEROAPI_KEY FlightAware API Key
HISHEL_CACHE_PATH Cache DB Path
HISHEL_CACHE_TTL Cache TTL

You only need AEROAPI_KEY the rest are for advanced configuration.

Development

Sync project.

uv sync

Run local server.

run cli

Run remote server (live reload).

run dev

Point your client to: http://localhost:8000/mcp

Run remote Docker Compose (live reload).

run compose

Point your client to: http://localhost/mcp

You can set the PORT environment variable.

Building

Docker Image

To build and test the docker image run.

bash build.sh
docker compose up

Point your client to: http://localhost/mcp

Python Package

This builds the bdist and wheel, if you have a use for it...

run build

Support

If you run into any issues or need help getting started, please do one of the following:

Features Issues Discussions Discord

Contributing

Please consider making a donation to support the development of this project and additional open source projects.

Ko-fi

For a full list of current projects visit: https://cssnr.github.io/

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flightaware_mcp-0.0.2.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flightaware_mcp-0.0.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file flightaware_mcp-0.0.2.tar.gz.

File metadata

  • Download URL: flightaware_mcp-0.0.2.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for flightaware_mcp-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b027d30e134dff1adef56a57f6700a9e3e7f1c6b296791cffce1be8dbe1f3b75
MD5 d578bbe67a826e2667389c081e749e00
BLAKE2b-256 5fd8f23f1057d865e02208f8cc205141cf752cd0f36dfc72ad90ac35b2404cee

See more details on using hashes here.

Provenance

The following attestation bundles were made for flightaware_mcp-0.0.2.tar.gz:

Publisher: release.yaml on cssnr/flightaware-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flightaware_mcp-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for flightaware_mcp-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5a7bc0f0db5fb972b4275f36a5a5cea7b1a673aaffdea469c80ccbbc3e9f6e80
MD5 f5782b60326ad43b70220baf64978313
BLAKE2b-256 b9a7cc06b548571edd75f71eb9f16e35910e23533896dd0d139010889188c18a

See more details on using hashes here.

Provenance

The following attestation bundles were made for flightaware_mcp-0.0.2-py3-none-any.whl:

Publisher: release.yaml on cssnr/flightaware-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page