# USGS Earthquakes MCP

> USGS Earthquakes MCP Server connects your AI client directly to the United States Geological Survey's real-time seismic data feed. It lets you query global earthquake activity, filter events by magnitude and date range, or count total occurrences against specific criteria. Use it to monitor everything from micro-tremors to major tectonic shifts instantly.

## Overview
- **Category:** the-unthinkable
- **Price:** Free
- **Tags:** seismic-data, earthquake-tracking, natural-hazards, geospatial-data, real-time-alerts, environmental-monitoring

## Description

Forget reading textbooks about plate tectonics. This **USGS Earthquakes MCP Server** hooks up your agent directly to the United States Geological Survey's real-time seismic data feed. You get global earthquake data—everything from little shakes to major tectonic shifts—instantly. It lets you query activity across the entire planet, giving you actionable intelligence without needing any credentials or keys.

When you need to perform deep historical analysis on a fault line, you'll use **`query_earthquakes`**. This tool searches for specific seismic events by letting you define precise time windows using start and end times. You can also set minimum magnitude requirements or narrow your focus down to exact geographic coordinates. It handles complex filtering so you pull up only the data you need. 

If all you need is a headcount, **`count_earthquakes`** gives it to you. You establish criteria—you pick a location and define a minimum magnitude threshold—and the function returns one single number showing how many events match your parameters.

Need to know what shook up the globe recently? Use **`get_significant_30_days`**. This tool pulls a list of highly notable global earthquakes that occurred within the last 30 days. You don't have to bother setting specific search parameters; it automatically delivers the most significant activity from that timeframe.

It’s designed for anyone who needs to monitor seismic patterns, whether you're running an environmental response bot or just trying to track historical activity over a decade. The server processes raw, real-time and archived records straight from USGS. You can check total event counts based on defined criteria, pull comprehensive lists of recent major events, or run deep queries using specific geographic boundaries like radial points or bounding boxes. It’s the fastest way to get your hands on the world's seismic pulse.

## Tools

### count_earthquakes
Counts the total number of earthquakes that meet defined magnitude and location criteria.

### query_earthquakes
Searches for detailed seismic events using flexible parameters like start/end times and precise geographic coordinates.

### get_significant_30_days
Retrieves a list of highly notable global earthquakes that occurred within the last 30 days, regardless of specific search parameters.

## Prompt Examples

**Prompt:** 
```
Show me the most significant earthquakes in the world from the last 30 days.
```

**Response:** 
```
I've pulled the recent significant earthquakes from USGS. We've recorded an M 6.8 near Taiwan and an M 7.2 off the coast of Alaska. There are currently no tsunami warnings.
```

**Prompt:** 
```
Count the number of earthquakes above magnitude 2.5 in California in 2023.
```

**Response:** 
```
Based on the USGS database, there were exactly 4,312 earthquakes above magnitude 2.5 within the California coordinate bounds throughout 2023.
```

**Prompt:** 
```
Check if there are any current tsunami warnings globally.
```

**Response:** 
```
I checked the USGS sensors. No events currently trigger a tsunami warning. The highest alert level across all oceanic faults in the last 24 hours remains green.
```

## Capabilities

### Check total event counts
You can get a single number representing how many earthquakes match a set of criteria.

### Retrieve recent significant events
The tool pulls a list of highly notable global earthquakes that occurred within the last 30 days.

### Perform deep data queries
You search for specific earthquake events by defining start/end times, minimum magnitude, and geographic coordinates.

## Use Cases

### Assessing regional risk after a tremor
A consultant needs to know the total seismic background activity in an area. They ask their agent to use `count_earthquakes` specifying the coordinates and magnitude range for the last year. The agent returns a precise count, allowing the consultant to quickly assess if current activity is unusual or part of normal geological drift.

### Rapid incident response
An emergency team needs to know about recent high-impact events globally. They prompt their AI client with 'Show me the most significant earthquakes.' The agent immediately runs `get_significant_30_days` and reports on M 7+ quakes and any current tsunami warnings, saving hours of manual API browsing.

