Taiwan CWA Weather API MCP Server
Project description
Taiwan Central Weather Administration MCP Server
This project provides a Model Context Protocol (MCP) server that interfaces with the Taiwan Central Weather Administration (CWA) API, allowing you to easily access weather data for Taiwan.
CWA API Resources
To use this project, you need to obtain an API key from the Central Weather Administration:
- CWA Open Data Platform: https://opendata.cwa.gov.tw/index
- API Documentation: https://opendata.cwa.gov.tw/dist/opendata-swagger.html
- API Key Application Guide: https://www.hlbh.hlc.edu.tw/resource/openfid.php?id=38959
Features
- Get 3-day weather forecast data for Taiwan counties and cities
- Get 1-week weather forecast data for Taiwan counties and cities
- Get historical rainfall data for the past three days
- Automatic data cleaning and format conversion
- Simplified API output with only essential information
System Requirements
- Python 3.10+
- MCP CLI 1.6.0+
- uv package manager
Installation
-
Ensure you have Python 3.10 or higher installed
-
Install dependencies using uv:
# Install project dependencies using uv
uv pip install -e .
Usage
Starting the Server
Windows Users
# Execute in Command Prompt or PowerShell
uv --directory your_project_path run src/server.py your_API_key
Mac and Linux Users
# Execute in Terminal
uv --directory your_project_path run src/server.py your_API_key
Available MCP Tools
This server provides the following three main tools:
1. get_3_days_weather
Get 3-day weather forecast data for a specified county or city.
Parameters:
location_name(string): County or city name, must be a valid Taiwan county or city name
Valid county/city names include: Yilan County, Hualien County, Taitung County, Penghu County, Kinmen County, Lienchiang County, Taipei City, New Taipei City, Taoyuan City, Taichung City, Tainan City, Kaohsiung City, Keelung City, Hsinchu County, Hsinchu City, Miaoli County, Changhua County, Nantou County, Yunlin County, Chiayi County, Chiayi City, Pingtung County
2. get_1_week_weather
Get 1-week weather forecast data for a specified county or city.
Parameters:
location_name(string): County or city name, must be a valid Taiwan county or city name
3. get_historical_rainfall
Get rainfall data for the past three days.
No parameters required.
Data Format
Weather Forecast Data Format
[
{
"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"],
...
]
},
...
]
Rainfall Data Format
{
"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]
},
...
]
}
Supported Weather Elements
3-Day Forecast
- Temperature
- Relative Humidity
- Apparent Temperature
- Comfort Index
- Wind Direction
- Wind Speed
- 3-hour Precipitation Probability
- Weather Phenomenon
- Comprehensive Weather Description
1-Week Forecast
- Average Temperature
- Maximum Temperature
- Minimum Temperature
- Average Relative Humidity
- Maximum Apparent Temperature
- Minimum Apparent Temperature
- Maximum Comfort Index
- Minimum Comfort Index
- Wind Speed
- Wind Direction
- 12-hour Precipitation Probability
- UV Index
- Weather Phenomenon
- Comprehensive Weather Description
API Data Sources
This project uses the following open data APIs from the Taiwan Central Weather Administration:
- 3-Day Forecast: Taiwan Township Weather Forecast - 3-Day Forecast (3-hour intervals)
- 1-Week Forecast: Taiwan Township Weather Forecast - 1-Week Weather Forecast
- Rainfall Data: Automatic Rainfall Station - Rainfall Observation Data
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_stephen9412_roc_cwa_mcp-0.1.1.tar.gz.
File metadata
- Download URL: iflow_mcp_stephen9412_roc_cwa_mcp-0.1.1.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dee241cacc6a41a2f9d04966334f664534f1b3dce8805a4e152e4a767344269c
|
|
| MD5 |
c537f7c52ac7be1c55af7cbb15f56551
|
|
| BLAKE2b-256 |
c7ea663514807540156477ce1ecf3298a758d3157ac282d8ea18a2f116b7fabf
|
File details
Details for the file iflow_mcp_stephen9412_roc_cwa_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_stephen9412_roc_cwa_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bd22f945409e570e893895c616d4e708060ce9c5771c240d84cbaf8922fcade
|
|
| MD5 |
b6e01856bbb063c9650c13282a206b90
|
|
| BLAKE2b-256 |
9086b269b17f3525f58f90f77529da6277cd2c4669aeab8eebffcf34ced8ba41
|