Tokyo WBGT MCP Server
# Tokyo WBGT MCP Server
東京都のWBGT(暑さ指数)予測データを取得するModel Context Protocol (MCP) サーバーです。環境省の公式データを使用して、東京都内の複数観測地点からWBGT予測値と実測値を提供します。
## 🌡️ 機能
### 利用可能なツール
1. **get_tokyo_wbgt_forecast**
- 指定した東京都内観測地点のWBGT予測値を取得
- 対応地点: `tokyo`, `hachioji`, `fuchu`, `nerima`, `ome`, `ogochi`, `edogawa`
2. **get_all_tokyo_locations**
- 東京都内の全WBGT観測地点の予測値を一括取得
3. **get_tokyo_realtime_data**
- 東京都の実測WBGT値を取得(実測地点のみ)
- 指定した年月のデータを取得可能
### 📍 観測地点
| 地点名 | 地点番号 | 実測データ |
|--------|----------|------------|
| **東京(小石川植物園)** | 44132 | ✅ |
| **八王子** | 44112 | ❌ |
| **府中** | 44116 | ❌ |
| **練馬** | 44071 | ❌ |
| **青梅** | 44056 | ❌ |
| **小河内** | 44046 | ❌ |
| **江戸川臨海** | 44136 | ❌ |
## 🚀 インストール
```bash
# 依存関係をインストール
npm install
# TypeScriptをビルド
npm run build
```
## 💻 使用方法
### MCPクライアントでの設定
Claude Desktop等のMCPクライアントの設定ファイルに以下を追加:
```json
{
"mcpServers": {
"tokyo-wbgt": {
"command": "node",
"args": ["path/to/tokyo-wbgt-mcp-server/build/index.js"]
}
}
}
```
### スタンドアロン実行
```bash
# プロダクション実行
npm start
# 開発モード
npm run dev
```
## 📊 データソース
- **予測データ**: 環境省熱中症予防情報サイト
- URL: `https://www.wbgt.env.go.jp/prev15WG/dl/`
- **実測データ**: 環境省実測地点データ
- URL: `https://www.wbgt.env.go.jp/mntr/dl/`
## 🌡️ WBGT(暑さ指数)について
WBGTは気温、湿度、輻射熱を考慮した熱中症予防のための指標です。
### 🚦 危険度レベル
| レベル | 温度範囲 | 状態 | 対応 |
|--------|----------|------|------|
| 🟢 **安全** | < 21°C | 通常の活動が可能 | - |
| 🟡 **注意** | 21-25°C | 積極的な水分補給 | こまめな水分補給 |
| 🟠 **警戒** | 25-28°C | 積極的な休憩・水分補給 | 定期的な休憩と塩分補給 |
| 🔴 **厳重警戒** | 28-31°C | 激しい運動は中止 | 運動の中断を検討 |
| 🟣 **危険** | ≥ 31°C | 運動は原則中止 | すべての運動を中止 |
## 📋 レスポンス例
### 予測データ
```json
{
"locationId": "44132",
"locationName": "東京(小石川植物園)",
"prefecture": "東京都",
"updateTime": "2025/06/23 19:25",
"forecasts": [
{
"datetime": "2025/06/23 21:00",
"wbgt": 24.0,
"status": "注意"
},
{
"datetime": "2025/06/24 00:00",
"wbgt": 25.0,
"status": "警戒"
}
]
}
```
### 実測データ
```json
{
"location": "東京(実測地点)",
"prefecture": "東京都",
"data": [
{
"datetime": "2025/6/23 17:00",
"wbgt": 24.5,
"status": "注意"
}
]
}
```
## 🔧 開発
### プロジェクト構造
```
src/
├── index.ts # メインサーバークラス
├── types.ts # TypeScript型定義
├── constants.ts # 定数・設定値
├── utils.ts # ユーティリティ関数
└── wbgt-service.ts # WBGTデータ取得サービス
```
### 必要な依存関係
- Node.js 18+
- TypeScript 5+
- @modelcontextprotocol/sdk
### 開発コマンド
```bash
# 開発環境での実行
npm run dev
# ビルド
npm run build
# プロダクション実行
npm start
```
## ⚠️ 注意事項
- データは環境省の公式システムから取得されるため、サーバーのメンテナンス時には利用できない場合があります
- 実測データは東京地点(小石川植物園)のみ提供されます
- 予測データは1時間毎に更新されます
- 実測データは毎正時に更新されます
## 📜 ライセンス
MIT License
## 📚 データ利用について
このサーバーが使用するWBGTデータは環境省熱中症予防情報サイトから取得されます。データの利用については環境省の利用規約に従ってください。
- [環境省熱中症予防情報サイト](https://www.wbgt.env.go.jp/)
- [当サイトのご利用にあたって](https://www.wbgt.env.go.jp/tos.php)
## 🤝 貢献
プルリクエストやイシューの報告を歓迎します。バグ報告や機能要望がありましたらお気軽にお知らせください。TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: get_all_tokyo_locations retrieves predicted values for all observation points, get_tokyo_realtime_data gets measured values for actual observation points only, and get_tokyo_wbgt_forecast obtains forecast values. There is no overlap or ambiguity between these three functions.
All tool names follow a consistent verb_noun pattern with 'get_' prefix and descriptive suffixes (all_tokyo_locations, tokyo_realtime_data, tokyo_wbgt_forecast). The naming is perfectly uniform and predictable throughout the set.
Three tools is well-scoped for a Tokyo WBGT server focused on location data, real-time measurements, and forecasts. Each tool earns its place without redundancy, and the count is appropriate for the apparent domain scope.
The tools cover the core WBGT data retrieval needs (locations, real-time, forecasts) for Tokyo, with no obvious dead ends. A minor gap might be historical data or alerts, but agents can work effectively with the provided surface for typical weather/heat index queries.