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.1.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.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flightaware_mcp-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 316fdc7f4300019485ad227a760d7285a11153dd1c151144339e717ea6d9d805
MD5 1cf3bc92eec022a94c2a670b9566ee4a
BLAKE2b-256 da4a72e7b7b73fbf2a3380c448da377011692fd0514a1a8e5376fd9f4747eb3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for flightaware_mcp-0.0.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for flightaware_mcp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c5fcf171cd72715036dfc911e5b1fc8a5f5685ea03f02ce2da6ac13b355cdf9d
MD5 352728dd01421b79403d866d1e2b93e8
BLAKE2b-256 d046e522b853509306be5ef8df702cccbee3945e99d236c53b77b31be7c51239

See more details on using hashes here.

Provenance

The following attestation bundles were made for flightaware_mcp-0.0.1-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