Korea Nationwide Data
Server Details
Nationwide Korea: bus stops in 138 cities, 30-year climate normals, tourism (KR/EN).
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- sean-park-funda/korea-data-mcp
- GitHub Stars
- 0
TDQS
Scored across 6 tools
Most tools target distinct domains (tourism, bus, weather, codes), but korea_tour_search and korea_tour_search_en are essentially the same search in two languages, which could cause misselection without careful reading. The English description clarifies its context, so it is not severely ambiguous.
All tools share the korea_ prefix and use snake_case, making the set feel consistent. However, the later part of the name mixes noun forms (area_codes, bus_cities, weather_normals) with verb forms (tour_search), and the _en suffix is an additional convention.
With only 6 tools, the set is compact and well-scoped for nationwide reference data across tourism, bus, and weather. Each tool serves a clear purpose, and the count is comfortably within the ideal range.
The tool set covers core tourism search (both Korean and English), bus stop lookup, area codes, and climate normals. Obvious minor gaps exist, such as bus route/arrival information or current weather, but the stated domains are reasonably covered for typical data lookup needs.
Available Tools
6 toolskorea_area_codesAInspect
한국관광공사 지역코드 목록. 다른 관광 도구의 areaCode 인자에 쓴다.
| Name | Required | Description | Default |
|---|---|---|---|
| areaCode | No | 주면 해당 지역의 시군구 코드를 반환 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It communicates that this is a read-only list operation and additionally explains the optional filtering behavior ('주면 ... 반환'). It could mention output format or full-list behavior when no parameter is given, but it is still transparent for a simple lookup tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler. The description immediately states what the tool provides and how it should be used, which is ideal for agent consumption.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter code-list tool with no output schema and simple siblings, the description is complete enough. It states the resource, its intended downstream use, and the parameter's conditional behavior. An agent can confidently decide to call this tool to obtain valid areaCode values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the parameter meaning well (100% coverage), so baseline is 3. The description adds value by explaining that the returned codes are intended for use as the areaCode argument in other tourism tools, which helps an agent understand why and how to use the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (한국관광공사 지역코드 목록, Korea Tourism Organization area code list) and its purpose: supplying the areaCode argument to other tourism tools. This distinguishes it from sibling tools like korea_bus_cities and korea_weather_normals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states this tool's output is meant for the areaCode parameter of other tourism tools, giving clear usage context. It does not name specific alternatives or exclusion conditions, but for a simple code-list tool this is sufficient context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
korea_bus_citiesAInspect
시내버스 정보를 제공하는 한국 도시코드 목록.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the tool returns a list of city codes, which implies a read-only operation, but does not describe the response format, whether the list is static, or any limitations. This is a minor gap for such a simple tool, but the description does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately states the purpose. There is no wasted text, and the core function is front-loaded. This is exemplary conciseness for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (no parameters, no output schema), the description is reasonably complete. It tells the agent exactly what the tool provides (a list of city codes) and their context (for bus info). It could mention whether city names are included, but that is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly notes the absence of parameters by having an empty schema, and there is nothing else to document. The description adds no parameter details but does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a list of Korean city codes for city bus information. It specifies the resource (city codes) and their purpose, which distinguishes it from siblings like korea_bus_stops (bus stops) and korea_area_codes (area codes). However, it does not explicitly name these siblings or contrast with them, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to retrieve city codes needed for bus information, but it does not explicitly state when to use it versus alternatives or mention any exclusions. For a simple list tool, this is adequate but lacks explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
korea_bus_stopsAInspect
한국 시내버스 정류소를 도시별로 검색한다(국토교통부 TAGO). 정류소명 일부로 찾고 좌표를 돌려준다.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 정류소명 일부 (예: "시청") | |
| limit | No | 최대 건수 (기본 10) | |
| cityCode | Yes | 도시코드. korea_bus_cities 로 조회 (예: 25=대전, 21=부산) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral trust. It does state that it returns coordinates and uses a specific data source (TAGO), which implies read-only search, but it does not disclose pagination/limit behavior, maximum results, or error cases. For a simple query tool this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, dense sentence placing the verb and resource first, immediately clarifying the search method and return value. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool, it is complete: the workflow (cityCode via korea_bus_cities, partial name, limit) is covered in the schema, and the description names the key return (coordinates). It leaves the exact output list shape unspecified, but the risk is low given the one-required-parameter schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters already have clear schema descriptions (100% coverage). The description adds only that search is by partial stop name and city-scoped, reinforcing rather than extending the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (검색한다), a concrete resource (한국 시내버스 정류소), scope (도시별), search method (정류소명 일부), and expected return (좌표). No ambiguity with sibling tools such as korea_bus_cities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies clear usage context (city-scoped search, partial-name matching) and the schema references korea_bus_cities for cityCode lookup, but there is no explicit when-to-use vs. when-to-avoid guidance or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
korea_tour_searchBInspect
한국관광공사 국문 관광정보에서 관광지·음식점·숙박·축제를 키워드 또는 지역으로 검색한다. 실데이터(주소·좌표·전화·사진)를 반환한다.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 최대 건수 (기본 10, 최대 50) | |
| keyword | No | 검색 키워드 (예: "해운대", "한옥마을"). areaCode 와 함께 쓰거나 단독으로 쓴다 | |
| areaCode | No | 지역코드. 1=서울 6=부산 32=강원 39=제주 등. korea_area_codes 로 조회 | |
| contentTypeId | No | 12=관광지 14=문화시설 15=축제 25=여행코스 28=레포츠 32=숙박 38=쇼핑 39=음식점 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses that real data (address, coordinates, phone, photos) is returned, implying a live data source, which is genuinely useful. But it omits auth needs, rate limits, pagination, error behavior, or confirmation that this is a read-only call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short Korean sentences with zero filler. Purpose is front-loaded and return data is stated second. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity search tool with no output schema, it usefully states what data comes back. However, with no annotations the behavioral profile (pagination, limits, live-call latency) is missing, and it could better connect to the area-code lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3 applies. The description adds minor value by mapping 'keyword or region' to the keyword/areaCode search modes and enumerating content types, but it doesn't add syntax or format detail beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: searching KTO (한국관광공사) tourism info by keyword or region, listing content types (관광지·음식점·숙박·축제). The '국문' qualifier explicitly separates it from korea_tour_search_en. Clear purpose though it doesn't name its sibling counterparts directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to guidance. The description never mentions alternatives like korea_tour_search_en for English content, korea_area_codes for code lookup, or korea_bus_cities/stops for transit. Usage context must be inferred entirely from the sibling list and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
korea_tour_search_enAInspect
Search Korean tourist attractions, restaurants and accommodations in ENGLISH (Korea Tourism Organization official English dataset). Use this when the user is not Korean-speaking or wants English place names.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 10, max 50) | |
| keyword | No | Search keyword in English (e.g. "Gyeongbokgung", "beach") | |
| areaCode | No | Area code. 1=Seoul 6=Busan 32=Gangwon 39=Jeju |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry behavioral context. It discloses that this is the official English KTO dataset and that results are in English, which is useful. However, it does not mention pagination, result limits, or whether the operation is strictly read-only, though 'Search' implies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two efficient sentences with the key scoping constraint (English dataset) front-loaded)Skip. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with well-documented parameters, the description provides enough context: what is searched, in which language, and when to choose it. It lacks explicit mention of the Korean alternative but otherwise is complete for an agent to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already explained. The description reinforces the English-language aspect but doesn't add parameter-specific meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Search'), a concrete resource ('Korean tourist attractions, restaurants and accommodations'), and the English-language dataset. This makes it easy to distinguish from its sibling tool, korea_tour_search, which likely serves the Korean-language counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use this tool: 'when the user is not Korean-speaking or wants English place names.' It does not explicitly name the alternative korea_tour_search or state when not to use this tool, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
korea_weather_normalsAInspect
한국 기상 평년값(1991~2020, 30년) — 지점별 월평균기온·월평균최고·월평균최저. "그 지역 10월이 보통 몇 도인가" 같은 질문에 쓴다. 예보가 아니라 평년 통계다.
| Name | Required | Description | Default |
|---|---|---|---|
| month | No | 1~12. 주면 그 달만, 없으면 12개월 전부 | |
| stationId | Yes | 기상청 지점번호. 108=서울 159=부산 143=대구 156=광주 133=대전 184=제주 105=강릉 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral disclosure. It conveys that the tool returns statistical normals rather than real-time forecast data, which is a meaningful behavioral trait. However, it does not describe the output format, error behavior, or any side effects (though it is clearly a read-only query). The disclosure is minimal but adequate for a simple statistical lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact two-part sentence that front-loads the core information (period, data types, scope) and then adds the use-case clarification. Every sentence earns its place with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple statistical query tool with no output schema, the description adequately explains the data source (30-year normals), the fields returned, and the intended use case. It omits explicit return format details, but given the low complexity and clear data scope, the description is sufficiently complete for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers both parameters with descriptions (stationId examples, month range and optionality). The description does not add any new semantic detail about the parameters beyond what the schema provides, so the baseline of 3 is appropriate given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb (provides) and resource (Korean climate normals 1991–2020), enumerates the exact data fields (monthly mean/max/min temperatures) and scope (by station). It also distinguishes itself from weather forecasts, making its purpose unambiguous and distinct from sibling tools that handle other domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit usage example ("What is October usually like in that region?") and an explicit exclusion: "It's not a forecast, it's normal statistics." This tells the agent when to invoke this tool and when not to, even though it does not name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
korea_area_codes - First observed
korea_bus_cities - First observed
korea_bus_stops - First observed
korea_tour_search - First observed
korea_tour_search_en - First observed
korea_weather_normals
Related MCP Connectors
Korean lodging: 84,490 stays from 4 government permit ledgers + KTO TourAPI, honest gaps
Who qualifies for 10,956 Korean government benefits (보조금24). Plus public data and weather.
Seoul Open Data MCP — city data for Seoul via the Seoul Open Data Plaza API
Japan: next bus/tram/boat from 26 places, RTK bases, JMA warnings, municipality facts. No key.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenance22,000+ public facility data for foreign tourists in Seoul — restrooms, pharmacies, WiFi, AEDs, tourist info centers, and subway timetables. Bilingual (Korean/English).-
- AlicenseNot gradedqualityAmaintenanceProvides structured data on public facilities in Busan, South Korea for AI agents assisting foreign tourists, including AEDs, pharmacies, tourist info, restrooms, WiFi, and subway timetables.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI to query real-time Korean public data including weather, real estate prices, air quality, economic indicators, and business registration via natural language.1MIT
- AlicenseAqualityBmaintenanceProvides real-time Seoul city data including population congestion, traffic, parking, transit, bikes, EV chargers, weather, events, commercial, accidents, alerts, and news across 121 locations using Seoul Open Data API.310 npm3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.