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 !


🚀 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


-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vog01r/skyfly-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server