Disaster Response MCP Server is an MCP (Model Context Protocol) server on ApifyForge. MCP server for disaster response intelligence. Wraps 6 specialized actors: FEMA (U.S. disaster declarations), USGS (earthquakes), NOAA (weather alerts), GDACS (global disaster alerts), UK Environment Agency (flood... Best for AI developers and agent builders who need structured real-world data inside Claude, Cursor, or other MCP-compatible clients. Not ideal for non-AI workflows or use cases that don't involve an MCP-compatible client. Maintenance pulse: 90/100. Last verified March 27, 2026. Built by Ryan Clinton (ryanclinton on Apify).

AIDEVELOPER TOOLS

Disaster Response MCP Server

Disaster Response MCP Server is an MCP (Model Context Protocol) server available on ApifyForge. MCP server for disaster response intelligence. Wraps 6 specialized actors: FEMA (U.S. disaster declarations), USGS (earthquakes), NOAA (weather alerts), GDACS (global disaster alerts), UK Environment Agency (flood warnings), and Open-Meteo (weather forecast). Includes composite situation report tool.

Best for AI developers and agent builders who need structured real-world data inside Claude, Cursor, or other MCP-compatible clients.

Not ideal for non-AI workflows or use cases that don't involve an MCP-compatible client.

Coming soon on Apify Store
Last verified: March 27, 2026
90
Actively maintained
Maintenance Pulse
Free
Per event

What to know

  • Requires an MCP-compatible client (Claude Desktop, Cursor, Windsurf, or similar).
  • Tool call results depend on the availability of upstream public APIs.
  • Requires an Apify account and API token for authentication.

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Documentation

Disaster Response MCP, agent-native multi-hazard SITREP stack

Disaster Response MCP is a pay-per-call, agent-native disaster situation-report stack for emergency operations centers, business continuity teams, news desks, and AI agents that need live multi-hazard context without an EOC seat license.

It wires six public disaster and weather data sources into one MCP endpoint: FEMA disaster declarations, USGS earthquakes, NOAA / NWS weather alerts, GDACS global multi-hazard alerts, UK Environment Agency flood warnings, and Open-Meteo forecasts. A composite disaster_situation_report tool fans five of those sources out in parallel and returns a categorized threatAssessment[] ready for incident-command routing. Every upstream source is keyless and free, so the only cost is the per-call PPE charge.

The category

Disaster Response MCP is an agent-native disaster SITREP stack, not an EOC platform and not a CAT model. Unlike WebEOC (a seat-licensed incident-management platform for staffed operations centers), Esri Disaster Response Program (a paid mapping platform on ArcGIS), Everbridge (a paid mass-notification suite), or manual NOAA + FEMA + USGS + GDACS tab juggling, it produces deterministic, machine-readable JSON straight into Claude Desktop, Cursor, LangChain, or any MCP-aware client. The MCP returns the raw multi-source signals plus a composite threat assessment; your agent, dispatcher, or analyst makes the call. No seat license, no subscription, pay per call.

In one sentence

Pull a U.S.-state-level situation report covering FEMA declarations, active NOAA severe-weather alerts, earthquakes within a 300 km radius in the past 30 days, GDACS Red and Orange global alerts, and a 3-day local forecast, in a single MCP tool call, or query any of the six disaster sources individually.

What you get from one call

disaster_situation_report fans out to five sources in parallel (FEMA, NOAA, USGS, GDACS, Open-Meteo) and returns:

  • threatAssessment[], a categorized, plain-language summary of every triggered signal, tagged EXTREME (extreme weather alerts), SEVERE (severe weather alerts), SEISMIC (M5.0+ quakes in radius), GLOBAL (GDACS Red alerts) and DECLARED (FEMA declarations this fiscal year)
  • threatCount, headline integer your agent can branch on
  • currentWeather, temperature, windspeed, and weather description for the location
  • forecast, the next 3 days with high/low, precipitation, max wind, and a plain-language weather description
  • femaDeclarations, count plus the most recent declarations with title, type, date, and FEMA designation string
  • weatherAlerts, total plus extreme/severe split plus the top 10 active alerts with event, severity, urgency, headline, and expiry
  • earthquakes, total plus M5.0+ count plus the top 5 events with magnitude, place, depth, and tsunami flag
  • globalDisasters, total plus Red/Orange counts plus the top 10 GDACS events with type, title, alert level, country, and severity
  • sources, the five upstream datasets that contributed

Feature callouts: composite multi-source SITREP, threat-tier categorization, parallel fan-out, agent-ready JSON

What makes this different

  • Response-oriented, not risk-oriented. Sibling Environmental Hazard MCP screens locations for compliance history and longer-window environmental risk. This MCP surfaces what is happening now (active alerts, current conditions, 3-day forecast, recent seismic) and what was declared this fiscal year. Use that one for due diligence, this one for SITREPs.
  • Categorized threat ladder, not a raw count. The composite walks the five sub-results and produces an EXTREME / SEVERE / SEISMIC / GLOBAL / DECLARED ladder that maps directly to incident-command tiers. Your agent branches on the category, not on whether 12 or 13 alerts came back.
  • Live NWS alerts, not stale RSS. disaster_weather_alerts calls api.weather.gov directly with active_only=true for currently-in-effect warnings, watches, and advisories.
  • Keyless across all six sources. FEMA OpenFEMA, USGS, NOAA / NWS, GDACS, UK Environment Agency, and Open-Meteo are all free public APIs with no key required. The only cost is the PPE charge.
  • Graceful degradation built in. The composite accepts any combination of state, location, and latitude+longitude. Pass what you have, the rest is skipped cleanly with empty arrays rather than failing.

Before vs after

Without this MCPWith this MCP
Open FEMA OpenFEMA, NWS api.weather.gov, USGS earthquake feed, GDACS, and Open-Meteo in five tabsOne MCP endpoint, eight tools, one composite call
Manually filter NOAA alerts to Extreme and Severe per statebySeverity breakdown and explicit extreme / severe counts on the composite
Compute a 300 km earthquake radius from a lat-lonPass latitude + longitude, the composite handles the 300 km radius and 30-day window
Re-query five sources separately for a single state SITREPdisaster_situation_report runs FEMA + NOAA + USGS + GDACS + Open-Meteo in parallel for one $0.15 charge
Eyeball whether any GDACS event is Red versus OrangeredAlerts and orangeAlerts counts surfaced on the composite
Pay for a WebEOC or Everbridge seat$0.05 per single-source call, $0.15 per composite, no subscription

Architecture

6 disaster + weather sources                   8 MCP tools
   (SITREP cluster, parallel fan-out)            ↓
   FEMA OpenFEMA ──────────┐              disaster_fema              $0.05
   NOAA / NWS ─────────────┤              disaster_weather_alerts    $0.05
   USGS Earthquakes ───────┼──→           disaster_earthquakes       $0.05
   GDACS ──────────────────┤              disaster_global_alerts     $0.05
   Open-Meteo ─────────────┤              disaster_weather_forecast  $0.05
                           └──→           disaster_situation_report  $0.15
                                           (5-source parallel fan-out)

   (Standalone)
   UK Environment Agency ────→           disaster_uk_floods          $0.05

                                          disaster_list_sources      free
                                          (no upstream fetch)

Five sources fan into the composite SITREP. UK floods is standalone because the composite targets U.S. + global hazards, not England-specific flood warnings. Open-Meteo also remains addressable on its own for full 1-16 day worldwide forecasts. Each tool is a thin orchestration layer over a published sibling actor; the MCP never scrapes upstream sources directly.

Built for

Emergency-management coordinators staffing state and county EOCs, business-continuity teams deciding when to activate continuity plans, disaster-response NGOs scoping field deployments, news desks automating breaking-weather coverage, AI agents producing SITREPs for incident command, supply-chain and logistics teams monitoring disruption risk along critical lanes, event planners running 7-day weather watches, and operations teams in any industry where a hurricane warning or major earthquake triggers a workflow.

This server runs in Standby mode on the Apify platform. It orchestrates six sibling actors (fema-disaster-search, usgs-earthquake-search, noaa-weather-alerts, gdacs-disaster-alerts, uk-flood-warnings, open-meteo-weather) and returns structured JSON your AI agent reasons over directly.

Questions this MCP answers

  • "What is the active disaster SITREP for Florida right now?"
  • "Has there been an M5+ earthquake within 300 km of these coordinates in the last 30 days?"
  • "Are there any GDACS Red alerts globally today?"
  • "What is the 7-day forecast for Tokyo?"
  • "Are there active flood warnings in Devon?"
  • "How many FEMA disasters did California have this fiscal year?"
  • "Which NOAA Extreme weather alerts are in effect for Texas?"
  • "Give me a one-call SITREP for Miami during hurricane season."

For AI agents

  • Call disaster_list_sources first. It is free, has no upstream fetch, and returns the tool catalogue plus which source each tool wraps. Use it to plan the workflow.
  • The composite is the right tool for "give me the SITREP for X". Do not chain five single-source calls. disaster_situation_report runs them in parallel for one $0.15 charge and returns a unified threatAssessment[].
  • The composite degrades gracefully. Pass any subset of state (FEMA + NOAA), location (Open-Meteo), and latitude + longitude (USGS 300 km radius). Missing inputs skip that source cleanly with empty arrays; the rest still resolves.
  • Branch on threatAssessment[] category prefix, not the raw counts. The EXTREME / SEVERE / SEISMIC / GLOBAL / DECLARED ladder maps directly to incident-command tiers. Counts and breakdowns are available below for citation.
  • UK floods is a separate tool. disaster_uk_floods is not in the composite because NOAA + FEMA are U.S.-only and UK floods is England-only; combining them in one composite would mislead. Call it directly for England flood warnings.
  • Open-Meteo accepts city names or lat,lng strings. Either works as the location argument. Use coordinates when the city is ambiguous (multiple "Portland", "Springfield", etc.).

Use this MCP when an AI agent needs to:

  • produce a state-level disaster situation report for incident command
  • check whether a region is currently under any active severe-weather alert
  • screen a facility lat-lon for recent seismic activity
  • monitor global Red/Orange disaster alerts on a schedule
  • pull a current forecast for any city worldwide
  • check active England flood warnings by county

What data can you access?

SourceRecordsExample
🚨 FEMA OpenFEMAU.S. disaster declarations: DR / EM / FM, incident type, declaration date, fiscal year, designation stringFEMA-4734-DR-CA, Severe Storm(s), declared 2026-02-14
🌍 USGS EarthquakesMagnitude, depth, place, time, PAGER alert level (green/yellow/orange/red), tsunami flag, radius search up to 20,001 kmM5.2 at 18 km depth, 47 km NE of San Bernardino, no tsunami
🌪️ NOAA / NWSActive and historical U.S. weather alerts: event, severity (Extreme/Severe/Moderate/Minor), urgency, headline, expiry2 Tornado Warnings, severity Extreme, urgency Immediate
🌐 GDACSGlobal multi-hazard alerts: EQ / FL / TC / VO / DR / WF, Red / Orange / Green severity, countryRed TC alert, Tropical Cyclone Mawar, Pacific basin
🌊 UK Environment AgencyEngland flood warnings: severity 1 (Severe Flood Warning), 2 (Flood Warning), 3 (Flood Alert), countySeverity 2 Flood Warning, River Exe, Devon
☀️ Open-MeteoWorldwide forecast 1-16 days: current conditions, daily highs/lows, hourly breakdown, precipitation, wind, UVTokyo, 28°C, partly cloudy, 7-day forecast

Why use Disaster Response MCP?

Disaster-response situational-awareness work today is:

  • manual and slow (an EOC analyst opens FEMA, NWS, USGS, and GDACS portals in separate tabs for every state of interest)
  • inconsistent across reviewers and not reproducible shift to shift
  • gated behind seat licenses for any platform that tries to consolidate the same public sources
  • impossible to wire directly into an AI agent or notification workflow without a custom integration per source

This MCP collapses that into one endpoint. A single disaster_situation_report call queries FEMA, NOAA, USGS, GDACS, and Open-Meteo in parallel and returns a deterministic JSON envelope with a categorized threatAssessment[]. Individual-source tools cover the long tail of single-question lookups (live storm tracking, M5+ earthquake radius watches, Red-alert global sweeps, UK flood warnings, point forecasts). Every source is keyless and free; the only cost is the per-call PPE charge.

  • Scheduling, run periodic SITREP sweeps on Apify Scheduler and trigger alerts on new EXTREME or SEISMIC signals
  • API access, call from Python, JavaScript, or any HTTP client using standard MCP protocol
  • Parallel data fetching, disaster_situation_report fans out to five actors simultaneously, not sequentially
  • Monitoring, push EXTREME NOAA alerts or GDACS Red events to Slack or email via Apify webhooks
  • Integrations, pipe results into Notion, Airtable, or any webhook-compatible incident-management system

Features

Disaster declarations and active alerts

  • FEMA disaster declarations by state, incident type, declaration type (DR / EM / FM), fiscal year, and date range.
  • Incident-type breakdown (byIncidentType) returned per call.
  • NOAA active-alerts mode (active_only=true) returns currently-in-effect warnings, watches, and advisories from the NWS API.
  • Historical NOAA mode via start_date and end_date for after-action review.
  • NOAA severity (Extreme / Severe / Moderate / Minor / Unknown) and urgency (Immediate / Expected / Future / Past / Unknown) filters.
  • Severity breakdown (bySeverity) returned per call.

Seismic and global hazard signals

  • USGS magnitude, depth, and PAGER-alert filtering with date-range support.
  • USGS radius search around a real lat-lon, up to 20,001 km.
  • Tsunami-warning count surfaced as a headline aggregate.
  • GDACS global multi-hazard alerts (EQ / FL / TC / VO / DR / WF) with Red / Orange / Green severity.
  • Alert-level and event-type breakdowns returned per call.

UK flood warnings

  • UK Environment Agency Real Time flood-warnings feed for England.
  • Severity 1 (Severe Flood Warning), 2 (Flood Warning), 3 (Flood Alert) filter.
  • County partial match (e.g. "Devon", "Yorkshire", "London").
  • Optional include_historical flag for warnings no longer in force.

Weather forecast

  • Open-Meteo current conditions plus daily summaries plus optional hourly breakdown.
  • 1-16 day forecast horizon.
  • Celsius or Fahrenheit unit toggle.
  • Accepts city names (e.g. "Tokyo") or "lat,lng" coordinate strings.

Composite SITREP + orchestration

  • disaster_situation_report fans FEMA + NOAA + USGS + GDACS + Open-Meteo out in parallel via Promise.all.
  • threatAssessment[] is the curated, category-prefixed summary your agent branches on (EXTREME / SEVERE / SEISMIC / GLOBAL / DECLARED).
  • Per-source breakdowns (femaDeclarations / weatherAlerts / earthquakes / globalDisasters / currentWeather / forecast) for citation and drill-down.
  • Free disaster_list_sources tool returns the tool catalogue with no charge and no upstream fetch.

Quickstart workflows

Hurricane landfall SITREP (state-level composite)

landfall state + city + lat-lon
 → disaster_situation_report(state="FL", location="Miami", latitude=25.76, longitude=-80.19, include_global=true)
 → branch on threatAssessment[]:
   → EXTREME: → page on-call coordinator
   → SEVERE + DECLARED: → activate continuity plan
   → SEISMIC: → not relevant for hurricane, ignore

Global Red-alert sweep (daily GDACS check)

 → disaster_global_alerts(event_type="ALL", alert_level="Red", max_results=20)
 → poll on a 6-hour schedule
 → push new events to Slack via Apify webhook

Seismic radius watch for a facility (USGS lat-lon-radius)

facility lat-lon
 → disaster_earthquakes(latitude=37.77, longitude=-122.42, max_radius_km=100, min_magnitude=4.0, start_time=<30 days ago>)
 → if total > 0: review per-event magnitude and depth
 → poll daily

Use cases

EOC daily briefing

An emergency-management coordinator running a state EOC pulls one disaster_situation_report(state="LA") call at the start of each shift and pastes the threatAssessment[] into the daily SITREP template. EXTREME and SEVERE entries route to NOAA for verification; SEISMIC entries drive USGS follow-up; DECLARED entries drive the public-assistance tracker. Replaces a 30-minute multi-portal sweep with a single tool call and produces a consistent format across shifts.

Business continuity activation trigger

A business-continuity team monitoring multi-state operations polls disaster_situation_report per site on a 4-hour schedule, persists the threatCount and threatAssessment strings, and surfaces sites where new EXTREME or DECLARED signals appear. A new "EXTREME: Tornado Warning" entry on a site with a fulfillment center triggers the continuity playbook automatically rather than waiting for human escalation.

NGO field-deployment scoping

A disaster-response NGO deciding where to deploy field teams pulls disaster_global_alerts(alert_level="Red") for international coverage and disaster_fema(state=<state>, fiscal_year=<current FY>) for U.S. coverage. The GDACS Red feed surfaces newly developing international hazards; the FEMA query confirms federal-assistance activation in U.S. theatres. Pair with disaster_weather_forecast for arrival-window weather planning.

News desk breaking-weather automation

A news desk covering severe weather wires disaster_weather_alerts(active_only=true, severity="Extreme") per priority state into an internal alert channel. Each new Extreme alert triggers a draft story with the alert headline, expiry, and area description pre-filled. disaster_situation_report provides the wider context box for the published story.

Supply-chain disruption early warning

A supply-chain operations team monitors disaster_situation_report calls for the states and major port cities along critical lanes. SEVERE or EXTREME weather alerts in port states trigger a routing review; DECLARED hurricane declarations trigger a 72-hour exception window. The categorized output drives decisions without needing a dedicated risk-monitoring vendor.

Event planning weather watch

An event planner running a 7-day countdown to a major outdoor event polls disaster_weather_forecast(location=<venue city>, forecast_days=7) daily, plus disaster_weather_alerts(area=<state>, active_only=true) to catch active watches and warnings the forecast does not yet reflect. The combined output drives go / no-go decisions and on-site contingency planning.

How to connect this disaster response MCP

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "disaster-response": {
      "url": "https://disaster-response-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Cursor, Windsurf, or Cline

Use the same URL and token in your MCP server settings panel. The server communicates via standard MCP protocol over HTTP POST to /mcp.

Python (via requests)

import requests

response = requests.post(
    "https://disaster-response-mcp.apify.actor/mcp",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
    },
    json={
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
            "name": "disaster_situation_report",
            "arguments": {
                "state": "FL",
                "location": "Miami",
                "latitude": 25.7617,
                "longitude": -80.1918,
                "include_global": True
            }
        },
        "id": 1
    }
)
result = response.json()
report = result["result"]["content"][0]["text"]
print(report)

