Public MCP server for FireSight wildfire data: active fire clusters, archive search, statistics, firefighting aircraft tracking, and measured earliness metrics. Read-only access to satellite detections (NASA FIRMS, NOAA GOES, EUMETSAT Meteosat MTG) fused with AI-verified witness reports.
FireSight MCP server demonstrates solid tool design with clear, domain-specific naming and comprehensive parameter schemas. All 5 tools follow verb_noun patterns (active_fires, fire_archive_search, wildfire_stats, firefighting_aircraft, earliness_cases). Descriptions are well-crafted (150-250 chars), explaining WHAT each tool does and WHEN to use it. Input schemas are fully typed with proper constraints (enums for hours, ISO-2 country codes, bbox tuples, numeric ranges). However, output schemas are not documented in the source, LLMs cannot see what fields to expect from responses. Error handling guidance is absent. Tool composition is clean (each does one thing), but response field naming conventions are not visible in the code provided.
Fire clusters detected by satellite over the last N hours (default 24), worldwide or filtered by ISO-2 country, bounding box, or a point with a radius. Returns up to `limit` clusters ranked by relevance (corroborated and recent first). Use for 'is there a fire near X right now' or 'wildfires in <country> today'. Each cluster: position, first/last satellite pass (UTC), detections per sensor, peak fire radiative power (MW), confidence (possible | probable | corrobore = cross-checked with witnesses).
Measured lead time of FireSight detections over press coverage: cases where satellite data preceded news articles. Use for 'how early does FireSight detect fires vs. media', 'examples of satellite earliness'.
Search FireSight's archive of significant wildfires (since 2026-08-03): by ISO-2 country, date range or month, minimum detections or power, status. Each result has a permanent page URL (firesight.io/fr/feu/<slug>). Use for 'what fires happened in <country> in <month>', 'biggest fires this week', 'is the fire near X still active'.
Live positions of water bombers and firefighting aircraft tracked by ADS-B (automatic dependent surveillance-broadcast). Returns aircraft type, callsign, position, altitude, heading. Use for 'where are the water bombers', 'is there aerial firefighting near X'.
Output schemas not documented. LLMs cannot see what fields responses contain (e.g., does active_fires return 'maxFrp' or 'peak_power'?). This forces agents to guess field names and risks extraction errors.
No error handling guidance. Tools lack recovery hints (e.g., 'If country code is invalid, try search_countries() first'). Agents cannot self-correct on failures.
Pagination not explicitly documented. fire_archive_search and active_fires accept 'limit' but no 'offset' or 'cursor' parameter visible. Large result sets may exceed context windows without clear pagination strategy.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Aggregate statistics by country and/or period: total fires, detections, peak power, witness posts, aircraft observed. Citable figures for reports and articles. Use for 'how many fires in <country> this month', 'global wildfire trends'.
Parameter 'near' in active_fires uses nested object structure (lat, lon, radiusKm). Flattening to near_lat, near_lon, near_radius_km would improve clarity and reduce LLM confusion about nested parameter passing.
Tool descriptions lack dependency hints. No guidance on which tools to call first (e.g., 'Call active_fires to find current fires, then firefighting_aircraft to check aerial response'). Agents must discover tool chains through trial.