返回市场
roc-cwa-MCP服务器

roc-cwa-MCP服务器

作者:stephen94125 星标更新:2025-04-11

项目介绍

台湾中央气象局 MCP 服务器

该项目提供了一个与台湾中央气象局(CWA)API 接口的 Model Context Protocol (MCP) 服务器,使您能够轻松访问台湾的气象数据。

中文版

CWA API 资源

要使用此项目,您需要从中央气象局获取一个 API 密钥:

功能

  • 获取台湾各县市的3天天气预报数据
  • 获取台湾各县市的7天天气预报数据
  • 获取过去三天的历史降雨数据
  • 自动数据清洗和格式转换
  • 简化的 API 输出,仅包含必要信息

系统需求

  • Python 3.10+
  • MCP CLI 1.6.0+
  • uv 包管理器

安装

  1. 确保已安装 Python 3.10 或更高版本

  2. 使用 uv 安装依赖项:

# 使用 uv 安装项目依赖项
uv pip install -e .

使用方法

启动服务器

Windows 用户

# 在命令提示符或 PowerShell 中执行
uv --directory your_project_path run src/server.py your_API_key

Mac 和 Linux 用户

# 在终端中执行
uv --directory your_project_path run src/server.py your_API_key

可用的 MCP 工具

该服务器提供了以下三个主要工具:

1. get_3_days_weather

获取指定县市的3天天气预报数据。

参数:

  • location_name (字符串):县市名称,必须是有效的台湾县市名称

有效的县市名称包括:宜兰县、花莲县、台东县、澎湖县、金门县、连江县、台北市、新北市、桃园市、台中市、台南市、高雄市、基隆市、新竹县、新竹市、苗栗县、彰化县、南投县、云林县、嘉义县、嘉义市、屏东县

2. get_1_week_weather

获取指定县市的7天天气预报数据。

参数:

  • location_name (字符串):县市名称,必须是有效的台湾县市名称

3. get_historical_rainfall

获取过去三天的降雨数据。

无需参数。

数据格式

天气预报数据格式

[
  {
    "ElementName": "Temperature",
    "Time": [
      ["2025-04-11T00:00", "21"],
      ["2025-04-11T01:00", "21"],
      ...
    ]
  },
  {
    ̶"ElementName": "Relative Humidity",
    "Time": [
      ["2025-04-11T00:00", "90"],
      ["2025-04-11T01:00", "89"],
      ...
    ]
  },
  ...
]

降雨数据格式

{
  "rain_labels": ["Now", "Past10Min", "Past1hr", "Past3hr", "Past6Hr", "Past12hr", "Past24hr", "Past2days", "Past3days"],
  "stations": [
    {
      "name": "Station Name",
      "time": "Observation Time",
      "loc": "County,Town",
      "geo": [latitude, longitude],
      "rain": [current, past10min, past1hr, past3hr, past6hr, past12hr, past24hr, past2days, past3days]
    },
    ...
  ]
}

支持的天气要素

3天预报

  • 温度
  • 相对湿度
  • 体感温度
  • 舒适度指数
  • 风向
  • 风速
  • 3小时降水概率
  • 天气现象
  • 综合天气描述

7天预报

  • 平均温度
  • 最高温度
  • 最低温度
  • 平均相对湿度
  • 最高体感温度
  • 最低体感温度
  • 最高舒适度指数
  • 最低舒适度指数
  • 风速
  • 风向
  • 12小时降水概率
  • 紫外线指数
  • 天气现象
  • 综合天气描述

API 数据来源

本项目使用了来自台湾中央气象局的以下开放数据 API:

  • 3天预报:台湾乡镇天气预报 - 3天预报(每3小时)
  • 7天预报:台湾乡镇天气预报 - 7天天气预报
  • 降雨数据:自动雨量站 - 降雨观测数据