JavaScript

const response = await fetch(
  "https://disaster-response-mcp.apify.actor/mcp",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer YOUR_APIFY_TOKEN"
    },
    body: JSON.stringify({
      jsonrpc: "2.0",
      method: "tools/call",
      params: {
        name: "disaster_weather_alerts",
        arguments: { active_only: true, area: "FL", severity: "Extreme" }
      },
      id: 1
    })
  }
);
const data = await response.json();
const report = JSON.parse(data.result.content[0].text);
console.log(`Active extreme alerts in FL: ${report.total}`);

cURL

curl -X POST "https://disaster-response-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "disaster_earthquakes",
      "arguments": {
        "min_magnitude": 5.0,
        "latitude": 37.7749,
        "longitude": -122.4194,
        "max_radius_km": 300,
        "start_time": "2026-04-24"
      }
    },
    "id": 1
  }'

Environment variables

VariableRequiredPurpose
STANDBY_IDLE_TIMEOUT_SECSOptionalStandby idle-shutdown window in seconds (default 300, minimum 60). The instance exits after this idle period to release platform compute; the next request cold-starts a fresh one.

All six upstream sources (FEMA OpenFEMA, USGS, NOAA / NWS, GDACS, UK Environment Agency, Open-Meteo) are keyless. No API keys are required for any tool.

