korea-opendata-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ECOS_API_KEY | No | 한국은행 ECOS Open API 인증키. 환율, 기준금리, 경제지표 조회에 사용됩니다. | |
| SEOUL_OPENAPI_KEY | No | 서울 열린데이터광장 실시간 지하철 인증키. 지하철 도착 정보 조회에 사용됩니다. | |
| DATA_GO_KR_SERVICE_KEY | No | 공공데이터포털 일반 인증키 (Decoding 또는 Encoding). 기상청, 에어코리아, 특일 정보, 관광공사 API에 사용됩니다. | |
| KOREA_OPENDATA_ENV_FILE | No | .env 파일 경로를 지정하는 환경변수. API 키를 파일에서 로드할 때 사용합니다. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
한국 공공 API 모음입니다: 기상청 날씨, 에어코리아 미세먼지, 공휴일, 한국관광공사 관광·축제(공공데이터포털), 한국은행 환율·기준금리·주요 경제지표(ECOS), 서울 지하철 실시간 도착(서울 열린데이터광장). 서비스마다 API 키가 따로이며, 일부만 설정돼 있을 수 있습니다. [CONFIG_ERROR]/[AUTH_ERROR] 가 나오면 추측하지 말고 get_service_status 로 키 상태를 확인해 사용자에게 설정을 안내하세요. [UPSTREAM_ERROR] 는 서버 장애이지 대상이 없다는 뜻이 아닙니다. 날짜는 YYYYMMDD 또는 YYYY-MM-DD, 위치는 도시명(서울, 강릉) 또는 '위도,경도'로 넣습니다.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_weather_nowA | 현재 날씨(초단기실황: 기온, 습도, 강수, 바람)를 조회합니다. 기상청 실측 자료입니다. |
| get_weather_forecastA | 단기예보(최대 3일)를 날짜별 최저/최고기온, 강수확률, 하늘상태로 요약합니다. |
| get_air_qualityA | 미세먼지(PM10·PM2.5)와 대기질을 시도별 실시간 측정값으로 조회합니다. 시도 평균과 등급을 함께 돌려줍니다. |
| get_holidaysA | 공휴일·대체공휴일, 기념일, 24절기 날짜를 조회합니다. |
| search_tour_spotsB | 키워드로 관광지·음식점·숙박·문화시설 등을 검색합니다 (주소, 전화, 좌표, 대표 이미지). |
| search_festivalsA | 기간으로 전국 축제·공연·행사를 검색합니다. |
| get_exchange_rate_historyA | 한국은행 매매기준율(원화 환율) 일별 시계열을 조회합니다. 영업일 기준이라 주말·공휴일은 빠집니다. |
| get_base_rateA | 한국은행 기준금리의 월별 추이와 변경 시점을 조회합니다. |
| get_key_statisticsA | 한국은행 100대 통계지표(최신값)를 조회합니다. 환율·금리·물가·GDP·고용 등 주요 경제지표를 한 번에 볼 수 있습니다. |
| search_ecos_statisticB | ECOS 통계표를 코드로 직접 조회합니다 (고급). 통계표·항목 코드는 ECOS 개발 가이드에서 확인합니다. |
| get_subway_arrivalB | 서울 지하철역의 실시간 열차 도착 정보를 조회합니다 (호선, 방면, 도착 예정, 현재 위치). |
| get_service_statusA | 어떤 서비스의 API 키가 설정됐는지(값은 숨김)와 서비스별 사용 가능한 도구를 보여줍니다. 도구가 키 오류를 낼 때 먼저 확인하세요. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
The weather pair (now vs. 3-day forecast) and the tourism pair (spots vs. festivals) are cleanly separated, and get_service_status is clearly a diagnostic meta-tool. However, four tools sit in an overlapping Bank of Korea cluster: get_base_rate, get_exchange_rate_history, get_key_statistics, and search_ecos_statistic can all surface rate/inflation/exchange-rate data, so an agent asking for 'interest rates' or 'exchange rate' has several plausible entry points (descriptions mitigate this somewhat but the boundary between the convenience tools and the raw ECOS lookup is blurry).
Every tool follows a strict snake_case verb_noun pattern: get_* for single-resource retrieval (get_base_rate, get_weather_now, get_holidays, get_subway_arrival) and search_* for query tools (search_tour_spots, search_festivals, search_ecos_statistic). No camelCase or mixed verb styles anywhere, so the action type is predictable from the name alone.
12 tools is squarely in the well-scoped range and each maps to a distinct public-data domain (weather, air quality, calendar, tourism, festivals, BOK economics, subway). Nothing feels padded: even the meta get_service_status tool earns its place as a first-stop diagnostic.
Coverage across Korean public data is broad and mostly closed-loop: current + forecast weather, air quality, holidays, tourism/festival search, economic series, and real-time subway. Minor gaps remain — no location/region-based filtering for tourism or weather, no bus or non-Seoul transit, and no detail endpoint for a specific tour spot or festival beyond search results — but agents can work around these.