Releases: cyanheads/aviation-weather-mcp-server
Releases · cyanheads/aviation-weather-mcp-server
Release list
v0.4.6: preflight brief route context
preflight brief route context
aviation_preflight_briefgains optionaldeparture_time,cruise_altitude, androute_waypointsargs that narrow the TAF, PIREP, and advisories steps (#22)- Station calls now chunk to each tool's per-call limit instead of requesting an over-limit batch (#22)
- Synthesis step reports weather risk and explicit gaps instead of a Go/No-Go recommendation (#22)
departure_icao/destination_icao/alternatesnow require 4-letter ICAO identifiers, matchingaviation_get_metar/aviation_get_tafvalidation (#22)
v0.4.5: response-size limit and station identifier handling
response-size limit and station identifier handling
limiton aviation_get_pireps bounds response size after the recency sort, disclosed vialimited/matchedapart from the upstream cap (#34)limiton aviation_find_stations' bbox/state modes, ordered by ICAO identifier ascending with identifier-less stations last (#36)- aviation_find_stations: whitespace in station_ids entries is trimmed instead of failing the whole call; upstream rejections now raise a declared upstream_rejected reason with a mode-specific recovery hint (#35)
- aviation_find_stations: lookup description and recovery hints corrected to match the registry's own identifier, not ICAO-only (#35)
v0.4.4: upstream hazard filter and empty-result disclosure
upstream hazard filter and empty-result disclosure
aviation_get_advisories:hazardfilter now matches AWC's ownconv/turb/ice/ifrparameter instead of a client-side substring test against an undocumented vocabulary (#30)aviation_get_advisories: empty result carries anoticenaming the stage that produced it — no SIGMETs active, none carrying the requested hazard, or none intersecting the bbox (#33)
v0.4.3: Sky condition disclosure and station batch reconciliation
Sky condition disclosure and station batch reconciliation
aviation_get_metar/aviation_get_taf: a newsky_conditionfield replaces the old empty-clouds-means-clear assumption, so a report or forecast that stated nothing now renders as unreported instead of clear (#27)aviation_get_metar: an obscuration with no vertical visibility (VV///) now renders as not determinable instead of no ceiling (#27)aviation_find_stations: a batch lookup now discloses which requested identifiers resolved to nothing, with separate guidance for a non-ICAO identifier vs. one absent from the AWC registry (#31)hours,visibility_sm, andchange_typefield descriptions corrected
v0.4.2: PIREP normalization corrections and upstream filtering
PIREP normalization corrections and upstream filtering
altitude_ftno longer reports 0 for a malformed flight-level group — the discriminator now checks whether the raw/FL…/group round-trips to the value AWC produced, not a fixed token list (#25)icing[].intensityno longer surfaces AWC's fabricatedNEGclrlayers — a layer marked with a concatenated type suffix is dropped per layer instead of published with borrowed altitude bounds (#26)aviation_get_pirepsgained amin_intensityinput and now pushes altitude bounds upstream as alevelcentre when the band fits AWC's fixed ±3,000 ft width, narrowing the page the 400-row cap applies to (#32)- Vendored skills and devcheck/lint-packaging/framework-antipatterns tooling resynced to the mcp-ts-core 0.12.8 template
- deps:
@cyanheads/mcp-ts-core^0.12.3→^0.12.8
v0.4.1: mcp-ts-core ^0.12.3, MCP SDK v2
mcp-ts-core ^0.12.3, MCP SDK v2
- An argument key no tool schema declares is now rejected by name instead of silently stripped; strictness is root-level, so a nested
bboxkey is still dropped. .env.examplepinsMCP_SESSION_MODE=stateless, matching the Docker image; a plainGET /mcpadvertises it.- New
tool-input-contracttests pin the declared root parameter set of every tool. - Bun pins move to 1.4.0 with a cross-compiling build stage; repo tooling follows the SDK module rename and the vendored agent skills are re-synced.
- deps:
@cyanheads/mcp-ts-core^0.11.5 → ^0.12.3 (+ biome, tsc-alias, vitest bumps)
v0.4.0: AIRMET rejection, upstream row-cap truncation disclosure
AIRMET rejection, upstream row-cap truncation disclosure
- Breaking:
aviation_get_advisoriesthrowsairmet_not_servedforadvisory_type: "airmet"and theMTN OBSCN/SURFACE WIND/LLWShazards instead of returning SIGMETs or an empty array; the inerttype=/types=parameter is dropped from the/airsigmetrequest (#12) aviation_find_stationsandaviation_get_pirepsreporttruncated/shown/cap/upstreamRows/noticeviaenrichmentwhen AWC's 400-row cap cuts a page, naming a smallerbbox— plusdistance_nmandhoursfor PIREPs — as the levers that narrow a query before the cap applies (#11)
v0.3.0: Multi-group weather decode, TAF forecast obscuration and wind shear, partial-batch disclosure
Multi-group weather decode, TAF forecast obscuration and wind shear, partial-batch disclosure
- Breaking: present weather now decodes each space-delimited group on its own instead of reading the whole value as one code;
aviation_get_tafforecast_periods[].weathermoves fromstring | nullto{ raw, decoded }, matchingaviation_get_metar(#21) aviation_get_tafno longer drops a forecastOVXlayer or renders it asClear; a newvertical_visibility_ftfield carries the height in feet AGL (#28)aviation_get_tafforecast periods carry a newwind_shearfield (height, direction, speed) decoded from theWSgroup (#23)aviation_get_metar/aviation_get_tafbatch calls discloserequested/returned/partial/missingstation IDs viaenrichmentinstead of silently dropping a station that returned nothing (#18)- FAA AIM citation corrected on the METAR/TAF ceiling rule (7-1-13 → 7-1-29)
v0.2.0: Nullable output fields, corrected cloud-height datum, obscured-sky ceilings
Nullable output fields, corrected cloud-height datum, obscured-sky ceilings
- Breaking: METAR (wind/temp/dewpoint/altimeter), TAF (forecast wind), PIREP (altitude, cloud base/top), and station (elevation) outputs are now nullable instead of a fabricated 0 (#15)
- aviation_get_metar ceiling now covers obscured-sky (OVX) layers via a new ceiling_type field; a new present_weather field carries the raw + decoded weather group (#16)
- aviation_get_metar/aviation_get_taf cloud heights are now described in feet AGL, not MSL — the values were already correct (#13)
- content[] now matches structuredContent: full-precision coordinates, one-sided PIREP altitude bounds, explicit unreported states instead of SFC/UNL or a dropped line (#14)
- aviation_get_pireps schema text corrected: an empty turbulence/icing array is no longer described as a negative report, and clouds[].cover names its full code set (#24)
v0.1.9: pirep/find_stations fixes, mcp-ts-core ^0.11.5
pirep/find_stations fixes, mcp-ts-core ^0.11.5
- AWC pirep lookback now sends age=, not hours= (#17)
- aviation_get_pireps rejects distance_nm+bbox and inverted altitude ranges (#19)
- aviation_find_stations validates state codes; DC now supported (#20)
- toolchain/skills resync to mcp-ts-core 0.11.5; .mcpb bundles strip DuckDB native bindings; overrides pin clears 20 audit advisories (js-yaml); CODE_OF_CONDUCT/CONTRIBUTING added; SECURITY contact updated
- deps:
@cyanheads/mcp-ts-core^0.10.14 → ^0.11.5,typescript^6.0.3 → ^7.0.2 (+ minor dev-dep bumps)