Ryan Malloy 31dff49351 Fix colormap parsing against live GIBS API
Two bugs found via headless Claude CLI integration testing:

1. Colormap ID extraction: _detect_colormap returned the layer
   identifier as colormap_id, but GIBS layers often share colormaps
   under different filenames (e.g., AMSRU2_Sea_Ice_Concentration_12km
   -> colormap AMSR2_Sea_Ice_Concentration.xml). Now parses the actual
   filename from the metadata xlink:href.

2. Entries wrapper: GIBS v1.3 colormap XML nests ColorMapEntry elements
   inside an <Entries> wrapper. The parser only searched direct children
   of <ColorMap>, finding zero entries from live data. Now checks
   Entries/ColorMapEntry first, falling back to direct children.

Updated test fixture to use the real <Entries> wrapper structure.
2026-02-18 15:47:52 -07:00
Description
FastMCP server for NASA Global Imagery Browse Services (GIBS)
MIT 2.9 MiB
Languages
Python 100%