Skip to main content
Glama
heliosarchitect

wems-mcp-server

🌍 WEMS - World Event Monitoring System

PyPI version License: MIT Python 3.8+ MCP Compatible

🚨 Real-time Natural Hazard Monitoring for AI Agents

A powerful Model Context Protocol (MCP) server that connects AI assistants to authoritative natural hazard data sources. Monitor earthquakes, tsunamis, volcanoes, and solar events with configurable alerts and webhooks.

πŸ€– AI Agents: Skip scanning this repo. Read AI.TOC first β€” it's a 500-token project map. Then use AI.INDEX to find specific functions and AI.REGISTER for env vars, APIs, and config. This project uses the LBF AI Navigation Standard.

⚑ Key Features

  • πŸŒ‹ 9+ Authoritative Data Sources: USGS, NOAA, Smithsonian GVP, NHC, NIFC, OpenAQ, DHS, State Dept, CISA, US Drought Monitor

  • 🎯 Real-time Monitoring: Live data feeds with customizable thresholds

  • πŸ”” Smart Alerts: Webhook notifications for critical events

  • πŸ—ΊοΈ Geographic Filtering: Target specific regions or global coverage

  • πŸ”§ Zero Configuration: Works out-of-the-box, configure only what you need

  • 🐳 Production Ready: Docker support, comprehensive error handling

Natural Hazards Covered

Hazard Type

Data Source

Coverage

🌊 Earthquakes

USGS

Global, magnitude filtering

🌊 Tsunamis

NOAA PTWC + CTWC

Global ocean basins

πŸŒ‹ Volcanoes

Smithsonian GVP + USGS

Global volcanic activity

β˜€οΈ Solar Events

NOAA SWPC

Solar flares, CMEs, geomagnetic storms

🌞 Space Weather Alerts

NOAA SWPC

Active space weather alerts & warnings

πŸŒ€ Hurricanes

NHC + NWS

Atlantic & Pacific tropical cyclones

πŸ”₯ Wildfires

NWS + NIFC

Fire weather alerts & active perimeters

β›ˆοΈ Severe Weather

NWS Alerts

Tornadoes, thunderstorms, floods, winter storms

πŸ’¨ Air Quality

OpenAQ

Global AQI, PM2.5, PM10, O₃, NOβ‚‚, SOβ‚‚, CO

🌡 Drought Conditions

US Drought Monitor

US state drought levels (D0-D4) + trends

πŸ›‘οΈ Threat Advisories

DHS NTAS + State Dept + CISA

Terrorism, travel risk, cyber threats

Related MCP server: MCP OpenClaw

πŸš€ Quick Start

pip install wems-mcp-server

Or install from source

git clone https://github.com/heliosarchitect/wems-mcp-server.git
cd wems-mcp-server
pip install -r requirements.txt

Basic Usage

# Run as MCP server (connects to AI assistants)
python -m wems_mcp_server

# Test earthquake monitoring
python -c "
import asyncio
from wems_mcp_server import check_earthquakes
print(asyncio.run(check_earthquakes(min_magnitude=6.0)))
"

One-command AI Alerting Setup (Relay + n8n)

bash scripts/setup_wems_alerting_ai.sh

This will:

  • install/start wems-unified-relay.service

  • upsert and activate the unified n8n ingest workflow

  • wire tracker posting credentials automatically

Example Output

{
  "earthquakes_found": 3,
  "events": [
    {
      "magnitude": 7.2,
      "location": "67 km SW of Tres Picos, Mexico",
      "time": "2024-02-13T14:30:15Z",
      "depth": 35.8,
      "tsunami_threat": true
    }
  ]
}

MCP Tools

Tool

Description

check_earthquakes

Query recent earthquake activity

check_solar

Monitor space weather (K-index, flares, CMEs)

check_volcanoes

Track volcanic activity alerts

check_tsunamis

Monitor tsunami warnings

check_hurricanes

Track tropical cyclones & forecast tracks

check_wildfires

Fire weather alerts & active perimeters

check_severe_weather

Monitor tornadoes, thunderstorms, flash floods

check_floods

Flood warnings & USGS river gauge data

check_air_quality

AQI monitoring with pollutant data

check_threat_advisories

Terrorism, travel risk & cyber threat monitoring

check_space_weather_alerts

Active space weather alerts & warnings from NOAA SWPC

