aviation-weather-mcp-server
Fetch METARs, TAFs, PIREPs, domestic/international SIGMETs and CWAs from NWS AWC via MCP. AIRMETs not served. STDIO or Streamable HTTP.
Install / Use
claude mcp add cyanheads -- npx -y github:cyanheads/aviation-weather-mcp-serverIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
MarketingSupported Platforms
Tags
Our assessment of aviation-weather-mcp-server
aviation-weather-mcp-server scores 83/100 on our quality scale, 458th of 576 Marketing skills we index.
Its MCP Server is 20 KB long, well organised into 26 sections with 11 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 12 days ago, so aviation-weather-mcp-server is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
aviation-weather-mcp-server compared with similar skills
All 4 of these similar skills score higher than aviation-weather-mcp-server; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| aviation-weather-mcp-server (this skill)by cyanheads | 83 | 3 | 12d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 106.9k | 6d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.4k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.7k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 90.5k | 1d ago | MCP Server |
Frequently asked questions
- How do I install aviation-weather-mcp-server?
- Run
claude mcp add cyanheads -- npx -y github:cyanheads/aviation-weather-mcp-server. The install tabs above show the steps for each supported agent. - Which AI agents does aviation-weather-mcp-server work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is aviation-weather-mcp-server safe to use?
- It is Apache-2.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is aviation-weather-mcp-server still maintained?
- The repository was last updated 12 days ago, so aviation-weather-mcp-server is actively maintained.
Skill content
View source on GitHubPublic Hosted Server: https://aviation-weather.caseyjhand.com/mcp
</div>Overview
Aviation weather from the NWS Aviation Weather Center — METARs, TAFs, PIREPs, domestic/international SIGMETs, and Center Weather Advisories. Look up stations, fetch current and forecast conditions, and pull pilot reports and hazard advisories. AIRMETs are not served.
Tools
| Tool | Description |
|:-----|:------------|
| aviation_find_stations | Resolve airports and weather stations by identifier, bounding box, or US state. Returns ICAO/IATA/FAA IDs, coordinates, elevation, and available data types. |
| aviation_get_metar | Get current weather observations (METARs) for named airports, or survey every reporting station in a bounding box. Returns decoded wind, visibility, ceiling, present weather, temp/dewpoint, altimeter, cloud layers, flight category (VFR/MVFR/IFR/LIFR), and the raw METAR string. |
| aviation_get_taf | Get Terminal Aerodrome Forecasts for one or more airports. Returns each forecast period with valid times, surface wind, low-level wind shear, visibility, decoded weather, cloud layers, and vertical visibility into a forecast obscuration, plus the raw TAF string. |
| aviation_get_pireps | Get recent Pilot Reports near an airport or within a bounding box. Returns decoded turbulence, icing, and cloud reports with altitude, aircraft type, intensity, outside air temperature, wind aloft, flight weather, and the raw PIREP string. |
| aviation_get_advisories | Get domestic/international SIGMETs and Center Weather Advisories. Returns source coverage, hazard, severity, altitude, validity, movement, multipart geometry and original bulletins; omitted facts stay null. |
Prompts
| Prompt | Description |
|:-----|:------------|
| aviation_preflight_brief | Structure a preflight weather briefing for a flight, calling the tools above in sequence and synthesizing a weather-risk summary. |
Capability reference
aviation_find_stations <sub>tool</sub>
- Look up one or more stations by identifier (up to 20 per call) — a lookup matches the registry's own ID, which for an airport is its 4-character ICAO ID (e.g.,
KSEA,K0S9); a 3-letter IATA code never resolves, though each record includes its IATA/FAA aliases when available - Discover stations within a geographic bounding box, or list stations for one of the 50 US states or DC via two-letter USPS code
- Returns
data_types(METAR, TAF, etc.) so agents can confirm what's available before querying - Every result states whether the upstream 400-row cap cut it;
limit(1–400) bounds how many stations abboxorstatesearch returns, ordered by ICAO identifier ascending with identifier-less stations last — rejected alongsidestation_ids, since that mode already names the set. An area search returning more than 130 stations with nolimitsays so and names the lever; omittinglimitstill returns every match - An ID lookup names every identifier that resolved to nothing, separating a 3-letter IATA code (never resolves) from an identifier the registry simply does not list
- Whitespace around an ID is trimmed rather than failing the batch; only an empty or whitespace-only entry is rejected
aviation_get_metar <sub>tool</sub>
station_ids(1–10 per call — 4 ASCII letters or digits, case-insensitive and normalized to uppercase, sokseaandK0S9work) for named airports, orbboxto survey every reporting station in an area — mutually exclusivehours(1–12) is a lookback window, not a row limit: withstation_idsevery observation inside it is returned, and withbboxthe result is the latest observation per stationflight_category(e.g.,["IFR", "LIFR"]) narrows abboxsurvey to the stations in those categories — judged on each station's latest observation, applied beforelimit, and disclosed with the count surveyed before it; a station AWC could not rate never matches, and a survey the filter empties returns an empty result that says so. Rejected alongsidestation_ids- A
bboxsurvey states whether the upstream 400-row cap cut it and, abovehours: 1, nameshoursas the first lever — a wide window spends the cap on repeat readings rather than on more stations;limit(1–400) bounds how many stations come back, ordered by station ID ascending, and is rejected alongsidestation_ids. A survey returning more than 40 stations with nolimitsays so and names the levers; omittinglimitstill returns every station - Flight category (VFR/MVFR/IFR/LIFR) returned directly from the AWC API; decodes wind, visibility, present weather, and cloud layers alongside the raw METAR string
- Ceiling reports both height and kind (measured, or indefinite for vertical visibility into an obscuration) —
sky_conditiondistinguishes a reported clear sky from an unreported one whencloudsis empty metar_typedistinguishes routineMETARfrom specialSPECIobservations- Every batch reports which requested stations came back, naming missing IDs with recovery guidance
aviation_get_taf <sub>tool</sub>
- Accepts 1–4 ICAO station IDs per call: 4 ASCII letters or digits in either case, normalized to uppercase
- Structured forecast periods with change types (
FM,TEMPO,BECMG) and probabilities; weather decoded group by group beside the raw groups - Forecast obscurations keep their layer and carry the vertical visibility into them, rather than reading as clear sky;
sky_conditiondistinguishes an unamended period from a stated clear sky - Text the upstream decoder left undecoded — often a fourth cloud layer — is surfaced per period in
not_decodedrather than dropped - Low-level wind shear (
WS020/20040KT) decoded to the shear-layer top and forecast wind at that height valid_from/valid_toin ISO 8601 for time comparisons- Every batch reports which requested stations came back, naming missing IDs with recovery guidance
aviation_get_pireps <sub>tool</sub>
station_id(4 ASCII letters or digits in either case, normalized to uppercase) +distance_nm(10–500 nm, 100 when omitted) for radial search, orbboxfor area search — mutually exclusive; astation_idAWC does not recognize as a search center returns a typed error pointing toaviation_find_stationsorbboxaltitude_min_ft/altitude_max_ftfilter to a cruise-altitude band in feet MSL, from 0 to 60000 ft (min must not exceed max); a report with unknown altitude is dropped once either bound is setmin_intensity(lgt/mod/sev) restricts to reports carrying a turbulence or icing layer at that intensity or above — a matching report still carries its lighter layers- Turbulence and icing arrays include up to two layers per report; icing layers the API synthesized for a report that never mentioned ice are dropped
- Outside air temperature (
temp_c), wind aloft (wind), and the/WXflight weather decoded beside its raw groups (weather), for PIREPs and AIREPs alike. The wind direction is published as reported, with no conversion — a PIREP/WVdirection is magnetic, unlike the true-north METAR and TAF winds - Every result states whether the upstream 400-row cap cut it, naming only the narrowing levers the call can still use, and
limit(1–400) bounds how many reports come back, ordered by recency. A result of more than 50 reports with nolimitsays so and names the lever; omittinglimitstill returns every match - PIREPs are sparse by nature — absence of reports does not mean smooth conditions
aviation_get_advisories <sub>tool</sub>
advisory_type:sigmet(domestic),isigmet(international, including oceanic),cwa(Center Weather Advisories), orall(default: all three independent products)hazardis applied upstream: domestic supportsCONVECTIVE,TURBULENCE,ICING,IFR; international supportsTS,TURBULENCE,ICING,MTW,DS,SS,TC,VA; CWA supportsTS,TURBULENCE,ICING,IFR,PCPN,UNK. Incompatible sources arenot_applicable; a selection with no compatible source is rejectedcoveragereports each selected source asok,failedornot_applicable, with decoded drawn counts only for readable sources.partialmarks failed sources or skipped unreadable rows. Independent healthy products survive a failure; all applicable products failing is an error. One 45-second deadline bounds the concurrent advisory reads and retries; caller cancellation aborts all legsbboxuses each geometry part's bounding envelope, including date-line crossings, rather than exact polygon intersection. Input remains ordered (minLat <= maxLat,minLon <= maxLon). With bbox,drawncounts rows after product/hazard selection,matchedcounts geographic matches,returnedcounts rows after any limit, andunlocatedseparately counts rows without decoded geometrylimitis optional with no default: omitted means every available match. An explicit limit orders by source, issuer, series and validity, reportstotal/returned/truncated, and explains how to retrieve withheld matches by omitting or raising it- Missing issuer, series, hazard, validity and raw text stay null.
geometry.partspreserves separate rings/lines and source-nativekind(including null); compatibilitypolygonis null for multipart, line or missing geometry. Domestic numeric severity/movement stay unchanged; international movement preservesdirection_textand decoded knots. CWA severity/movement remain null, and altitudes are never inferred from bulletin text - Original bulletins render in s
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
106.9kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.7kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
90.5k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