MCP tools

Available tools: full MCP tool catalogue with per-call pricing

ToolSourcePriceWhat it returns
disaster_femaFEMA OpenFEMA$0.05U.S. disaster declarations, byIncidentType breakdown, per-declaration title / type / date / FEMA designation
disaster_earthquakesUSGS$0.05Earthquake list, maxMagnitude, tsunamiWarnings count, per-event magnitude / place / depth / time / PAGER alert
disaster_weather_alertsNOAA / NWS$0.05Active or historical U.S. alerts, bySeverity breakdown, per-alert event / severity / urgency / headline / expiry
disaster_global_alertsGDACS$0.05Global alerts, byAlertLevel and byEventType breakdowns, per-alert event / severity / country
disaster_uk_floodsUK Environment Agency$0.05England flood warnings, bySeverity breakdown, per-warning severity / county / description
disaster_weather_forecastOpen-Meteo$0.05Worldwide forecast, current conditions, daily highs/lows, optional hourly breakdown
disaster_situation_reportFEMA + NOAA + USGS + GDACS + Open-Meteo$0.15Composite SITREP, threatAssessment[] categorized summary, per-source breakdowns and current weather + 3-day forecast
disaster_list_sources(no fetch)FreeTool catalogue: 8 tools, 6 upstream sources, credentials-required flag per tool

