MCP server for Taiwan CWA open data: weather forecast, earthquake, warnings, typhoon.
MCP server,包中央氣象署(CWA)開放資料 API,讓 agent 能查天氣預報、地震報告、天氣特報、颱風警報,並產生避難建議。
get_weather_forecast(county) — 縣市未來 36 小時天氣預報get_earthquake_report(limit) — 最近 N 筆顯著有感地震報告get_weather_warning(county) — 縣市目前生效中的天氣特報(豪雨、強風等)get_typhoon_warning(limit) — 最近 N 筆颱風警報cwa://counties — 合法縣市名稱清單evacuation_advisory(county) — 根據即時天氣/特報/地震/颱風資料生成避難建議的提示模板已發布到 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
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 內容正確。
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx cwa-mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-gary2376-cwa-mcp-server": {
"command": "uvx",
"args": [
"cwa-mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencecwa-mcp-serverpypiio.github.gary2376/cwa-mcp-server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.