# opendata-mcp

> 台灣官方開放資料的統一 Remote MCP Server（Model Context Protocol）。把中央氣象署、環境部、交通部運輸資料流通服務（TDX）與交通部高速公路局四個平台的開放資料，收斂成一組可以用自然語言呼叫的工具——查天氣、地震、颱風、空氣品質、公車動態、YouBike、台鐵誤點、捷運營運狀態與國道即時事件，不需要申請 API 金鑰，也不需要知道資料集代碼。

這是一個部署在 Cloudflare Workers 上的無狀態遠端 MCP 伺服器。任何支援 MCP 的 client（Claude、ChatGPT、Cursor 等）都可以直接接上公開 demo，也可以自行部署一份（免費，只需要 Cloudflare 帳號）。程式碼採 MIT 授權，資料則依各來源機關的授權條款釋出。

- MCP endpoint: https://opendata-mcp.dragonheartliu1440.workers.dev/mcp （HTTP POST，JSON-RPC 2.0；GET 會回 405）
- 傳輸方式: Streamable HTTP，無狀態，不需要認證
- 目前登記 19 筆資料集，其中一部分有專屬的精選工具，其餘透過通用工具查詢

## 工具

- [tw_weather_forecast](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 指定縣市未來 36 小時天氣狀況、降雨機率、氣溫、舒適度指數（中央氣象署 F-C0032-001）
- [tw_recent_earthquakes](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 近期顯著有感地震報告，含規模、深度、震央與各地最大震度（中央氣象署 E-A0015-001）
- [tw_typhoon](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 目前活動中的颱風／熱帶氣旋消息與官方預測路徑（中央氣象署 W-C0034-005）
- [tw_air_quality](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 指定縣市或測站的即時 AQI、PM2.5、PM10、O3（環境部 aqx_p_432）
- [tw_bus_eta](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 指定縣市／路線／站牌的公車預估到站時間（交通部 TDX）
- [tw_youbike](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 指定縣市／站點的 YouBike 等公共自行車可借還數量（交通部 TDX）
- [tw_rail](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 指定台鐵車站的即時到離站看板與誤點分鐘數（交通部 TDX）
- [tw_metro_status](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 台北／高雄／桃園捷運目前營運狀態（交通部 TDX）
- [tw_highway_traffic](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 全國國道即時事故、施工、管制事件（交通部高速公路局）
- [tw_search_datasets](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 以關鍵字搜尋本伺服器已登記的所有資料集，取得可用的 datasetId 與參數說明
- [tw_query_dataset](https://opendata-mcp.dragonheartliu1440.workers.dev/#tools): 依 datasetId 查詢任一已登記資料集，涵蓋沒有專屬工具的長尾資料

每個工具的完整參數、格式陷阱與適用情境，都寫在工具自己的 description 裡。**權威且永遠最新的清單請直接呼叫 tools/list**，不要依賴這份文件的摘要：

```
curl -s https://opendata-mcp.dragonheartliu1440.workers.dev/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

## 如何接入

- [接進 Claude](https://github.com/dragonheart8787/opendata-mcp#快速開始): 在 Claude 的 Connectors 設定裡新增自訂連接器，網址填 https://opendata-mcp.dragonheartliu1440.workers.dev/mcp
- [接進其他 AI 平台](https://github.com/dragonheart8787/opendata-mcp#接進其他-ai-平台): ChatGPT、Cursor、Windsurf、Cline 的設定方式
- [自行部署](https://github.com/dragonheart8787/opendata-mcp#自行部署): 申請各平台金鑰、設定 Cloudflare Workers secrets、部署步驟

## 資料來源與授權

- [中央氣象署開放資料平臺](https://opendata.cwa.gov.tw/): 天氣預報、地震報告、颱風消息、潮汐、紫外線、氣象站觀測
- [環境部環境資料開放平臺](https://data.moenv.gov.tw/): 空氣品質指標、空品預報、紫外線即時監測
- [交通部運輸資料流通服務 TDX](https://tdx.transportdata.tw/): 公車動態、YouBike、台鐵到離站看板、捷運營運狀態
- [交通部高速公路局『交通資料庫』](https://tisvcloud.freeway.gov.tw/): 國道即時交通事件
- [政府資料開放授權條款第 1 版](https://data.gov.tw/license): 上述四個來源的資料授權條款
- [MIT License](https://github.com/dragonheart8787/opendata-mcp/blob/main/LICENSE): 本專案程式碼的授權條款（與資料授權分開）

本服務僅轉載與整理官方開放資料，不自行生成、推測或判斷任何預報或警報內容。防災、颱風、地震、空品惡化、道路封閉等警特報訊息，請以各主管機關官方管道公布的內容為準。

## Optional

- [README](https://github.com/dragonheart8787/opendata-mcp#readme): 完整的中文說明文件
- [English README](https://github.com/dragonheart8787/opendata-mcp/blob/main/README.en.md): 英文版說明
- [ARCHITECTURE.md](https://github.com/dragonheart8787/opendata-mcp/blob/main/docs/ARCHITECTURE.md): 分層架構規劃書（tools / registry / adapters / infra）
- [AGENTS.md](https://github.com/dragonheart8787/opendata-mcp/blob/main/AGENTS.md): 開發規範與各上游 API 的已知行為紀錄
- [隱私權政策](https://github.com/dragonheart8787/opendata-mcp#隱私權政策privacy-policy): 本服務蒐集與不蒐集哪些資料
