Skip to main content
Glama
vog01r
by vog01r

✈️ Skyfly MCP Server

Python 3.10+ MCP Protocol License: MIT OpenSky Network

Un serveur MCP (Model Context Protocol) qui combine données de vol en temps réel et référentiel FAA pour créer des expériences IA riches en contexte aéronautique.

🌐 Demo live: skyfly.mcp.hamon.link


🎯 Qu'est-ce que c'est ?

Skyfly MCP est un serveur qui permet à des LLMs comme Claude ou ChatGPT d'accéder à :

  1. 📡 Données live (via OpenSky Network)

    • Positions des avions en temps réel

    • Trajectoires et historiques de vol

    • Arrivées/départs par aéroport

  2. 🗄️ Référentiel FAA (base SQL locale)

    • 93,000+ modèles d'aéronefs

    • 306,000+ avions immatriculés US

    • 4,700+ moteurs référencés

Résultat : Des requêtes intelligentes qui combinent position live + specs techniques !


Related MCP server: Flightradar24 MCP Server

🚀 Fonctionnalités

19 Outils MCP disponibles

Catégorie

Outils

Description

Live

get_aircraft_states

Positions actuelles des aéronefs

Live

get_aircraft_in_region

Aéronefs par zone (France, Europe...)

Live

get_arrivals_by_airport

Arrivées à un aéroport

Live

get_departures_by_airport

Départs d'un aéroport

Live

get_track_by_aircraft

Trajectoire d'un aéronef

SQL

db_lookup_by_mode_s

Enrichit un icao24 avec specs

SQL

db_search_aircraft

Recherche dans le registre FAA

SQL

db_search_models

Recherche modèles (Boeing, Cessna...)

SQL

db_enrich_live_aircraft

Enrichit une liste d'icao24

SQL

db_sql_query

Requête SQL personnalisée


📦 Installation

Prérequis

  • Python 3.10+

  • Certificat SSL (Let's Encrypt recommandé)

Installation rapide

# Cloner le repo
git clone https://github.com/vog01r/skyfly-mcp.git
cd skyfly-mcp

# Créer l'environnement virtuel
python3 -m venv venv
source venv/bin/activate

# Installer les dépendances
pip install -r requirements.txt

# Télécharger les données FAA (optionnel mais recommandé)
# Depuis: https://www.faa.gov/licenses_certificates/aircraft_certification/aircraft_registry/releasable_aircraft_download
mkdir ReleasableAircraft
# Placer ACFTREF.txt, ENGINE.txt, MASTER.txt dans ce dossier

# Lancer l'ingestion
python -c "
from aircraftdb.database import get_database
from aircraftdb.ingest import ingest_directory
from pathlib import Path
db = get_database()
ingest_directory(Path('ReleasableAircraft'), db)
"

# Démarrer le serveur
./start.sh

🔗 Configuration MCP

Pour Claude Desktop

Ajoutez dans votre configuration MCP :

{
  "mcpServers": {
    "skyfly": {
      "url": "https://skyfly.mcp.hamon.link/sse"
    }
  }
}

Auto-hébergé

{
  "mcpServers": {
    "skyfly": {
      "url": "https://your-domain.com/sse"
    }
  }
}

💡 Exemples de requêtes

Requête simple

"Montre-moi les avions au-dessus de la France"

Requête enrichie

"Pour les 5 avions au-dessus de Paris, donne-moi le propriétaire, le type d'appareil et le nombre de moteurs"

Requête analytique

"Combien de Boeing 737 sont dans le registre FAA ? Quels sont les 5 états avec le plus d'immatriculations ?"

Requête combinée

"Parmi les hélicoptères actuellement en vol aux USA, quel est le modèle le plus fréquent ?"


🏗️ Architecture

skyfly-mcp/
├── http_server.py          # Serveur MCP unifié (SSE + REST)
├── opensky_client.py       # Client async OpenSky API
├── server.py               # Serveur MCP stdio (usage local)
├── aircraftdb/
│   ├── database.py         # SQLite avec schéma + CRUD
│   ├── ingest.py           # Ingestion fichiers FAA
│   └── tools.py            # Outils MCP AircraftDB
├── requirements.txt
├── setup_ssl.sh            # Configuration Let's Encrypt
├── start.sh                # Script de démarrage
└── opensky-mcp.service     # Service systemd

📊 Données FAA

Le référentiel FAA contient :

Table

Contenu

Source

aircraft_models

93K+ modèles

ACFTREF.txt

aircraft_registry

306K+ aéronefs US

MASTER.txt

engines

4.7K+ moteurs

ENGINE.txt

Téléchargement : FAA Releasable Aircraft Database


🔧 Déploiement Production

Avec Apache (reverse proxy)

<VirtualHost *:443>
    ServerName skyfly.yourdomain.com
    
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/skyfly.yourdomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/skyfly.yourdomain.com/privkey.pem
    
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8443/
    ProxyPassReverse / http://127.0.0.1:8443/
</VirtualHost>

Service systemd

sudo cp opensky-mcp.service /etc/systemd/system/
sudo systemctl enable opensky-mcp
sudo systemctl start opensky-mcp

🤝 Contribution

Les contributions sont les bienvenues !

  1. Fork le projet

  2. Créez une branche (git checkout -b feature/amazing-feature)

  3. Committez (git commit -m 'Add amazing feature')

  4. Push (git push origin feature/amazing-feature)

  5. Ouvrez une Pull Request


📜 Licence

MIT License - voir LICENSE


🙏 Crédits


Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A real-time flight tracking interface for LLMs that connects AI assistants to live aircraft data from ADS-B Exchange, enabling searches by location, specific flight tracking, military aircraft monitoring, and aviation pattern discovery.
    4
    -
  • A
    license
    B
    quality
    D
    maintenance
    Provides access to real-time and historical flight data from Flightradar24 API, enabling users to track live aircraft positions, query flight histories, and retrieve comprehensive aviation information including aircraft, airline, and airport details.
    15
    7 npm
    MIT