Skip to main content
Glama
hlucent

weather-forecast-mcp

by hlucent

weather-forecast-mcp

Provides the Korea Meteorological Administration's short-term forecast inquiry service (VilageFcstInfoService_2.0) as an MCP (Model Context Protocol) server. All four operations — ultra-short-term observation, ultra-short-term forecast, short-term forecast, and forecast version — can be queried by region name or by grid coordinates (nx, ny).

Dataset Registry

Dataset display name

Provider

Included in this MCP

Service name (SERVICE)

Korea Meteorological Administration Short-Term Forecast Service (2.0)

Korea Meteorological Administration

Yes

VilageFcstInfoService_2.0

This MCP consists of a single API (four operations) and does not integrate additional datasets.

Provided Tools

Tool name

Operation

Description

get_ultra_srt_ncst

getUltraSrtNcst (retrieve ultra-short-term current observation)

Current conditions (observed values) at the current time

get_ultra_srt_fcst

getUltraSrtFcst (retrieve ultra-short-term forecast)

Short-term forecast within 6 hours

get_vilage_fcst

getVilageFcst (retrieve short-term forecast)

Forecast up to 5 days

get_fcst_version

getFcstVersion (retrieve forecast version)

Check the latest forecast file version

Installation and Deployment

pip install -r requirements.txt
cp .env.example .env  # WEATHER_FORECAST_SERVICE_KEY 값 입력
python server.py

fly.io deployment:

fly launch --no-deploy
fly secrets set WEATHER_FORECAST_SERVICE_KEY=발급받은키
flyctl deploy

Environment Variables

Variable name

Description

WEATHER_FORECAST_SERVICE_KEY

Authentication key issued from the Public Data Portal (use the Decoding key)

Specifying a Region

Enter either area_name (e.g., "서울 중구", "종로구 청운효자동") or nx/ny grid coordinates. When area_name is used, the built-in grid mapping table (3,838 administrative districts) automatically matches in the order of level 3 (eup/myeon/dong) → level 2 (si/gun/gu) → level 1 (si/do).

Rate Limit

Because this is a public server, the following three-tier limit applies:

  • More than 3 requests per minute → 429

  • 5 violations within 1 hour → 24-hour block

  • More than 30 requests per day → 429

The fact that the rate limit counter can be separate per machine in the fly.io multi-machine (2 instances) environment is an accepted, known trade-off (availability first).

Verified During Actual Use

  • get_vilage_fcst sets numOfRows to a default of 1000 (confirmed against actual responses with totalCount of 742~944 records; truncation occurs if 10 remains the default).

  • dataType=JSON error responses really do come back in JSON format (confirmed that an invalid nx/ny request returns a normal JSON resultCode: "10" response). As a safety net, a regex fallback for XML <resultCode>/<resultMsg> is also implemented.

  • If an invalid base_time is specified for get_vilage_fcst (e.g., 03:00), a resultCode: "03" (NO_DATA) error is returned, not an empty response.

  • Confirmed via actual measurement that short-term forecasts after +4 days (extended period) return PCP/SNO/WSD as qualitative codes (1 = slight, 2 = moderate, 3 = heavy). The server applies this code table whenever fcstDate is at least +4 days after baseDate and marks the response by setting is_extended_period: true.

  • get_fcst_version operates normally when basedatetime is provided in the same YYYYMMDDHHmm format as base_time (verified based on ftype=SHRT).

License

MIT

References

  • Original API specification: Korea Meteorological Administration, "Open API Usage Guide for the Short-Term Forecast Inquiry Service (2.0)"

  • Grid–latitude/longitude mapping table: Excel material provided by the Korea Meteorological Administration (as of July 2026, 3,838 administrative districts)

  • Only the South Korean area is supported (North Korea and overseas regions are not provided).

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)

  • NOAA and ECMWF weather forecast MCP for discovery, validation, and GribStream OAuth queries.

  • WeatherAPI.com MCP — wraps WeatherAPI.com (api.weatherapi.com)

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hlucent/weather-forecast-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server