TMD Earthquake MCP Server
by amornpan
README.md
# TMD Earthquake MCP Server
MCP Server สำหรับดึงข้อมูลแผ่นดินไหวจาก Thai Meteorological Department (TMD) API
## Features
- ✅ ดึงข้อมูลแผ่นดินไหวล่าสุด
- ✅ กรองตามสถานที่เกิดเหตุ
- ✅ กรองตามขนาด (Magnitude)
- ✅ สถิติข้อมูลแผ่นดินไหว
- ✅ Cache ข้อมูล 1 ชั่วโมง
## Installation
### 1. สร้าง Conda Environment
```bash
conda create -n mcp-tmd python=3.11 -y
conda activate mcp-tmd
```
### 2. ติดตั้ง Dependencies
```bash
cd C:\Users\Asus\tmd-weather-mcp
pip install -r requirements.txt
```
## Usage
### Run Server (ทดสอบ)
```bash
python earthquake_server.py
```
### Configure Claude Desktop
1. หา Python Path ใน conda environment:
```bash
where python
```
2. แก้ไขไฟล์ `%APPDATA%\Claude\claude_desktop_config.json`:
```json
{
"mcpServers": {
"tmd-earthquake": {
"command": "C:\\Users\\Asus\\anaconda3\\envs\\mcp-tmd\\python.exe",
"args": [
"C:\\Users\\Asus\\tmd-weather-mcp\\earthquake_server.py"
]
}
}
}
```
**หมายเหตุ**:
- ต้องใช้ double backslash (`\\`) ใน Windows path
- แทนที่ path ของ Python ให้ตรงกับที่ได้จากคำสั่ง `where python`
3. Restart Claude Desktop
## Tools
### 1. get_recent_earthquakes
ดึงข้อมูลแผ่นดินไหวล่าสุด
**Parameters:**
- `limit` (int): จำนวนรายการที่ต้องการ (default: 10)
**ตัวอย่างการใช้งาน:**
- "แผ่นดินไหวล่าสุด 5 รายการ"
- "ข้อมูลแผ่นดินไหววันนี้"
### 2. get_earthquakes_by_location
กรองแผ่นดินไหวตามสถานที่
**Parameters:**
- `location_keyword` (str): คำค้นหาสถานที่ (ไทยหรืออังกฤษ)
**ตัวอย่างการใช้งาน:**
- "แผ่นดินไหวในจีน"
- "แผ่นดินไหวที่มีคำว่ายูนนาน"
### 3. get_earthquakes_by_magnitude
กรองแผ่นดินไหวตามขนาด
**Parameters:**
- `min_magnitude` (float): ขนาดต่ำสุด (ริกเตอร์)
- `max_magnitude` (float, optional): ขนาดสูงสุด
**ตัวอย่างการใช้งาน:**
- "แผ่นดินไหวที่มีขนาดมากกว่า 5 ริกเตอร์"
- "แผ่นดินไหวขนาด 4-6 ริกเตอร์"
### 4. get_earthquake_statistics
สรุปสถิติข้อมูลแผ่นดินไหว
**ตัวอย่างการใช้งาน:**
- "สรุปสถิติแผ่นดินไหววันนี้"
- "แผ่นดินไหวเกิดที่ไหนบ่อยที่สุด"
## Data Source
- **API**: Thai Meteorological Department (TMD)
- **URL**: https://data.tmd.go.th/api/DailySeismicEvent/v1/
- **Update Frequency**: Daily
- **Coverage**: Regional and Global earthquake events
## Troubleshooting
### ปัญหา: ModuleNotFoundError
**สาเหตุ**: ไม่ได้ activate conda environment
**วิธีแก้**:
```bash
conda activate mcp-tmd
```
### ปัญหา: Claude Desktop ไม่เห็น Server
**สาเหตุ**: Python path ไม่ถูกต้อง
**วิธีแก้**:
1. ตรวจสอบ python path ด้วย `where python` (ใน activated env)
2. ใช้ absolute path ใน config file
3. Restart Claude Desktop
### ปัญหา: API Timeout
**สาเหตุ**: TMD API อาจช้าหรือไม่ตอบสนอง
**วิธีแก้**:
- ลองใหม่อีกครั้ง
- ตรวจสอบ internet connection
- Cache จะช่วยลด API calls
## Project Structure
```
C:\Users\Asus\tmd-weather-mcp\
├── earthquake_server.py # Main MCP server
├── requirements.txt # Python dependencies
├── README.md # This file
└── .gitignore # Git ignore rules
```
## License
MIT License
## Author
Created for TMD Earthquake Data Integration with MCP
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues