io.github.heliosarchitect/wems
Real-time natural hazard monitoring: earthquakes, tsunamis, volcanoes, solar weather, air quality
Ask AI about io.github.heliosarchitect/wems
Powered by Claude Β· Grounded in docs
I know everything about io.github.heliosarchitect/wems. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
π WEMS - World Event Monitoring System
π¨ 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.TOCfirst β it's a 500-token project map. Then useAI.INDEXto find specific functions andAI.REGISTERfor 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 |
π Quick Start
Install via PyPI (Recommended)
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:
1unit check_space_weather_alerts:2unitsfuse_multi_source_incidents:3units
Billing config
See: config/wems_stripe_billing.json
Key fields:
event_nameapi_key_to_customerbilling_units.defaultbilling_units.by_toolpricing.free_calls_per_rolling_30dpricing.tiers[]
Stripe key source
STRIPE_API_KEYorSTRIPE_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