The $0.05 single-source tools cover targeted lookups. The $0.15 composite covers the most common SITREP workflow in one call. disaster_list_sources is free for agent planning.

Tool input reference

ToolParameterTypeRequiredDescription
disaster_femastatestringNo2-letter U.S. state code (e.g. "CA", "FL")
disaster_femaincident_typeenumNoFire / Hurricane / Flood / Tornado / Severe Storm(s) / Earthquake / Snow / Drought / Biological / Coastal Storm / Other
disaster_femadeclaration_typeenumNoDR=Major Disaster, EM=Emergency, FM=Fire Management
disaster_femafiscal_yearnumberNoFederal FY (starts Oct 1)
disaster_femadate_start / date_endstringNoDeclaration date range YYYY-MM-DD
disaster_femamax_resultsnumberNo1-1000, default 50
disaster_earthquakesmin_magnitudenumberNoDefault 4.0
disaster_earthquakesmax_magnitudenumberNoOptional cap
disaster_earthquakeslatitude + longitude + max_radius_kmnumberNoAll three required together for radius search; max 20,001 km
disaster_earthquakesalert_levelenumNoPAGER green / yellow / orange / red
disaster_earthquakesstart_time / end_timestringNoYYYY-MM-DD
disaster_earthquakesmax_resultsnumberNo1-5000, default 100
disaster_weather_alertsactive_onlybooleanNoDefault true. False enables historical mode and unlocks date range
disaster_weather_alertsareastringNo2-letter U.S. state / territory code
disaster_weather_alertsseverityenumNoExtreme / Severe / Moderate / Minor / Unknown
disaster_weather_alertsurgencyenumNoImmediate / Expected / Future / Past / Unknown
disaster_weather_alertsevent_typestringNoe.g. "Tornado Warning", "Hurricane Warning", "Flood Watch"
disaster_weather_alertsstart_date / end_datestringNoYYYY-MM-DD, only when active_only=false
disaster_global_alertsevent_typeenumNoALL / EQ / FL / TC / VO / DR / WF, default ALL
disaster_global_alertsalert_levelenumNoALL / Red / Orange / Green, default ALL
disaster_global_alertsdate_from / date_tostringNoYYYY-MM-DD
disaster_uk_floodscountystringNoEnglish county name, partial match (e.g. "Devon", "Yorkshire")
disaster_uk_floodsseverityenumNo1=Severe Flood Warning, 2=Flood Warning, 3=Flood Alert
disaster_uk_floodsinclude_historicalbooleanNoDefault false. True includes warnings no longer in force
disaster_weather_forecastlocationstringYesCity name (e.g. "London", "Tokyo") or "lat,lng" coordinates
disaster_weather_forecastforecast_daysnumberNo1-16, default 7
disaster_weather_forecastinclude_hourlybooleanNoDefault false
disaster_weather_forecastinclude_dailybooleanNoDefault true
disaster_weather_forecasttemperature_unitenumNocelsius / fahrenheit, default celsius
disaster_situation_reportstatestringNo2-letter U.S. state code for FEMA + NOAA
disaster_situation_reportlocationstringNoCity name for Open-Meteo forecast
disaster_situation_reportlatitude + longitudenumberNoBoth required together for the USGS earthquake radius search (300 km, last 30 days, M3.0+)
disaster_situation_reportinclude_globalbooleanNoDefault true. Include GDACS global disaster alerts

