weather-forecast-mcp
Enables querying South Korean meteorological observation data and short-term forecasts by region name or grid coordinates via the MCP protocol.
README
weather-forecast-mcp
기상청 단기예보 조회서비스(VilageFcstInfoService_2.0)를 MCP(Model Context Protocol) 서버로 제공합니다. 초단기실황, 초단기예보, 단기예보, 예보버전 4개 오퍼레이션을 지역명 또는 격자 좌표(nx, ny)로 조회할 수 있습니다.
Dataset Registry
| 화면 표시명 | 제공부서 | 이 MCP 포함 여부 | 서비스명(SERVICE) |
|---|---|---|---|
| 기상청 단기예보 조회서비스(2.0) | 기상청 | 포함 | VilageFcstInfoService_2.0 |
이 MCP는 단일 API(오퍼레이션 4종)로 구성되며, 별도 데이터셋 통합은 없습니다.
제공 툴
| 툴 이름 | 오퍼레이션 | 설명 |
|---|---|---|
get_ultra_srt_ncst |
getUltraSrtNcst (초단기실황조회) | 현재 시각 기준 실황(관측값) |
get_ultra_srt_fcst |
getUltraSrtFcst (초단기예보조회) | 6시간 이내 단기 예보 |
get_vilage_fcst |
getVilageFcst (단기예보조회) | 최대 5일 예보 |
get_fcst_version |
getFcstVersion (예보버전조회) | 예보 파일 최신 버전 확인 |
설치 및 배포
pip install -r requirements.txt
cp .env.example .env # WEATHER_FORECAST_SERVICE_KEY 값 입력
python server.py
fly.io 배포:
fly launch --no-deploy
fly secrets set WEATHER_FORECAST_SERVICE_KEY=발급받은키
flyctl deploy
환경변수
| 변수명 | 설명 |
|---|---|
WEATHER_FORECAST_SERVICE_KEY |
공공데이터포털에서 발급받은 인증키(Decoding 키 사용) |
지역 지정 방식
area_name(예: "서울 중구", "종로구 청운효자동") 또는 nx/ny 격자 좌표 중 하나를 입력합니다.
area_name 사용 시 내장된 격자 매핑표(3,838개 행정구역)에서 3단계(읍면동) → 2단계(시군구) →
1단계(시도) 순으로 자동 매칭합니다.
Rate Limit
공개 서버 특성상 아래 3단계 제한이 적용됩니다:
- 분당 3회 초과 → 429
- 1시간 내 5회 위반 → 24시간 차단
- 일일 30회 초과 → 429
fly.io 멀티머신(2대) 환경에서 rate limit 카운터가 머신별로 분리될 수 있는 점은 알려진 트레이드오프로 허용합니다(가용성 우선).
실측 확인 사항
get_vilage_fcst의numOfRows기본값은 1000으로 설정(예제 응답 totalCount 742~944건 실측 확인, 기본값 10이면 잘림)dataType=JSON에러 응답은 실제로 JSON 형식으로 옴(잘못된 nx/ny 요청 시resultCode: "10"JSON 정상 수신 확인). 단, 만약을 대비해 XML<resultCode>/<resultMsg>정규식 폴백도 구현됨get_vilage_fcst에 유효하지 않은 base_time(예: 03시)을 지정하면resultCode: "03"(NO_DATA) 에러가 반환됨(빈 응답이 아닌 명시적 에러)- 단기예보 +4일 이후(연장기간) PCP/SNO/WSD는 정성정보 코드(1=적음/2=보통/3=많음)로 옴을
실측 확인. 서버는
baseDate대비fcstDate가 +4일 이상이면 이 코드표를 적용하고 응답에is_extended_period: true를 표시함 get_fcst_version은basedatetime을base_time과 동일한YYYYMMDDHHmm형식으로 주면 정상 동작 확인(ftype=SHRT 기준)
라이선스
MIT
참고
- 원본 API 명세: 기상청 「단기예보 조회서비스(2.0) Open API 활용가이드」
- 격자-위경도 매핑표: 기상청 제공 엑셀 자료(2026년 7월 기준, 3,838개 행정구역)
- 남한 지역만 제공(북한·국외 미제공)
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.