台灣中央氣象局 MCP 伺服器

台灣中央氣象局 MCP 伺服器

台灣中央氣象署 (CWA) API MCP 伺服器

stephen9412

研究与数据
访问服务器

README

台灣中央氣象局 MCP 伺服器

這個專案提供一個與台灣中央氣象局 (CWA) API 進行對接的 Model Context Protocol (MCP) 伺服器,讓你能夠簡單地獲取台灣地區的天氣資料。

中文版 | English

✨ 功能特色

  • 獲取台灣各縣市未來 3 天的天氣預報資料
  • 獲取台灣各縣市未來 1 週的天氣預報資料
  • 獲取過去三天的雨量資料
  • 自動資料清理與格式轉換
  • 錯誤處理機制與重試邏輯
  • 簡化的 API 輸出,僅包含必要資訊

🚀 安裝說明

Claude Desktop 設定

  1. 安裝 Claude Desktop

    • 下載 Claude Desktop
    • 確保您使用的是最新版本 (選單: Claude -> 檢查更新...)
  2. 設定 MCP 伺服器

    {
      "mcpServers": {
        "taiwan-weather": {
          "command": "npx",
          "args": [
            "taiwan-cwa-mcp-server"
          ],
          "env": {
            "CWA_API_KEY": "您的API金鑰"
          }
        }
      }
    }
    
    • 您的API金鑰 替換為從中央氣象局取得的 API 金鑰

從本地開發版本啟動

{
  "mcpServers": {
    "taiwan-weather": {
      "command": "npx",
      "args": [
        "tsx",
        "/您的專案目錄路徑/src/server.ts"
      ],
      "env": {
        "CWA_API_KEY": "您的API金鑰",
        "MAX_RETRIES": "3",
        "TIMEOUT_MS": "10000"
      }
    }
  }
}

🛠️ 可用工具

get_3_days_weather

獲取指定縣市未來 3 天的天氣預報資料。

參數:

  • location_name (字串): 縣市名稱,必須是有效的台灣縣市名稱

有效的縣市名稱包括:宜蘭縣, 花蓮縣, 臺東縣, 澎湖縣, 金門縣, 連江縣, 臺北市, 新北市, 桃園市, 臺中市, 臺南市, 高雄市, 基隆市, 新竹縣, 新竹市, 苗栗縣, 彰化縣, 南投縣, 雲林縣, 嘉義縣, 嘉義市, 屏東縣

get_1_week_weather

獲取指定縣市未來 1 週的天氣預報資料。

參數:

  • location_name (字串): 縣市名稱,必須是有效的台灣縣市名稱

有效的縣市名稱包括:宜蘭縣, 花蓮縣, 臺東縣, 澎湖縣, 金門縣, 連江縣, 臺北市, 新北市, 桃園市, 臺中市, 臺南市, 高雄市, 基隆市, 新竹縣, 新竹市, 苗栗縣, 彰化縣, 南投縣, 雲林縣, 嘉義縣, 嘉義市, 屏東縣

get_historical_rainfall

獲取過去三天的雨量資料。

🧪 開發說明

環境變數配置

本專案使用 .env 檔案進行配置。請參考 .env.example 並建立自己的 .env 檔案:

# API 金鑰設定
CWA_API_KEY=YOUR_API_KEY_HERE

# API 請求設定
MAX_RETRIES=3
RETRY_DELAY_BASE=2
TIMEOUT_MS=10000

使用 fastmcp dev 測試

最快速的測試和調試方法是使用 fastmcp dev

npm run dev  # 或 npx fastmcp dev src/server.ts

這將在終端中運行伺服器與 mcp-cli 一起測試和調試。

使用 MCP Inspector 檢查

另一種方法是使用官方的 MCP Inspector 在網頁界面檢查伺服器:

npm run inspect  # 或 npx fastmcp inspect src/server.ts

中央氣象局 API 資源

要使用本專案,你需要先從中央氣象局取得 API 金鑰:

資料格式

天氣預報資料格式

[
  {
    "ElementName": "溫度",
    "Time": [
      ["2025-04-11T00:00", "21"],
      ["2025-04-11T01:00", "21"],
      ...
    ]
  },
  {
    "ElementName": "相對濕度",
    "Time": [
      ["2025-04-11T00:00", "90"],
      ["2025-04-11T01:00", "89"],
      ...
    ]
  },
  ...
]

雨量資料格式

{
  "rain_labels": ["Now", "Past10Min", "Past1hr", "Past3hr", "Past6Hr", "Past12hr", "Past24hr", "Past2days", "Past3days"],
  "stations": [
    {
      "name": "測站名稱",
      "time": "觀測時間",
      "loc": "縣市,鄉鎮",
      "geo": [緯度, 經度],
      "rain": [當前, 過去10分鐘, 過去1小時, 過去3小時, 過去6小時, 過去12小時, 過去24小時, 過去2, 過去3]
    },
    ...
  ]
}

🤝 貢獻

歡迎問題報告和功能請求! 請訪問問題頁面

📄 授權

MIT 授權 - Copyright (c) 2025 Stephen J. Li

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python