Skip to main content
Glama
yukit7s
by yukit7s
README.md
# 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

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues