Skip to content
Eden Engine

U.S. Wildfire Perimeters: Current Interagency Fire Perimeter Records (NIFC)

nifc/wildfire-perimeters

Current U.S. interagency wildfire perimeter records from the National Interagency Fire Center's WFIGS layer: incident name, feature category, map method, mapped area in GIS acres, approval status and time of the mapping, joined with the incident's size, cause, containment and point of origin. Filter with an SQL where clause, for example poly_IncidentName='Sellers Lake 2'. Date-time fields are epoch milliseconds. Returns up to 50 records per call. Attribute data only: the polygon geometry is not included. National Interagency Fire Center data, passed through unmodified and served by Eden Engine; not an official NIFC product.

activeper callv1

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 $5.

Data source

National Interagency Fire Center

Data from the National Interagency Fire Center (NIFC), Wildland Fire Interagency Geospatial Services (WFIGS), U.S. Department of the Interior. Served by Eden Engine; not an official NIFC 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.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "nifc/wildfire-perimeters" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "nifc/wildfire-perimeters" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "nifc/wildfire-perimeters", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "nifc/wildfire-perimeters", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not 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.

ChargePrice
Per call
$0.0026
Updated
Oct 20, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "limit"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "How many records to return, 1 to 50. Required. The layer holds more records than this; the service chooses which ones, in no order you control."
    },
    "where": {
      "type": "string",
      "default": "1=1",
      "maxLength": 500,
      "minLength": 1,
      "description": "An SQL where clause on the layer's fields. Default 1=1 matches every perimeter. Examples: attr_POOState='US-FL' for Florida, poly_GISAcres>10000 for perimeters over 10000 acres, poly_IncidentName='Sellers Lake 2' for one named fire. A clause the service rejects comes back as a VALIDATION error."
    },
    "out_fields": {
      "type": "string",
      "default": "*",
      "pattern": "^(\\*|[A-Za-z0-9_]+(,[A-Za-z0-9_]+)*)$",
      "description": "Which attribute fields to return: * for all of them, or a comma-separated list of field names with no spaces, for example poly_IncidentName,poly_GISAcres,attr_POOState. Leave the default to see every field name, then narrow the list to keep responses small."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "description": "One perimeter's fields as the layer stores them: poly_* fields describe the perimeter (poly_IncidentName, poly_FeatureCategory, poly_MapMethod, poly_GISAcres, poly_FeatureStatus, poly_PolygonDateTime in epoch milliseconds) and attr_* fields describe the incident (attr_IncidentSize, attr_FireCause, attr_PercentContained, attr_POOState, attr_POOCounty, attr_InitialLatitude, attr_InitialLongitude). Unset fields are null.",
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      },
      "description": "The matching records, at most `limit`. Empty when the filter matches nothing."
    }
  },
  "description": "The matching perimeter records under `results`. Each has an `attributes` object.",
  "additionalProperties": false
}