mcpField
C
cwa-mcp-server

cwa-mcp-server

Local
github.com/gary2376Maps & Travel0Updated 10w ago

About cwa-mcp-server

cwa-mcp-server gives agents access to Taiwan CWA open data for weather and hazard information. It also provides a county resource and a prompt template for evacuation advice.

Key features

  1. 01Query 36-hour weather forecasts
  2. 02View recent significant earthquake reports
  3. 03Check active weather warnings
  4. 04Query recent typhoon warnings
  5. 05Provide county names and evacuation prompt

Use cases

  1. 01Check forecasts for a travel destination
  2. 02Review earthquake and weather alerts
  3. 03Generate evacuation advice from current data

MCP support

It is an MCP server exposing four weather and hazard query tools, a county-name resource, and an evacuation-advice prompt to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"gary2376-cwa": {
"command": "uvx",
"args": [
"cwa-mcp-server"
],
"env": {
"CWA_API_KEY": "<CWA_API_KEY>"
}
}
}
}
Run commanduvx cwa-mcp-server
Environment variables to set
CWA_API_KEYSecretCWA 開放資料平台 API 授權碼,至 https://opendata.cwa.gov.tw 免費申請

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypicwa-mcp-server0.1.1

Tools

4

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
countystringYes

Details

From the project README

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) — 根據即時天氣/特報/地震/颱風資料生成避難建議的提示模板

申請 API Key

  1. 到 氣象資料開放平台 註冊會員(email + 密碼即可,免審核)
  2. 登入後點「API 授權碼」→「取得授權碼」,立即產生 key

安裝(一般使用者)

已發布到 PyPI,不需要 clone 這個 repo。在 Claude Desktop / Claude Code 的 MCP 設定裡指定 uvx 執行即可,會自動抓套件:

{
  "mcpServers": {
    "cwa-weather": {
      "command": "uvx",
      "args": ["cwa-mcp-server"],
      "env": { "CWA_API_KEY": "你申請到的授權碼" }
    }
  }
}

或用 Claude Code CLI:

claude mcp add cwa-weather -e CWA_API_KEY=你申請到的授權碼 -- uvx cwa-mcp-server

開發(改這個 repo 原始碼)

git clone https://github.com/gary2376/cwa-mcp-server
cd cwa-mcp-server
uv sync
cp .env.example .env   # 填入 CWA_API_KEY

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

狀態

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

已知修過的坑:v0.1.0 最初上傳的 wheel 因為 uv_build 預設用 project.name 猜模組名(cwa_mcp_server),跟實際原始碼目錄 src/cwa_mcp/ 對不上,打包出一個空殼套件,uvx cwa-mcp-server 會直接 ModuleNotFoundError。已在 pyproject.toml 加 [tool.uv.build-backend] module-name = "cwa_mcp" 修正,重新 build 驗證過 wheel 內容正確。

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.