Comprehensive Earthquake Monitoring MCP Server
Integrates multiple earthquake data sources (IRIS, USGS, GNSS) for comprehensive seismic monitoring, analysis, and risk assessment via natural language queries.
README
Comprehensive Earthquake Monitoring MCP Server
A complete Model Context Protocol (MCP) server that provides access to multiple earthquake monitoring data sources including IRIS seismological data, GNSS/GPS crustal deformation measurements, and USGS earthquake feeds for comprehensive earthquake monitoring and analysis.
Quick Links for Sharing
For Other Developers
Developer Setup Guide - Complete installation and integration guide
🔬 For Researchers & Seismologists
Research Guide - Scientific applications and research use cases
Extended Documentation
Documentation Index - Complete documentation directory
Quick Start
- Clone and install:
git clone <repository-url>
cd mcp-earthquake-server
npm install
npm run build
- Test the installation:
npm start
- Configure your MCP client (see Developer Setup Guide)
Key Features
- Global Coverage - Worldwide monitoring
- Real-time Data - Live earthquake feeds and rapid analysis
- Multi-source Integration - IRIS + USGS + GNSS
- 🛠 10 Comprehensive Tools - From basic queries to advanced analysis
- Production Ready - Fully tested, validated, and documented
Features
Data Sources
- IRIS (Incorporated Research Institutions for Seismology) - Earthquake catalogs, waveform data, and station information
- GNSS Networks - GPS/GNSS station displacement measurements from UNAVCO, Nevada Geodetic Laboratory, and other providers
- USGS Earthquake Hazards Program - Real-time earthquake feeds, ShakeMap data, and seismic hazard assessments
- Real-time Monitoring - Latest earthquake activity, crustal deformation, and satellite observations with multi-source validation
Resources Available
iris-catalog- Access earthquake events from IRIS databasegnss-stations- GPS/GNSS station network informationrealtime-earthquakes- Latest earthquake activity feedusgs-realtime- USGS real-time earthquake feeds with multiple magnitude filtersusgs-shakemap- ShakeMap intensity and ground motion data for specific events
Tools Provided
Seismic Analysis:
- analyze-seismic-activity - Comprehensive seismic risk analysis for regions
- fetch-waveform - Retrieve seismic waveform data for specific events
Geodetic Monitoring:
- monitor-gnss-displacement - Monitor GPS stations for unusual crustal movements
USGS Data Integration:
- get-usgs-earthquakes - Retrieve recent earthquakes from USGS real-time feeds
- search-usgs-earthquakes - Search USGS earthquake database with custom parameters
- get-usgs-shakemap - Retrieve ShakeMap data for specific earthquakes
- get-seismic-hazard - Get probabilistic seismic hazard assessments (requires latitude, longitude, and a valid site class or VS30 value; coverage limited to USGS Design Maps regions)
Note: The hazard service returns explicit errors for invalid site classes or unsupported locations.
Prompts
- earthquake-risk-assessment - Generate comprehensive risk assessments
- interpret-seismic-data - Help interpret complex seismic data
Installation & Setup
Prerequisites
- Node.js 18+
- TypeScript
- MCP-compatible client (Claude Desktop, VS Code, etc.)
Installation
- Clone and install dependencies:
git clone <repository-url>
cd MCP
npm install
- Build the TypeScript code:
npm run build
- Start the development server:
npm run dev
MCP Client Configuration
Claude Desktop
Add to your Claude Desktop configuration file (%APPDATA%\\Claude\\claude_desktop_config.json on Windows):
{
"mcpServers": {
"earthquake-data": {
"command": "node",
"args": ["C:\\path\\to\\your\\MCP\\dist\\index.js"]
}
}
}
VS Code
The server includes VS Code configuration in .vscode/settings.json.
Usage Examples
Analyze Seismic Activity
// Analyze earthquake risk for Southern California
await analyzeSeismicActivity({
latitude: 34.0522,
longitude: -118.2437,
radius: 100,
timeWindow: 30,
minMagnitude: 3.0
});
Monitor GNSS Displacements
// Check for unusual crustal movements in Japan
await monitorGnssDisplacement({
region: "japan",
threshold: 5.0,
timeWindow: 7
});
Fetch Earthquake Catalog
// Get recent earthquakes in Chile
const catalog = await client.readResource(
"iris://catalog/chile?starttime=2024-01-01T00:00:00Z&endtime=2024-01-31T23:59:59Z&minmag=4.0"
);
API Reference
Resources
IRIS Earthquake Catalog
- URI Pattern:
iris://catalog/{region}?starttime={start}&endtime={end}&minmag={minmag} - Description: Access earthquake events from IRIS database
- Parameters:
region: Geographic region (optional)starttime: ISO datetime stringendtime: ISO datetime stringminmag: Minimum magnitude threshold
GNSS Station Network
- URI Pattern:
gnss://stations/{network}?region={region} - Description: GPS/GNSS station information and status
- Parameters:
network: Network code (PBO, IGS, GEONET, etc.)region: Geographic region
Real-time Earthquake Feed
- URI Pattern:
realtime://earthquakes?magnitude={mag}&hours={hours} - Description: Latest earthquake activity from multiple networks
- Parameters:
magnitude: Minimum magnitude (default: 2.5)hours: Time window in hours (default: 24)
Tools
Analyze Seismic Activity
Comprehensive earthquake risk analysis including:
- Statistical analysis of earthquake patterns
- Gutenberg-Richter b-value calculation
- Hazard probability assessment
- GNSS correlation analysis
- Risk level determination and recommendations
Parameters:
latitude: Region center latitudelongitude: Region center longituderadius: Analysis radius in kilometers (default: 100)timeWindow: Time window in days (default: 30)minMagnitude: Minimum earthquake magnitude (default: 3.0)
Fetch Waveform Data
Retrieve seismic waveform data for specific earthquake events.
Parameters:
eventId: IRIS event identifiernetwork: Seismic network code (default: "US")station: Station codechannel: Channel code (default: "BHZ")startTime: Start time (ISO format)endTime: End time (ISO format)
Monitor GNSS Displacements
Check GNSS stations for unusual crustal movements that might indicate seismic activity.
Parameters:
region: Region name (e.g., 'california', 'japan', 'chile')threshold: Displacement threshold in millimeters (default: 5.0)timeWindow: Time window in days (default: 7)
Data Processing & Analysis
Earthquake Catalog Analysis
- Magnitude-frequency analysis using Gutenberg-Richter relations
- Temporal pattern detection for accelerating/decelerating seismicity
- Spatial clustering analysis to identify earthquake swarms
- Completeness threshold estimation for reliable statistical analysis
GNSS Data Processing
- Displacement monitoring with configurable thresholds
- Time series analysis for station movements
- Anomaly detection using statistical methods
- Co-seismic and post-seismic deformation correlation
Risk Assessment Methodology
The server uses multiple factors to assess seismic risk:
- Recent large earthquakes (M≥6.0)
- Seismic activity rates (events per day)
- GNSS displacement anomalies
- Depth distribution (shallow events more hazardous)
- Historical context and regional tectonics
Risk levels: low | moderate | high | critical
Supported Regions & Networks
GNSS Networks
- PBO - Plate Boundary Observatory (Western US)
- CGPS - Continuous GPS (California)
- GEONET - GPS Earth Observation Network (Japan)
- CAP - Central Andes Project (Chile)
- RING - Rete Integrata Nazionale GPS (Italy)
- COCONet - Continuously Operating Caribbean GPS Network
Regional Coverage
- California - Comprehensive PBO and CGPS coverage
- Japan - GEONET high-density network
- Chile - Nazca Plate subduction monitoring
- New Zealand - Alpine Fault and subduction zone
- Alaska - Pacific-North American plate boundary
- Mediterranean - Complex plate boundaries and active faults
Development
Project Structure
src/
├── index.ts # Main MCP server
├── providers/
│ ├── iris-provider.ts # IRIS data interface
│ └── gnss-provider.ts # GNSS data interface
└── analyzers/
└── earthquake-analyzer.ts # Analysis engine
Building
npm run build # Compile TypeScript
npm run dev # Development mode with auto-reload
npm run start # Production mode
Testing
npm run test # Run test suite (when implemented)
npm run lint # Check code style
Contributing
Contributions are welcome! Areas for improvement:
-
Additional Data Sources
- International seismic networks
- Volcano monitoring integration
-
Enhanced Analysis
- Machine learning earthquake prediction
- Fault system modeling
- Tsunami risk assessment
-
Real-time Features
- WebSocket earthquake feeds
- Alert system integration
- Mobile notifications
Data Attribution & Usage
📋 Required Citations
When using data from this server in research or publications, please include appropriate citations:
IRIS Data:
Data services products from the IRIS DMC are funded through the Seismological Facilities for the Advancement of Geoscience (SAGE) Award of the National Science Foundation under Cooperative Support Agreement EAR-1851048.
USGS Data:
Earthquake data provided by the U.S. Geological Survey Earthquake Hazards Program. Any use of trade, firm, or product names is for descriptive purposes only and does not imply endorsement by the U.S. Government.
GNSS Data:
GNSS data provided by UNAVCO/EarthScope, Nevada Geodetic Laboratory, and contributing global networks. Please acknowledge the specific network operators in your research.
⚠️ Usage Terms & Limitations
- Non-Commercial: IRIS and USGS data are provided for research and educational purposes
- Real-time Limitations: Earthquake data may have processing delays; not suitable for emergency response
- Quality Notice: Data quality varies by source and region; always verify critical measurements
- Rate Limits: Respect API rate limits to ensure continued access for all users
- Academic Use: Follow institutional data sharing policies for research applications
** Data Freshness**
- USGS: Real-time to 5-minute updates
- IRIS: Near real-time to several hours
- GNSS: Daily to weekly updates
License
This project is licensed under the MIT License. See LICENSE file for details.
Acknowledgments
- IRIS - Incorporated Research Institutions for Seismology
- UNAVCO - University NAVSTAR Consortium (now EarthScope)
- Nevada Geodetic Laboratory - University of Nevada, Reno
- USGS - United States Geological Survey
- Global seismic and geodetic networks worldwide
Support
For issues, feature requests, or questions:
- Check existing issues on GitHub
- Create a new issue with detailed information
- Include relevant error logs and system information
⚠️ Important Disclaimer: This software is for research and educational purposes. Earthquake prediction remains scientifically uncertain. Do not rely on this tool for life safety decisions. Always follow official emergency management guidance and early warning systems.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。