@cyanheads/aviation-weather-mcp-server
Öffentlich gehosteter Server: https://aviation-weather.caseyjhand.com/mcp
Tools
Fünf Tools für die Luftfahrtwetterlage — Stationssuche, aktuelle Beobachtungen, Terminal-Forecasts, Pilot Reports und aktive Warnungen:
Tool | Beschreibung |
| Flughäfen und Wetterstationen per ICAO-ID, Begrenzungsrahmen (Bounding Box) oder US-Bundesstaat auflösen. Liefert ICAO/IATA/FAA-IDs, Koordinaten, Höhe und verfügbare Datentypen. |
| Aktuelle Wetterbeobachtungen (METARs) für einen oder mehrere Flughäfen abrufen. Liefert dekodierten Wind, Sichtweite, Wolkendecke, aktuelles Wetter, Temperatur/Taupunkt, Höhenmesser, Wolkenschichten, Flugwetterkategorie (VFR/MVFR/IFR/LIFR) und den rohen METAR-String. |
| Terminal Aerodrome Forecasts für einen oder mehrere Flughäfen abrufen. Liefert jeden Vorhersagezeitraum mit Gültigkeitszeiten, Bodenwind, Low-Level-Windscherung, Sichtweite, dekodiertem Wetter, Wolkenschichten und vertikaler Sicht in eine Verdecke (Obscuration) sowie den rohen TAF-String. |
| Aktuelle Pilot Reports in der Nähe eines Flughafens oder innerhalb eines Begrenzungsrahmens abrufen. Liefert dekodierte Turbulenz-, Vereisungs- und Wolkenmeldungen mit Höhe, Luftfahrzeugtyp, Intensität und dem rohen PIREP-String. |
| Aktive nationale SIGMETs für eine Region abrufen. Liefert Gefahrentyp (CONVECTIVE, TURBULENCE, ICING, IFR), Schweregrad, Höhenbereich, Gültigkeitszeitraum, Polygondaten und Rohtext. |
aviation_find_stations
Wetterstationen über mehrere Suchmodi auflösen und entdecken.
Eine oder mehrere Stationen per 4-stelliger ICAO-ID nachschlagen (bis zu 20 IDs pro Aufruf) — die Suche erfolgt ausschließlich über ICAO, aber jeder zurückgegebene Datensatz enthält die IATA/FAA-Aliasse, sofern verfügbar
Alle Stationen innerhalb eines geografischen Begrenzungsrahmens entdecken
Stationen für einen der 50 US-Bundesstaaten oder DC über den zweistelligen USPS-Code auflisten (verwendet Bounding Box + clientseitigen Bundesstaaten-Filter)
Liefert
data_types(METAR, TAF, usw.), damit Agenten vor der Abfrage bestätigen können, was verfügbar istJedes Ergebnis gibt an, ob das vorgelagerte 400-Zeilen-Limit greift — so wird eine abgeschnittene Ausgabe nie mit allen Stationen in der Gegend verwechselt — eine abgeschnittene Bundesstaaten-Abfrage meldet außerdem die Zeilenanzahl vor dem Bundesstaaten-Filter, und eine kleinere
bboxist der genannte Hebel
aviation_get_metar
Aktuelle oder vergangene METAR-Beobachtungen abrufen (1–10 Stationen pro Aufruf).
Der Parameter
hours(1–12) liefert den Beobachtungsverlauf pro Station; Standardwert 1 liefert nur die aktuellsteDie Flugwetterkategorie (VFR/MVFR/IFR/LIFR) wird direkt von der AWC-API zurückgegeben — keine clientseitige Berechnung erforderlich
Dekodiert Wolkenschichten, Wind mit Böen, Sichtweite und aktuelles Wetter (die rohen Gruppen plus verständliches Englisch, eine Angabe pro Gruppe) zusätzlich zum rohen METAR-String
Die Wolkendecke umfasst gebrochene, bedeckte und verdeckende Schichten und gibt an, ob die Höhe gemessen wurde oder eine unbestimmte Decke ist — vertikale Sicht in eine Verdecke
Das METAR-Typfeld unterscheidet
METAR(Routine) vonSPECI(Sonderbeobachtung, ausgelöst durch signifikante Wetteränderung)Jeder Batch meldet, welche der angeforderten Stationen zurückkamen — so wird ein Teilergebnis nie mit vollständiger Abdeckung verwechselt — fehlende IDs werden mit Wiederherstellungshinweisen benannt
aviation_get_taf
Terminal Aerodrome Forecasts für 1–4 Flughäfen abrufen.
Liefert strukturierte Vorhersagezeiträume mit Änderungstypen (
FM,TEMPO,BECMG) und WahrscheinlichkeitenVorhergesagtes Wetter gruppenweise dekodiert neben den rohen Gruppen (
-SHRA BR→leichter Regenschauer; Dunst), in derselben Form wieaviation_get_metarVorhergesagte Verdeckungen behalten ihre Schicht und führen die vertikale Sicht in sie auf (
VV002→ eine unbestimmte Decke von 200 ft), statt als klarer Himmel zu erscheinenLow-Level-Windscherung (
WS020/20040KT) wird zur Obergrenze der Scherungsschicht und zum vorhergesagten Wind in dieser Höhe dekodiertvalid_from/valid_toim ISO-8601-Format für unkomplizierte ZeitvergleicheJeder Batch meldet, welche der angeforderten Stationen zurückkamen — so wird ein Teilergebnis nie mit vollständiger Abdeckung verwechselt — fehlende IDs werden mit Wiederherstellungshinweisen benannt
aviation_get_pireps
Nach aktuellen Pilot Reports per Station+Radius oder Begrenzungsrahmen suchen.
station_id+distance_nm(10–500 nm, 100 wenn weggelassen) für die Radialsuche um einen Flughafenbboxfür die Suche in einem geografischen Gebiet — nützlich für Streckenkorridor-Checks;distance_nmhat hier keine Bedeutung und wird zusammen mitbboxabgelehntaltitude_min_ft/altitude_max_ft-Filter, um Meldungen auf Reiseflughöhe zu isolieren, entweder einzeln oder beide (Minimum darf Maximum nicht überschreiten)Turbulenz- und Vereisungs-Arrays enthalten bis zu zwei Schichten pro Meldung (wie von der API gemeldet)
Jedes Ergebnis gibt an, ob das vorgelagerte 400-Zeilen-Limit greift, und nennt
bbox,distance_nmundhoursals Hebel, um eine Abfrage vor dem Limit einzugrenzen — der Höhenfilter greift erst danach und kann eine verworfenen Meldung nicht wiederherstellenHinweis: Das Fehlen von PIREPs bedeutet nicht automatisch ruhige Bedingungen — sie sind von Natur aus spärlich
aviation_get_advisories
Aktuell aktive nationale SIGMETs auflisten.
advisory_type-Filter:sigmetoderall(Standard) — beide liefern den aktiven SIGMET-Satzhazard-Filter:CONVECTIVE,TURBULENCE,ICING,IFRbbox-Filter wird clientseitig angewendet (die AWC-API liefert alle aktiven Warnungen; das Tool filtert nach Polygon-Überlappung)AIRMETs werden nicht bedient. Der vorgelagerte Feed enthält nur nationale SIGMETs, daher werden
advisory_type: airmetund die GefahrenMTN OBSCN,SURFACE WINDundLLWSmit Hinweisen abgelehnt, statt mit SIGMETs oder einem leeren Array beantwortetIn Schönwetterperioden sind möglicherweise keine SIGMETs aktiv — ein leeres Ergebnis ist ein gültiger Zustand, kein Fehler
Related MCP server: Aviation Weather MCP Server
Prompts
Typ | Name | Beschreibung |
Prompt |
| Strukturiert eine Preflight-Wetterbesprechung für einen oder mehrere Flughäfen. Führt das LLM dazu, |
Alle Ressourcendaten sind über Tools erreichbar. Dieser Server hat keine Ressourcen — alle Luftfahrtwetterdaten sind zeitkritisch (METARs ~1 Stunde gültig, Warnungen Minuten bis Stunden) und für stabile-URI-Ressourcen ungeeignet.
Funktionen
Basiert auf @cyanheads/mcp-ts-core:
Deklarative Tool- und Prompt-Definitionen — eine Datei pro Primitive, das Framework übernimmt Registrierung und Validierung
Vereinheitlichte Fehlerbehandlung — Handler werfen, das Framework fängt, klassifiziert und formatiert
Plug-in-fähige Authentifizierung:
none,jwt,oauthStrukturierte Protokollierung mit optionalem OpenTelemetry-Tracing
STDIO- und Streamable-HTTP-Transports
Luftfahrtspezifisch:
Schlüssellos — kein API-Schlüssel oder Authentifizierung erforderlich; alle Daten stammen aus der öffentlichen AWC-Data-API
Einzelner Dienst (
aviation-weather-service) mit Retry + exponentiellem Backoff für den schlüssellosen öffentlichen EndpunktRohe kodierte Strings (
rawOb,rawTAF,rawAirSigmet) werden neben dekodierten Feldern ausgegeben, sodass Agenten beide Ebenen habenDie Bundesstaaten→Bounding-Box-Tabelle ermöglicht US-Bundesstaaten-Stationsabfragen, die die AWC-API nativ nicht unterstützt
Das
instructions-Feld auf Serverebene zeigt allen Clients beiinitializeden Sicherheitshinweis „keine offizielle Besprechung" an
Agentenfreundliche Ausgabe:
Flugwetterkategorie (
VFR/MVFR/IFR/LIFR) als diskriminiertes String-Feld — Agenten können darauf verzweigen, ohne Wolkendecke + Sichtweite zu parsenStrukturierte Fehlerverträge mit typisierten
reason-Feldern undrecovery-Hinweisen (z. B. „ICAO-IDs mitaviation_find_stationsüberprüfen")Der Prompt
aviation_preflight_briefkodiert die korrekte METAR → TAF → PIREPs → Warnungen-Besprechungsreihenfolge, die Agenten häufig falsch ausführen, indem sie Schritte auslassen
Erste Schritte
Öffentlich gehostete Instanz
Eine öffentlich gehostete Instanz ist unter https://aviation-weather.caseyjhand.com/mcp verfügbar. Fügen Sie sie Ihrer MCP-Client-Konfiguration hinzu:
{
"mcpServers": {
"aviation-weather": {
"type": "streamable-http",
"url": "https://aviation-weather.caseyjhand.com/mcp"
}
}
}Selbst gehostet / lokal
Fügen Sie Folgendes zu Ihrer MCP-Client-Konfigurationsdatei hinzu.
{
"mcpServers": {
"aviation-weather": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/aviation-weather-mcp-server@latest"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_LOG_LEVEL": "info"
}
}
}
}Oder mit npx (kein Bun erforderlich):
{
"mcpServers": {
"aviation-weather": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@cyanheads/aviation-weather-mcp-server@latest"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_LOG_LEVEL": "info"
}
}
}
}Oder mit Docker:
{
"mcpServers": {
"aviation-weather": {
"type": "stdio",
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "MCP_TRANSPORT_TYPE=stdio",
"ghcr.io/cyanheads/aviation-weather-mcp-server:latest"
]
}
}
}Für Streamable HTTP setzen Sie den Transport und starten Sie den Server:
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcpVoraussetzungen
Bun v1.3.0 oder höher (oder Node.js v24+).
Kein API-Schlüssel erforderlich — die AWC-Data-API ist vollständig öffentlich und schlüssellos.
Installation
Repository klonen:
git clone https://github.com/cyanheads/aviation-weather-mcp-server.gitIn das Verzeichnis wechseln:
cd aviation-weather-mcp-serverAbhängigkeiten installieren:
bun installUmgebung konfigurieren:
cp .env.example .env
# edit .env if you need to override AWC_BASE_URL or AWC_TIMEOUT_MSKonfiguration
Variable | Beschreibung | Standard |
| Basis-URL für die NWS AWC Data API. |
|
| Timeout pro Anfrage in Millisekunden (1000–60000). |
|
| Transport: |
|
| Port für den HTTP-Server. |
|
| Authentifizierungsmodus: |
|
| Log-Level (RFC 5424). |
|
| Aktiviert die OpenTelemetry-Instrumentierung. |
|
Siehe .env.example für die vollständige Liste optionaler Überschreibungen.
Server ausführen
Lokale Entwicklung
Erstellen und ausführen:
bun run rebuild bun run start:stdio # or bun run start:httpPrüfungen und Tests ausführen:
bun run devcheck # Lint, format, typecheck, security bun run test # Vitest test suite bun run lint:mcp # Validate MCP definitions against spec
Docker
docker build -t aviation-weather-mcp-server .
docker run --rm -p 3010:3010 aviation-weather-mcp-serverDas Dockerfile ist standardmäßig auf HTTP-Transport, zustandslosen Sitzungsmodus und Protokollierung in /var/log/aviation-weather-mcp-server ausgelegt. OpenTelemetry-Peer-Abhängigkeiten werden standardmäßig installiert — erstellen Sie das Image mit --build-arg OTEL_ENABLED=false, um sie wegzulassen.
Projektstruktur
Verzeichnis | Zweck |
|
|
| Serverspezifisches Parsen von Umgebungsvariablen ( |
| AWC-Data-API-Client — HTTP-Fetch, Wiederholung mit exponentiellem Backoff, Normalisierung der Antworten. |
| Tool-Definitionen ( |
| Prompt-Definitionen ( |
| Unit- und Integrationstests, die |
Entwicklungsleitfaden
Siehe CLAUDE.md für Entwicklungsrichtlinien und Architekturregeln. Die Kurzfassung:
Handler werfen, Framework fängt — kein
try/catchin der Tool-LogikVerwenden Sie
ctx.logfür anfragenbezogenes Logging,ctx.statefür mandantenbezogenen SpeicherRegistrieren Sie neue Tools und Prompts über die Barrel-Dateien in
src/mcp-server/*/definitions/index.tsKapseln Sie externe API-Aufrufe: validieren Sie Rohdaten → normalisieren Sie in den Domänentyp → geben Sie das Ausgabeschema zurück; erfinden Sie niemals fehlende Felder
Kein offizielles Preflight-Briefing. Daten der AWC sind rein informativ. Eine echte Flugplanung erfordert eine autorisierte Quelle (z. B. Leidos/1800wxbrief.com). Der Server zeigt diesen Haftungsausschluss über sein
instructions-Feld an, das bei jedeminitializegesendet wird.
Mitwirken
Issues und Pull Requests sind willkommen. Führen Sie vor dem Einreichen Prüfungen und Tests aus:
bun run devcheck
bun run testLizenz
Apache-2.0 — siehe LICENSE für Details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides aviation weather information through a Model Context Protocol server, enabling access to METARs, TAFs, PIREPs, and route weather data for informational purposes only.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides access to aviation weather data from aviationweather.gov, enabling LLMs to fetch and analyze METAR, TAF, PIREPs, AIRMETs, and other aviation weather information.156MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for fetching METAR and TAF aviation weather data for airports by ICAO code.MIT
- FlicenseNot gradedqualityDmaintenanceFetches and parses METAR/TAF aviation weather data from NOAA with caching and human-readable formatting.1
Related MCP Connectors
Aviation Weather MCP — METAR, TAF, PIREPs, AIRMET/SIGMET, station info
NOAA and ECMWF weather forecast MCP for discovery, validation, and GribStream OAuth queries.
Get US weather forecasts, active alerts, and current observations.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/cyanheads/aviation-weather-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server