### Historical research on fault lines
A geophysicist needs to study seismic activity specifically along the San Andreas Fault over a decade. They use `query_earthquakes`, inputting start/end times and setting a narrow geographic boundary, pulling only the relevant records for deep analysis.

### Validating data reports
A developer builds an environmental report that requires an annual total of specific quakes. Instead of writing complex SQL joins, they simply call `count_earthquakes` with the precise date range and criteria to ensure their reported metrics are accurate.

## Benefits

- Immediate access to raw, planet-scale telemetry. You stop writing custom scripts to hit multiple government endpoints; everything is centralized through the server's tools.
- Focus your search with precision. Instead of general searches, you use `query_earthquakes` to narrow results by bounding box or radial point—say, just off the coast of Tokyo.
- Track major events without manual effort. Running `get_significant_30_days` immediately pulls a curated list of notable activity, bypassing the need to filter thousands of low-magnitude readings yourself.
- Quantify risk quickly. You use `count_earthquakes` when you just need an aggregate number—like 'How many magnitude 2.5+ quakes hit California in Q3?' No complex data joining required.
- Support for advanced diagnostics. The server handles checks for immediate tsunami warnings and detailed human-curated significance ratings, which is critical for field operations.

## How It Works

The bottom line is: it lets your AI client ask complex questions about global seismic history, getting back precise lists or counts from the USGS database.

1. First, tell your AI client what you need: a count, the last 30 days' significant list, or a custom search window.
2. Your agent sends the necessary parameters (e.g., `minmagnitude`, `endtime`) to one of the three tools on the server.
3. The USGS Earthquakes MCP Server executes the query and returns structured data—either an aggregate number or a list of detailed seismic events.

## Frequently Asked Questions

**How do I use the USGS Earthquakes MCP Server to check for tsunami warnings?**
You can prompt your agent to specifically check for current tsunami warnings. The tool checks the latest sensor data and returns an immediate alert status, telling you if any event currently triggers a warning.

**Can I use count_earthquakes to find quakes in California?**
Yes. When calling `count_earthquakes`, you must provide the specific latitude and longitude coordinates for California's boundaries, along with your minimum magnitude and time range.

**What is the best way to check recent global activity? Should I use query_earthquakes or get_significant_30_days?**
For a quick overview of high-impact events, run `get_significant_30_days`. If you need to apply specific filters—like only M 5.0+ quakes in a limited area—you must use the more detailed `query_earthquakes` tool.

**How does query_earthquakes handle date ranges?**
The `query_earthquakes` function accepts explicit starttime and endtime parameters. You can set these to define any arbitrary window, allowing you to analyze data from specific historical periods.

**Does the USGS Earthquakes MCP Server require API keys?**
No. This integration is zero-auth, meaning your AI client connects directly without needing you to manage or supply any secret keys or credentials.

**If I use query_earthquakes multiple times in a row, are there any rate limits or performance considerations?**
The USGS API manages high volumes of requests, but excessive calling may trigger temporary throttling. For large-scale data pulls, batch your queries into single calls rather than rapid succession.


**When I run count_earthquakes with specific coordinates, how precise are the resulting boundaries?**
The boundary searches are highly accurate, using standard latitude/longitude pairs. The system calculates counts strictly within the defined bounding box or radius you provide.


**What time zone format does query_earthquakes return its timestamp data in?**
All seismic event timestamps returned by `query_earthquakes` adhere to UTC (Coordinated Universal Time). This standardized format ensures your AI client interprets the times correctly, regardless of location.

**Is an API key required?**
No! The USGS FDSNWS Event API is completely open and requires zero authentication, making this one of the most accessible and powerful real-time data sources available.

**What is the query limit?**
The maximum number of events returned per single API query is 20,000. If your time range or boundaries are too wide, the API will fail. Use the `count` tool first on large searches.

**How fast is the data updated?**
The USGS typically updates its earthquake data within minutes of an event occurring, making it one of the most reliable sources for near real-time seismic alerts.