4 Commits

Author SHA1 Message Date
ac6977a105 Add query_point, get_time_series tools and polar projection support
- query_point: reverse-maps pixel RGB through colormap to recover exact
  data values at geographic coordinates
- get_time_series: fetches imagery across evenly-spaced dates for
  temporal analysis (up to 12 frames)
- Auto-detect polar stereographic projection (EPSG:3413/3031) for
  high-latitude bounding boxes
- Add progress reporting to all HTTP-calling tools
- Add quantitative_snapshot and seasonal_timelapse prompts
- Update README with 3 new conversational examples
- 92 tests passing
2026-02-19 12:12:25 -07:00
212d4370d5 Add MCP prompts, README, LICENSE, and PyPI metadata
Five new prompts guide LLMs through multi-tool workflows:
satellite_snapshot, climate_monitor, layer_deep_dive,
multi_layer_story, polar_watch. README documents all 11 tools,
5 resources, and 7 prompts with example conversations.
MIT license, project URLs, and updated classifiers for PyPI.
2026-02-19 11:40:23 -07:00
db6ed2f550 Use FastMCP Image type, Context progress, and dynamic resources
Replace hand-rolled base64 dicts with FastMCP's Image() helper in
get_imagery, compare_dates, get_imagery_composite, and get_legend.
FastMCP handles base64 encoding and MIME type automatically.

Add Context progress reporting to imagery tools so MCP clients can
display fetch status (resolving location, fetching imagery, etc).

Add dynamic resources:
  gibs://colormap/{layer_id} — colormap explanation text
  gibs://dates/{layer_id}    — date range + live DescribeDomains

Remove unused base64 import.
2026-02-18 18:30:32 -07:00
f7fad32a9e Implement mcgibs FastMCP server for NASA GIBS
Complete implementation of all modules:
- constants.py: GIBS API endpoints, projections, TileMatrixSet defs
- models.py: Pydantic models for layers, colormaps, geocoding
- geo.py: Nominatim geocoding with rate limiting and caching
- capabilities.py: WMTS GetCapabilities XML parser with search
- colormaps.py: Colormap v1.3 parser with natural-language summaries
- client.py: Async GIBS HTTP client wrapping all API interactions
- server.py: FastMCP 3.0 tools, resources, and prompts

11 MCP tools, 3 resources, 2 prompts. 47 tests, all passing.
2026-02-18 14:55:41 -07:00