Cwa Mcp Server

io.github.gary2376Published by GitHub account gary2376v0.1.1Updated Oct 24, 2026

MCP server for Taiwan CWA open data: weather forecast, earthquake, warnings, typhoon.

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Local MCP server wrapping Taiwan CWA open data, letting an assistant look up forecasts, earthquakes, weather warnings and typhoon alerts.

What you can do
Look up a county's 36-hour weather forecast and currently active weather warnings such as heavy rain or strong wind, by county name. Retrieve the most recent significant felt earthquake reports and recent typhoon warnings, with a limit on how many to return. List the valid county names as a resource so queries use accepted names. Provide a prompt template that drafts evacuation advice from live weather, warning, earthquake and typhoon data.
When to use it
Useful when you want an assistant to answer questions about Taiwan weather, active warnings, recent earthquakes or typhoons, or to draft evacuation guidance for a county from current official data.
Requirements
Runs locally over stdio, typically launched with uvx from the PyPI package, so a Python/uv runtime is needed. Requires a free CWA open data API authorization key, supplied in the CWA_API_KEY environment variable. Network access to the CWA open data API is needed.
Before you install
The CWA_API_KEY authorization code is a secret passed in the environment; keep it out of shared configs and logs. The server only reads public data, but evacuation advice is generated from live data and should not replace official instructions.

Installation

In SourceWeft

  1. Open Cwa Mcp Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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 執行即可,會自動抓套件:

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

或用 Claude Code CLI:

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

開發(改這個 repo 原始碼)

bash
git clone https://github.com/gary2376/cwa-mcp-servercd cwa-mcp-serveruv synccp .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

Source: README.md at commit 8a3a802

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.