check_drought_status

US state drought conditions with D0-D4 levels (Premium)

configure_alerts

Update alert thresholds and webhooks

fuse_multi_source_incidents

Multi-source incident fusion (feature-flagged)

Configuration

alerts:
  earthquake:
    min_magnitude: 6.0
    regions: ["US", "Caribbean", "Pacific"]
    webhook: "https://your-endpoint.com/earthquake"
  
  solar:
    min_kp_index: 7  # Geomagnetic storm threshold
    webhook: "https://your-endpoint.com/solar"
    
  volcano:
    alert_levels: ["WARNING", "WATCH"]
    webhook: "https://your-endpoint.com/volcano"
    
  tsunami:
    enabled: true
    regions: ["pacific", "atlantic", "indian"]
    webhook: "https://your-endpoint.com/tsunami"

Data Sources

  • USGS Earthquake Hazards Program

  • NOAA Pacific Tsunami Warning Center

  • NOAA Central Tsunami Warning Center

  • Smithsonian Global Volcanism Program

  • NOAA Space Weather Prediction Center

  • National Hurricane Center (NHC)

  • National Interagency Fire Center (NIFC)

  • NWS Alerts API

  • OpenAQ (Global Air Quality)

  • DHS National Terrorism Advisory System (NTAS)

  • U.S. State Department Travel Advisories

  • CISA Cybersecurity Advisories

OpenClaw Integration

Add to your OpenClaw configuration:

{
  "mcpServers": {
    "wems": {
      "command": "python3",
      "args": ["/path/to/wems-mcp-server/wems_mcp_server.py"],
      "env": {
        "WEMS_CONFIG": "/path/to/config.yaml"
      }
    }
  }
}

🎯 Use Cases

  • 🏒 Enterprise Risk Management: Automated threat assessment for global operations

  • πŸ“Ί News Organizations: Real-time natural disaster reporting and alerts

  • πŸ”¬ Research Institutions: Data collection for scientific analysis

  • 🏠 Personal Safety: Location-specific hazard monitoring for families

  • πŸ€– AI Emergency Response: Integration with disaster response chatbots

  • πŸ“± Alert Systems: Custom notification workflows for critical events

πŸ”§ Advanced Configuration

# config.yaml - Full customization example
alerts:
  earthquake:
    min_magnitude: 6.0
    regions: ["US", "Caribbean", "Pacific"]
    webhook: "https://your-endpoint.com/earthquake"
    
  solar:
    min_kp_index: 7  # G3+ geomagnetic storm
    webhook: "https://your-endpoint.com/solar"
    
  volcano:
    alert_levels: ["WARNING", "WATCH"] 
    regions: ["Cascade Range", "Ring of Fire"]
    webhook: "https://your-endpoint.com/volcano"
    
  tsunami:
    enabled: true
    regions: ["pacific", "atlantic", "indian"]
    webhook: "https://your-endpoint.com/tsunami"

πŸ“Š Monitoring Dashboard

Pair with monitoring tools for comprehensive coverage:

# Example: Send earthquake data to monitoring system
curl -X POST https://your-monitoring.com/api/events \
  -H "Content-Type: application/json" \
  -d "$(python -c 'import wems; print(wems.get_recent_earthquakes())')"

πŸ’³ Billing & Monetization (Current)

WEMS now includes Stripe metering scaffolding and affordable default pricing.

Current pricing defaults

  • Free tier: 5,000 calls per rolling 30 days

  • 0–100,000 calls: $0.0010/call

  • 100,001–500,000 calls: $0.0008/call

  • 500,001+ calls: $0.0006/call

Accessory call weights (default)

  • Most tools: 1 unit

  • check_space_weather_alerts: 2 units

  • fuse_multi_source_incidents: 3 units

Billing config

See: config/wems_stripe_billing.json

Key fields:

  • event_name

  • api_key_to_customer

  • billing_units.default

  • billing_units.by_tool

  • pricing.free_calls_per_rolling_30d

  • pricing.tiers[]

Stripe key source

  1. STRIPE_API_KEY or STRIPE_SECRET_KEY (direct env)

WEMS uses best-effort lookup and never blocks alerting if billing key resolution fails.


Built with ❀️ for the AI community by Helios 🌞

Part of the expanding OpenClaw ecosystem

A
license - permissive license
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/heliosarchitect/wems-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server