Output example

disaster_situation_report for state="FL", location="Miami", latitude=25.7617, longitude=-80.1918, include_global=true during hurricane season:

{
  "reportTime": "2026-09-12T14:22:08.441Z",
  "location": {
    "state": "FL",
    "city": "Miami",
    "latitude": 25.7617,
    "longitude": -80.1918
  },
  "sources": ["FEMA", "NOAA/NWS", "USGS", "GDACS", "Open-Meteo"],
  "threatAssessment": [
    "EXTREME: 2 extreme weather alert(s) — Hurricane Warning, Storm Surge Warning",
    "SEVERE: 4 severe weather alert(s) — Tropical Storm Warning, Flood Watch, High Wind Warning, Coastal Flood Warning",
    "SEISMIC: 1 earthquake(s) M5.0+ in last 30 days within 300km",
    "GLOBAL: 1 GDACS Red alert(s) — TC: Tropical Cyclone Yara, Atlantic basin",
    "DECLARED: 3 FEMA disaster declaration(s) in FL this fiscal year"
  ],
  "threatCount": 5,
  "currentWeather": {
    "temperature": 27.4,
    "windspeed": 38.6,
    "weatherDescription": "Heavy rain, thunderstorms",
    "location": "Miami, FL"
  },
  "forecast": [
    {
      "date": "2026-09-13",
      "tempMax": 28.1,
      "tempMin": 24.8,
      "precipitation": 142.6,
      "weather": "Heavy rain, thunderstorms, hurricane conditions",
      "windMax": 178.4
    },
    {
      "date": "2026-09-14",
      "tempMax": 27.6,
      "tempMin": 24.2,
      "precipitation": 88.3,
      "weather": "Heavy rain, thunderstorms",
      "windMax": 96.7
    },
    {
      "date": "2026-09-15",
      "tempMax": 29.3,
      "tempMin": 25.1,
      "precipitation": 21.7,
      "weather": "Showers, partly cloudy",
      "windMax": 42.1
    }
  ],
  "femaDeclarations": {
    "total": 3,
    "declarations": [
      {
        "title": "Florida Hurricane Iris",
        "type": "Hurricane",
        "date": "2026-08-22T00:00:00.000Z",
        "designation": "FEMA-4812-DR-FL"
      },
      {
        "title": "Florida Severe Storms and Flooding",
        "type": "Severe Storm(s)",
        "date": "2026-06-04T00:00:00.000Z",
        "designation": "FEMA-4798-DR-FL"
      },
      {
        "title": "Florida Tornadoes",
        "type": "Tornado",
        "date": "2026-03-18T00:00:00.000Z",
        "designation": "FEMA-EM-3614-FL"
      }
    ]
  },
  "weatherAlerts": {
    "total": 9,
    "extreme": 2,
    "severe": 4,
    "alerts": [
      {
        "event": "Hurricane Warning",
        "severity": "Extreme",
        "urgency": "Immediate",
        "headline": "Hurricane Warning in effect for Miami-Dade and Broward counties through 6 PM EDT Sunday",
        "expires": "2026-09-14T18:00:00-04:00",
        "area": "Miami-Dade; Broward"
      },
      {
        "event": "Storm Surge Warning",
        "severity": "Extreme",
        "urgency": "Immediate",
        "headline": "Life-threatening storm surge possible 6-10 ft above ground level along Miami-Dade coast",
        "expires": "2026-09-14T12:00:00-04:00",
        "area": "Miami-Dade coastal; Broward coastal"
      },
      {
        "event": "Tropical Storm Warning",
        "severity": "Severe",
        "urgency": "Expected",
        "headline": "Tropical Storm Warning in effect for inland Miami-Dade and Broward",
        "expires": "2026-09-14T22:00:00-04:00",
        "area": "Miami-Dade inland; Broward inland"
      }
    ]
  },
  "earthquakes": {
    "total": 4,
    "significant": 1,
    "maxMagnitude": 5.4,
    "events": [
      {
        "magnitude": 5.4,
        "place": "188km NE of Cabo Rojo, Dominican Republic",
        "time": "2026-08-31T07:14:22.000Z",
        "depth": 42.6,
        "tsunami": false
      },
      {
        "magnitude": 3.8,
        "place": "82km S of Andros Town, Bahamas",
        "time": "2026-09-04T19:08:11.000Z",
        "depth": 12.1,
        "tsunami": false
      }
    ]
  },
  "globalDisasters": {
    "total": 18,
    "redAlerts": 1,
    "orangeAlerts": 3,
    "events": [
      {
        "type": "TC",
        "title": "Tropical Cyclone Yara",
        "alertLevel": "Red",
        "country": "Atlantic basin",
        "severity": "Cat 4, sustained winds 215 km/h"
      },
      {
        "type": "TC",
        "title": "Tropical Storm Olive",
        "alertLevel": "Orange",
        "country": "Pacific basin",
        "severity": "Sustained winds 105 km/h"
      },
      {
        "type": "FL",
        "title": "Flooding in northern Honshu",
        "alertLevel": "Orange",
        "country": "Japan",
        "severity": "120,000 affected"
      }
    ]
  }
}

Output fields

Composite (disaster_situation_report)

FieldTypeDescription
reportTimestringISO timestamp of the SITREP generation
locationobjectEchoed input (state, city, latitude, longitude)
sourcesstring[]The five contributing datasets
threatAssessmentstring[]Category-prefixed plain-language summary, branch on this
threatCountnumberInteger count of triggered categories
currentWeatherobjecttemperature, windspeed, weatherDescription, location
forecastobject[]3-day daily forecast (date, tempMax, tempMin, precipitation, weather, windMax)
femaDeclarationsobjecttotal, declarations[] top 5
weatherAlertsobjecttotal, extreme, severe, alerts[] top 10
earthquakesobjecttotal, significant (M5.0+), maxMagnitude, events[] top 5
globalDisastersobjecttotal, redAlerts, orangeAlerts, events[] top 10 (only when include_global=true)

Single-source tools

FieldTypeDescription
totalnumberRecords returned for the query
dataobject[]Per-record source payload (declaration / event / alert / warning / measurement)
byIncidentTypeobjectFEMA-only incident-type histogram
bySeverityobjectNOAA / UK Floods severity histogram
maxMagnitude / tsunamiWarningsnumberUSGS-only rolled-up aggregates
byAlertLevel / byEventTypeobjectGDACS-only histograms
current / dailyForecast / hourlyForecastobject / object[]Open-Meteo-only structured forecast

How much does it cost to run disaster SITREPs?

Disaster Response MCP uses pay-per-event pricing. Single-source tools charge $0.05 per call; the composite disaster_situation_report charges $0.15 per call because it runs five sub-actors in parallel. disaster_list_sources is free. Platform compute is included.

ScenarioTool callsCost
Quick test, one state weather check1 × $0.05$0.05
Full SITREP for one location1 × $0.15$0.15
Daily 25-state SITREP sweep25 × $0.15$3.75
Hourly storm-season polling, one state (720 hours / month)720 × $0.05$36.00
Daily Red-alert global sweep (30 days)30 × $0.05$1.50
100-site continuity-team SITREP, one pass100 × $0.15$15.00
Weekly multi-state SITREP rollup (10 states, 4 weeks)40 × $0.15$6.00

You can set a maximum spending limit per run to control costs. The actor stops when the budget is reached, returning a structured error your pipeline handles gracefully. Apify's free tier includes monthly platform credits that cover a small number of evaluation calls before any payment is required.

How it works

  1. Tool dispatch. Each MCP tool calls one sibling actor (ryanclinton/fema-disaster-search, usgs-earthquake-search, noaa-weather-alerts, gdacs-disaster-alerts, uk-flood-warnings, open-meteo-weather) via apify-client.actor(...).call() with a 120-second timeout and 256 MB memory.
  2. Result filtering. The MCP filters out source-emitted error envelopes ({ message: ... }) so a partial upstream failure never silently inflates a count.
  3. Aggregation. Each tool computes its own rolled-up headline aggregates (incident-type histogram, severity breakdown, max magnitude, tsunami count, alert-level histogram).
  4. Composite parallel fan-out. disaster_situation_report calls FEMA (current FY, max 10), NOAA (active alerts for the state, max 15), USGS (only if latitude and longitude are both set: 30-day window, M3.0+, 300 km radius, max 15), GDACS (only if include_global=true: all event types and alert levels, max 20), and Open-Meteo (only if location is set: 3-day daily forecast) via Promise.all.
  5. Threat categorization. The composite walks the five sub-results and pushes a category-prefixed string into threatAssessment[] for each triggered condition: EXTREME (Extreme NOAA alerts > 0), SEVERE (Severe NOAA alerts > 0), SEISMIC (USGS M5.0+ events > 0), GLOBAL (GDACS Red alerts > 0), DECLARED (FEMA declarations > 0).
  6. Standby lifecycle. Idle-shutdown fires after STANDBY_IDLE_TIMEOUT_SECS (default 300) of no inbound requests; the instance exits to release platform compute and the next request cold-starts a fresh one.

Tips for best results

  1. Pass what you have to the composite. disaster_situation_report handles partial input gracefully. state alone covers FEMA + NOAA + GDACS. Add location for forecast. Add latitude + longitude for seismic. Missing inputs skip cleanly with empty arrays rather than failing.

  2. USGS 300 km is the composite default for a reason. Inside the SITREP composite, USGS runs with a 300 km radius, 30-day window, and M3.0+ floor. That balances signal density with relevance for site-level decision-making. For tighter or wider screens, call disaster_earthquakes directly with custom parameters.

  3. Filter GDACS to Red for executive briefings. Calling disaster_global_alerts(alert_level="Red") directly cuts noise dramatically. Green and Orange entries include developing situations that may not warrant a one-line in a stakeholder update.

  4. Open-Meteo accepts city names OR lat,lng coordinate strings. Either works as the location argument. Use coordinates when the city name is ambiguous ("Portland", "Springfield", "Cambridge").

  5. UK floods uses English county names, not UK-wide. The UK Environment Agency Real Time Flood Warnings feed covers England only. Scotland (SEPA), Wales (Natural Resources Wales), and Northern Ireland (DfI Rivers) are not in this source. Pass an English county (e.g. "Devon", "Yorkshire", "Cumbria") or omit county to return all England warnings.

  6. Remember FEMA fiscal year starts Oct 1. A query for fiscal_year=2026 covers Oct 1 2025 through Sep 30 2026. In Q4 of the calendar year, set fiscal_year to the upcoming federal FY to capture recent declarations.

  7. Keep active_only=true on NOAA when you do not need history. Historical NOAA queries are slower and return larger result sets. Active-only is what you want for live storm tracking and the composite SITREP.

  8. Cache disaster_list_sources once per session. It is free, has no upstream fetch, and the catalogue rarely changes. Call it once on agent startup, then reuse the result for planning the rest of the workflow.

Combine with other Apify actors

ActorHow to combine
FEMA Disaster SearchPull raw FEMA declaration records directly for federal-assistance research outside the MCP
USGS Earthquake SearchBulk seismic queries with the full USGS GeoJSON record for geospatial dashboards
NOAA Weather AlertsRun scheduled NOAA polls and persist the dataset for historical storm tracking and after-action review
GDACS Disaster AlertsPersist GDACS alert streams for international hazard monitoring and trend analysis
UK Flood WarningsRun scheduled UK flood polls for ongoing England-specific monitoring
Open-Meteo WeatherPull bulk 16-day forecasts for multi-city operations planning
Environmental Hazard MCPPair with this MCP when the workflow needs compliance-oriented risk (EPA SNC, longer time windows) alongside response-oriented signals
Pandemic Supply Chain Cascade MCPRun after a SITREP shows EXTREME or DECLARED to model the cascading supply-chain impact
Energy Transition Resilience MCPCombine when severe weather signals require a grid-impact assessment for energy-sector operations
Infrastructure Location Risk MCPPair with this MCP for site-specific infrastructure exposure mapping alongside live disaster signals

Limitations

  • The composite EOC parts are U.S.-only. disaster_situation_report includes NOAA and FEMA, which are U.S. federal datasets. For non-U.S. SITREPs, use disaster_global_alerts (GDACS) and disaster_weather_forecast (Open-Meteo) directly, and skip the state-bound sub-sources.
  • UK floods covers England only. Scotland (SEPA), Wales (Natural Resources Wales), and Northern Ireland (DfI Rivers) are not in the UK Environment Agency Real Time Flood Warnings feed.
  • GDACS alerts are coordination signals, not authoritative impact assessments. Red / Orange / Green severity reflects model-estimated potential impact at the time of the alert. Use official national disaster agencies for authoritative figures.
  • Open-Meteo is model output, not measured observations. Forecasts are produced by numerical weather prediction models and have inherent uncertainty that grows with horizon. Use NWS observed conditions for ground truth when both are available.
  • NOAA "active mode" means currently in effect, not "issued today". An alert issued days ago that remains in effect will appear in active mode. Use date-range historical mode to filter by issuance date.
  • USGS depth and magnitude are preliminary and revised. USGS publishes initial event parameters within minutes; magnitude, depth, and place are revised over the following hours as more seismograph data arrives. Treat very recent events as provisional.
  • No API key needed, but no SLA either. All six sources are free public APIs. They can lag, throttle, or return partial data during major events when load is highest. Re-run the query; the next call typically succeeds.
  • Child-actor timeout is 120 seconds. If an upstream source is slow, that source returns an empty array and the rest of the composite still resolves. Re-run the same query; subsequent runs typically succeed.

Integrations

  • Apify API, trigger SITREP runs programmatically from incident-management, continuity, or NGO workflow software
  • Webhooks, push EXTREME NOAA alerts or GDACS Red events to Slack, email, PagerDuty, or case-management tools the moment a SITREP completes
  • Zapier, connect to Airtable or Google Sheets site registers; auto-log threat signals when state or location changes
  • Make, build emergency-response automations that route severe alerts to on-call rotations
  • Google Sheets, export batch SITREP rollups to shared spreadsheets for coordinator review
  • LangChain / LlamaIndex, embed disaster response screening as a tool in LLM agent pipelines for automated incident-command workflows

Troubleshooting

disaster_earthquakes returned no events despite coordinates being passed. USGS radius search requires latitude, longitude, AND max_radius_km together. If any one is missing the query degrades to a global time-window search and may return nothing for a narrow magnitude band. Re-call with all three set.

disaster_fema returned no declarations for the current calendar year. FEMA uses federal fiscal years (Oct 1 to Sep 30). In Q4 of the calendar year, set fiscal_year to the next federal FY (calendar year + 1) to capture recent declarations.

disaster_uk_floods returned zero warnings. The UK Environment Agency feed covers England only. Scotland, Wales, and Northern Ireland use separate agencies and are not in this source. Try omitting county to confirm warnings exist anywhere in England, or check that the county name matches an English county.

disaster_weather_forecast returned "location not found". Open-Meteo's geocoding can fail on ambiguous or misspelled city names. Pass coordinates instead, formatted as a string: "35.6762,139.6503" for Tokyo, for example.

disaster_situation_report returned an empty threatAssessment[]. No thresholds were tripped, this is not a tool failure. The composite only adds a string to threatAssessment[] when at least one Extreme alert, Severe alert, M5.0+ quake, GDACS Red alert, or FEMA declaration is present. An empty array means the location is quiet across all five sources at this moment.

Composite returned faster than expected with thin breakdowns. One of the five sub-actors likely timed out (120 s upstream timeout) or was skipped because its input was not supplied. The composite still resolves with empty arrays for the missing source. Re-run the same query with all relevant inputs set; subsequent runs typically succeed.

disaster_situation_report returned an empty earthquakes block. The composite only runs the USGS sub-call when both latitude and longitude are supplied. Pass both to enable the seismic component, or call disaster_earthquakes directly with a date-window query.

Responsible use

  • This MCP returns coordination and situational-awareness signals, not authoritative emergency information. Always defer to official emergency-management channels (FEMA, state emergency-management agencies, the National Weather Service direct, national civil-protection bodies elsewhere) for life-safety decisions, evacuation orders, and authoritative impact figures.
  • Do not retransmit alerts pulled through this MCP as authoritative or original. Cite the upstream source (NOAA, USGS, FEMA, GDACS, UK Environment Agency, Open-Meteo) when republishing.
  • Forecast and model output have inherent uncertainty. Use observed data (NWS, USGS revised parameters, national-agency confirmations) for ground truth where consequential decisions are involved.
  • Comply with applicable data-protection regulations when storing or sharing SITREP outputs that include location data tied to individuals or operations.
  • For guidance on web scraping and data-use legality, see Apify's guide.

FAQ

How is Disaster Response MCP different from Environmental Hazard MCP? Disaster Response MCP is response-oriented: active NOAA alerts, current Open-Meteo conditions, 3-day forecast, recent USGS seismic, FEMA declarations this fiscal year. It answers "what is happening right now and what is coming". Environmental Hazard MCP is risk-oriented: EPA ECHO facility compliance history, longer-window USGS, OpenAQ air-quality monitoring. It answers "what is the standing risk at this site". The two MCPs share three sources (FEMA, NOAA, USGS) but apply different time windows and aggregation; they pair naturally for full pre-purchase or pre-deployment screening.

What does PAGER alert level mean on earthquake results? PAGER (Prompt Assessment of Global Earthquakes for Response) is USGS's automated impact-estimation system. Green means no expected impact, Yellow means localised impact possible, Orange means significant impact likely, Red means catastrophic impact likely. Filter disaster_earthquakes with alert_level="orange" or "red" for high-impact events only.

What is GDACS? GDACS (Global Disaster Alert and Coordination System) is a global multi-hazard alerting and coordination system jointly run by the European Commission and the United Nations Office for the Coordination of Humanitarian Affairs. It aggregates and triages alerts for earthquakes, floods, tropical cyclones, volcanoes, droughts, and wildfires, assigning Red / Orange / Green severity based on model-estimated potential impact. disaster_global_alerts is a thin wrapper over the GDACS feed.

What is a SITREP and why does this MCP produce one? A SITREP (situation report) is the standard EOC and incident-command artifact summarising what is currently happening in a defined area: active threats, current conditions, recent events, and declared activations. disaster_situation_report produces a structured, categorized SITREP for any U.S. state plus optional city / coordinates, ready to paste into the daily briefing template or pipe into downstream automation. The threatAssessment[] category prefixes (EXTREME / SEVERE / SEISMIC / GLOBAL / DECLARED) map directly to common incident-command priority tiers.

Can this MCP replace WebEOC or other EOC platforms? No. WebEOC, Veoci, D4H, and similar platforms are staffed incident-management systems with role-based access, resource tracking, and incident-action-plan workflows. This MCP returns the underlying multi-source hazard signals as JSON your platform or agent consumes. The two are complementary: use an EOC platform for incident management, use this MCP to feed live, multi-source hazard context into that platform or to power an agent doing the same job at smaller scale.

How fresh is the data? NOAA active alerts refresh in near real-time via the NWS api.weather.gov feed. USGS earthquake data publishes within minutes of detection (with parameters revised over the following hours). FEMA OpenFEMA refreshes daily for new declarations. GDACS alerts refresh roughly hourly. UK Environment Agency Real Time Flood Warnings refresh every 15 minutes. Open-Meteo forecasts are model output produced on a regular daily run cycle.

Why does the composite cost more than a single-source call? disaster_situation_report runs five sub-actors in parallel (FEMA + NOAA + USGS + GDACS + Open-Meteo), so it consumes roughly five times the upstream compute compared with a single-source call. The $0.15 charge reflects that. For workflows that only need one source, call the individual tool at $0.05 instead.

Does this MCP cover storms outside the U.S.? Partially. disaster_global_alerts (GDACS) and disaster_weather_forecast (Open-Meteo) cover the entire globe. disaster_uk_floods covers England. NOAA active alerts and FEMA declarations are U.S.-only. For an international SITREP, call disaster_global_alerts(alert_level="Red") plus disaster_weather_forecast(location=<city>) directly and skip the U.S.-composite.

Can I schedule this MCP to run periodic SITREP sweeps? Yes. Use the Apify Scheduler to trigger the actor on a daily, hourly, or custom cadence. Configure a webhook to push EXTREME or DECLARED entries to Slack, email, PagerDuty, or a case-management system. A common pattern is a 4-hour disaster_situation_report poll per state of interest with new-category webhook delivery.

Is it legal to use this MCP for SITREP automation? All underlying data sources are publicly available government feeds: FEMA OpenFEMA, USGS, NOAA / NWS, the EU/UN GDACS feed, the UK Environment Agency Real Time API, and the Open-Meteo open-data platform. Querying public emergency-management records for situational awareness is standard practice across emergency management, journalism, business continuity, and humanitarian response. See Apify's guide on web scraping legality for broader context. Decisions made on the output (evacuation, activation, dispatch) should follow your jurisdiction's professional standards and defer to official channels for authoritative information.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.

Last verified: March 27, 2026

Ready to try Disaster Response MCP Server?

This actor is coming soon to the Apify Store.

Coming soon