Skip to content

Releases: cyanheads/aviation-weather-mcp-server

v0.4.6: preflight brief route context

Choose a tag to compare

@cyanheads cyanheads released this 10 Sep 04:44
v0.4.6
dff9f1c

preflight brief route context

  • aviation_preflight_brief gains optional departure_time, cruise_altitude, and route_waypoints args 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/alternates now require 4-letter ICAO identifiers, matching aviation_get_metar/aviation_get_taf validation (#22)

CHANGELOG v0.4.6

v0.4.5: response-size limit and station identifier handling

Choose a tag to compare

@cyanheads cyanheads released this 10 Sep 03:21
v0.4.5
e6ed98f

response-size limit and station identifier handling

  • limit on aviation_get_pireps bounds response size after the recency sort, disclosed via limited/matched apart from the upstream cap (#34)
  • limit on 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)

CHANGELOG v0.4.5

v0.4.4: upstream hazard filter and empty-result disclosure

Choose a tag to compare

@cyanheads cyanheads released this 10 Sep 01:52
v0.4.4
72e8df8

upstream hazard filter and empty-result disclosure

  • aviation_get_advisories: hazard filter now matches AWC's own conv/turb/ice/ifr parameter instead of a client-side substring test against an undocumented vocabulary (#30)
  • aviation_get_advisories: empty result carries a notice naming the stage that produced it — no SIGMETs active, none carrying the requested hazard, or none intersecting the bbox (#33)

CHANGELOG v0.4.4

v0.4.3: Sky condition disclosure and station batch reconciliation

Choose a tag to compare

@cyanheads cyanheads released this 10 Sep 00:48
v0.4.3
d512c8f

Sky condition disclosure and station batch reconciliation

  • aviation_get_metar/aviation_get_taf: a new sky_condition field 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, and change_type field descriptions corrected

CHANGELOG v0.4.3

v0.4.2: PIREP normalization corrections and upstream filtering

Choose a tag to compare

@cyanheads cyanheads released this 09 Sep 23:19
v0.4.2
dcbfca5

PIREP normalization corrections and upstream filtering

  • altitude_ft no 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[].intensity no longer surfaces AWC's fabricated NEGclr layers — a layer marked with a concatenated type suffix is dropped per layer instead of published with borrowed altitude bounds (#26)
  • aviation_get_pireps gained a min_intensity input and now pushes altitude bounds upstream as a level centre 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

CHANGELOG v0.4.2

v0.4.1: mcp-ts-core ^0.12.3, MCP SDK v2

Choose a tag to compare

@cyanheads cyanheads released this 25 Aug 09:40
v0.4.1
c8ae714

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 bbox key is still dropped.
  • .env.example pins MCP_SESSION_MODE=stateless, matching the Docker image; a plain GET /mcp advertises it.
  • New tool-input-contract tests 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)

CHANGELOG v0.4.1

v0.4.0: AIRMET rejection, upstream row-cap truncation disclosure

Choose a tag to compare

@cyanheads cyanheads released this 13 Aug 14:43
v0.4.0
8edc009

AIRMET rejection, upstream row-cap truncation disclosure

  • Breaking: aviation_get_advisories throws airmet_not_served for advisory_type: "airmet" and the MTN OBSCN/SURFACE WIND/LLWS hazards instead of returning SIGMETs or an empty array; the inert type=/types= parameter is dropped from the /airsigmet request (#12)
  • aviation_find_stations and aviation_get_pireps report truncated/shown/cap/upstreamRows/notice via enrichment when AWC's 400-row cap cuts a page, naming a smaller bbox — plus distance_nm and hours for PIREPs — as the levers that narrow a query before the cap applies (#11)

CHANGELOG v0.4.0

v0.3.0: Multi-group weather decode, TAF forecast obscuration and wind shear, partial-batch disclosure

Choose a tag to compare

@cyanheads cyanheads released this 13 Aug 12:50
v0.3.0
1544486

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_taf forecast_periods[].weather moves from string | null to { raw, decoded }, matching aviation_get_metar (#21)
  • aviation_get_taf no longer drops a forecast OVX layer or renders it as Clear; a new vertical_visibility_ft field carries the height in feet AGL (#28)
  • aviation_get_taf forecast periods carry a new wind_shear field (height, direction, speed) decoded from the WS group (#23)
  • aviation_get_metar/aviation_get_taf batch calls disclose requested/returned/partial/missing station IDs via enrichment instead 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)

CHANGELOG v0.3.0

v0.2.0: Nullable output fields, corrected cloud-height datum, obscured-sky ceilings

Choose a tag to compare

@cyanheads cyanheads released this 13 Aug 11:19
v0.2.0
c1009f8

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)

CHANGELOG v0.2.0

v0.1.9: pirep/find_stations fixes, mcp-ts-core ^0.11.5

Choose a tag to compare

@cyanheads cyanheads released this 13 Aug 09:33
v0.1.9
de87c74

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)

CHANGELOG v0.1.9