Metadata-Version: 2.4
Name: cwa-mcp-server
Version: 0.1.0
Summary: MCP server for Taiwan CWA (中央氣象署) open weather/earthquake data
License-Expression: MIT
Requires-Dist: httpx>=0.28.1
Requires-Dist: mcp[cli]>=2.0.0
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# cwa-mcp-server

<!-- mcp-name: io.github.gary2376/cwa-mcp-server -->

MCP server，包中央氣象署（CWA）開放資料 API，讓 agent 能查天氣預報、地震報告、天氣特報、颱風警報，並產生避難建議。

## 功能

- **Tool** `get_weather_forecast(county)` — 縣市未來 36 小時天氣預報
- **Tool** `get_earthquake_report(limit)` — 最近 N 筆顯著有感地震報告
- **Tool** `get_weather_warning(county)` — 縣市目前生效中的天氣特報（豪雨、強風等）
- **Tool** `get_typhoon_warning(limit)` — 最近 N 筆颱風警報
- **Resource** `cwa://counties` — 合法縣市名稱清單
- **Prompt** `evacuation_advisory(county)` — 根據即時天氣/特報/地震/颱風資料生成避難建議的提示模板

## 安裝

```bash
uv sync
```

## 申請 API Key

1. 到 [氣象資料開放平台](https://opendata.cwa.gov.tw) 註冊會員（email + 密碼即可，免審核）
2. 登入後點「API 授權碼」→「取得授權碼」，立即產生 key
3. 複製 `.env.example` 為 `.env`，填入 `CWA_API_KEY`

## 在 Claude Desktop / Claude Code 使用

```json
{
  "mcpServers": {
    "cwa-weather": {
      "command": "uv",
      "args": ["--directory", "/絕對路徑/cwa-mcp-server", "run", "cwa-mcp-server"],
      "env": { "CWA_API_KEY": "${CWA_API_KEY}" }
    }
  }
}
```

## 開發

```bash
uv run python tests/test_client.py   # 最小自我檢查（不打真網路）
uv run mcp dev src/cwa_mcp/server.py # 本地用 inspector 手動測試 tools
```

## 狀態

四個 tool（天氣預報、地震報告、天氣特報、颱風警報）都已用真實 key 打過線上 API 驗證，也已接上 Claude Code 實測對話流程，能正確判斷風險等級並給出具體建議。尚未發布到 MCP Server Registry。

## License

MIT
