Canada Wildfire Hotspots (Last 24 Hours)
cwfis/fire-hotspots
Returns satellite-detected wildfire hotspots of the last 24 hours from the Canadian Wildland Fire Information System, newest detection first, for a latitude and longitude box. Each feature is a point (longitude, latitude) with properties including rep_date (detection time, UTC), source and sensor and satellite, agency (province, territory or US state), fire weather values at the point (ffmc, dmc, dc, isi, bui, fwi), fuel type and frp (fire radiative power). Give the box as min_lon, min_lat, max_lon and max_lat with each minimum not above its maximum (an inverted box matches nothing). Returns up to `count` features (1 to 25, default 10) as a GeoJSON FeatureCollection with numberMatched; an empty `features` array means no detection in the box.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Contains information licensed under the Open Government Licence - Canada. Data from the Canadian Wildland Fire Information System, Natural Resources Canada (https://cwfis.cfs.nrcan.gc.ca/), passed through unmodified. Served by Eden Engine; not an official Natural Resources Canada product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "cwfis/fire-hotspots" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "cwfis/fire-hotspots" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "cwfis/fire-hotspots", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "cwfis/fire-hotspots", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"min_lon",
"min_lat",
"max_lon",
"max_lat"
],
"properties": {
"count": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Maximum features to return, 1 to 25. Defaults to 10."
},
"max_lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "North edge of the box, decimal degrees (WGS84), for example 60. Not below min_lat."
},
"max_lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "East edge of the box, decimal degrees (WGS84), for example -110. Not below min_lon."
},
"min_lat": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "South edge of the box, decimal degrees (WGS84), for example 48."
},
"min_lon": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "West edge of the box, decimal degrees (WGS84), for example -130."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"features"
],
"properties": {
"type": {
"type": "string",
"description": "Always FeatureCollection."
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Feature id in the layer."
},
"type": {
"type": "string",
"description": "Always Feature."
},
"geometry": {
"type": "object",
"description": "Point geometry: coordinates are [longitude, latitude] in WGS84 (a third value, when present, is zero).",
"additionalProperties": true
},
"properties": {
"type": "object",
"description": "rep_date, source, sensor, satellite, agency, lat, lon, ffmc, dmc, dc, isi, bui, fwi, fuel, frp and further fire-behaviour fields, as sent by the service.",
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "Hotspots, newest detection first. Empty when nothing was detected in the box."
},
"numberMatched": {
"type": "integer",
"description": "Number of features that match the filter."
},
"totalFeatures": {
"type": "integer",
"description": "Number of features in the layer that match, ignoring `count`."
},
"numberReturned": {
"type": "integer",
"description": "Number of features in this answer."
}
},
"description": "A GeoJSON FeatureCollection as sent by the service.",
"additionalProperties": true
}