Skyfly MCP Server
Provides real-time aircraft tracking data from OpenSky Network combined with FAA aircraft registry information, enabling rich aviation queries that merge live flight positions with technical specifications.
README
✈️ Skyfly MCP Server
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 à :
-
📡 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
-
🗄️ 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 !
- Fork le projet
- Créez une branche (
git checkout -b feature/amazing-feature) - Committez (
git commit -m 'Add amazing feature') - Push (
git push origin feature/amazing-feature) - Ouvrez une Pull Request
📜 Licence
MIT License - voir LICENSE
🙏 Crédits
- OpenSky Network - Données de vol en temps réel
- FAA - Registre des aéronefs US
- Anthropic MCP - Model Context Protocol
<p align="center"> <b>Fait avec ❤️ pour la communauté IA & Aviation</b> </p>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.