Korean Public Data
Server Details
Korean government open data - weather, population, law search via data.go.kr
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- SongT-50/korean-public-data-mcp
- GitHub Stars
- 1
- Server Listing
- korean-public-data-mcp
Available Tools
6 toolscheck_business_registrationAInspect
사업자등록번호로 사업 상태를 조회합니다.
Args:
business_numbers: 사업자등록번호 리스트 (예: ["1234567890", "0987654321"]). 하이픈 없이 10자리 숫자. 최대 100개.
Returns:
각 사업자의 등록 상태 (계속사업자, 휴업자, 폐업자 등)
| Name | Required | Description | Default |
|---|---|---|---|
| business_numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It communicates this is a read-style lookup ('조회합니다' — queries), defines input limits (maximum 100), and enumerates expected statuses (계속사업자, 휴업자, 폐업자 등). It does not mention error handling or network dependencies, but for a simple query tool the behavioral disclosure is adequate and non-misleading.
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 compact, front-loaded with the core purpose, and then organized clearly into Args and Returns sections. Every line adds value: input format, example, limit, and expected output statuses. No redundant or vague wording is present.
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-parameter lookup tool, the description covers everything needed to invoke it correctly: the meaning of the parameter, its format constraints, the batch limit, and the kind of result returned. Since an output schema reportedly exists, the description appropriately does not need to detail the full return structure.
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 provides no description coverage for business_numbers, but the description fully compensates: it identifies the parameter, gives a concrete example, requires 10-digit numeric strings without hyphens, and sets a maximum of 100 items. This is exactly the kind of semantic detail an agent needs beyond the raw array-of-strings 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 states a specific action and resource: '사업자등록번호로 사업 상태를 조회합니다' (queries business status by business registration number). This clearly distinguishes it from sibling tools like get_air_quality or get_weather_forecast, which cover entirely different 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?
The description makes the use case obvious: when a caller has a Korean business registration number and wants to know the business status. It also gives concrete input constraints (10 digits, no hyphens, max 100 numbers), giving clear context. It does not explicitly name alternatives, but the sibling tools are unrelated, so no exclusion is necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_air_qualityAInspect
실시간 대기질(미세먼지, 초미세먼지, 오존 등)을 조회합니다.
Args:
location: 지역명 (예: "서울", "강남", "부산", "제주"). 15개 주요 지역 지원.
Returns:
PM10, PM2.5, 오존, 이산화질소, 일산화탄소, 아황산가스 수치와 등급
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses real-time behavior, location limitations, and the returned pollutant types/grades. It does not mention units, possible errors for unsupported locations, or data update cadence, but it covers the core behavioral contract.
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 compact, front-loaded with the main purpose, and uses clean Args/Returns sections. Every sentence earns its place with no redundant 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 single-parameter read-only lookup, the description provides enough to call the tool successfully for typical inputs. It could be improved by listing the 15 supported regions or pointing to list_supported_options, but the examples and return summary make it largely sufficient.
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 defines location only as a string with no documentation, so the description provides meaningful additional guidance: location type, examples like 서울/강남/부산/제주, and a 15-region support limit. It stops short of listing the exact supported regions, which would be more complete.
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 fetches real-time air quality data and enumerates specific pollutants (미세먼지, 초미세먼지, 오존 등). It names a distinct resource and is easily distinguished from siblings like get_weather_forecast or get_economic_stats.
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 gives practical location examples and notes that 15 major regions are supported, which implies usage context. However, it does not explicitly say when to prefer this tool over alternatives or how to confirm whether a particular location is supported.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_economic_statsAInspect
한국은행 경제통계를 조회합니다.
Args:
indicator: 경제지표명. 지원 항목: 기준금리, 소비자물가지수, 실업률, GDP성장률, 수출액, 수입액, 원달러환율, 코스피
period: 조회기간. "latest"(최근 12개월), "2025"(특정연도), "202501-202602"(기간지정)
Returns:
해당 경제지표의 시계열 데이터
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | latest | |
| indicator | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It conveys a read-only inquiry via '조회' and states the return shape as time-series data, but it does not discuss data latency, possible gaps in coverage, or error/edge-case behavior. Useful but not fully transparent.
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 compact and well-organized: a one-line purpose followed by Args and Returns sections. Every part adds relevant information, with 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 low-complexity, two-parameter read-only tool with an output schema, the description covers purpose, all parameter semantics, and the return type. Minor gaps remain around data units/frequency and potential error behavior, but these are not critical given the output schema and simple API.
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 0%, but the description fully compensates: indicator lists all supported values, and period gives explicit format examples including 'latest', '2025', and '202501-202602'. This adds substantial meaning beyond the bare schema properties.
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 states a specific verb and resource: querying Bank of Korea economic statistics. It further enumerates supported indicators, and those indicators clearly distinguish this tool from its unrelated siblings (weather, air quality, real estate, business registration).
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?
Usage is implied by the description: use this tool when Bank of Korea economic indicators are needed and the supported indicator list signals applicability. However, there is no explicit guidance about when to prefer this tool over alternatives, and sibling list_supported_options is not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_real_estate_tradesAInspect
아파트 실거래가를 조회합니다.
Args:
district: 지역구 이름 (예: "강남구", "서초구", "성남시분당구"). 서울 25개구 + 주요 경기/광역시 지원.
year_month: 조회할 연월 (예: "202602"). YYYYMM 형식.
Returns:
해당 지역/기간의 아파트 실거래 내역 (단지명, 면적, 가격, 층, 거래일)
| Name | Required | Description | Default |
|---|---|---|---|
| district | Yes | ||
| year_month | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly explains the return payload (complex name, area, price, floor, transaction date) and the supported region scope (Seoul 25 districts + major Gyeonggi/metro). While it doesn't mention rate limits or error handling, for a read-only query tool the disclosure is adequate.
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 clean docstring with Args and Returns sections. The purpose is the first sentence, and every sentence serves a purpose — no redundancy. It's compact and well-structured.
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 two-parameter query tool with an output schema, the description covers both parameters, the supported scope, and the return fields. Siblings are unrelated, so no routing confusion. Nothing essential is missing.
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 0%, so the description must fully compensate. It does: 'district' gets concrete examples (강남구, 서초구) and the supported region list, and 'year_month' gets a format example (202602) and the YYYYMM rule. This adds substantial meaning beyond the bare 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 it queries apartment actual transaction prices (아파트 실거래가). It uses a specific verb (조회) and resource, and the example districts distinguish it from all siblings, which cover unrelated domains like business registration, air quality, and weather.
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 provides clear context on what inputs are needed (district and year_month) with format examples, and it's obvious from the sibling names that this is the only real-estate tool. It does not explicitly list when not to use it or alternatives, but that's unnecessary given the distinct domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weather_forecastAInspect
도시별 단기 날씨 예보를 조회합니다.
Args:
city: 도시 이름 (예: "서울", "부산", "제주", "수원"). 25개 주요 도시 지원.
hours_ahead: 앞으로 몇 시간 예보를 볼지 (기본 24시간, 최대 72시간)
Returns:
시간대별 기온, 강수확률, 하늘상태 등 날씨 정보
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | ||
| hours_ahead | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that this is a read-only query ('조회합니다'), supports 25 major cities, limits forecast range to 72 hours, and describes the return contents. It does not cover edge-case behavior such as unsupported city handling or units, but it is reasonably transparent for a simple forecast 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?
The description is compact and well-organized. The purpose is stated up front, and the Args/Returns format makes parameter semantics easy to scan. No unnecessary elaboration or repetition.
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 an output schema exists, the description does not need to fully restate return details. It covers required input semantics, supported cities, and limits. A slight gap is that the full list of 25 supported cities is not provided, but the examples and sibling 'list_supported_options' make this manageable.
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 0%, so the description must explain the parameters itself. It does so well: 'city' gets example values and supported-city scope, and 'hours_ahead' gets a default of 24 and an explicit maximum of 72. This adds real 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 identifies the resource (short-term weather forecast), the action (lookup/query), and the scope (city-based). It is specific enough to distinguish from siblings like get_air_quality and get_real_estate_trades.
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 makes its intended use clear: retrieving short-term weather forecasts for supported Korean cities. It does not explicitly mention alternatives or when not to use it, but the sibling tools are distinct enough that the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_supported_optionsAInspect
이 MCP 서버에서 지원하는 도시, 지역, 경제지표 목록을 확인합니다.
Returns:
각 도구별 지원 옵션 목록
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says it returns a list of supported options; it does not mention that it is a read-only operation with no side effects, nor does it disclose any authentication requirements or potential delays. The minimal description leaves important behavioral traits unaddressed.
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 extremely concise: two sentences that front-load the purpose with no superfluous words. Every sentence contributes to understanding what the tool does and what it returns.
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 metadata tool with no parameters and an output schema present, the description is minimally adequate. However, it lacks explicit context that this tool provides valid options for other tools (e.g., for use as parameter values), which would make it more actionable. It does not describe the return format or structure beyond a generic list.
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 adds nothing about parameters (there are none), and the schema is empty with 100% coverage. The description does not need to explain parameters, so the baseline is appropriate.
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's purpose: to check the list of cities, regions, and economic indicators supported by the MCP server. It identifies a specific resource (supported options) and a clear verb (check), and it distinguishes itself from data-fetching siblings by being a metadata/discovery tool.
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?
Usage is implied rather than explicit. The description does not state when to use this tool versus the data tools, nor does it mention that it should be consulted to obtain valid parameter values for sibling tools. There is no direct guidance, but the context of sibling names suggests it's a discovery helper.
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. Dates show when Glama detected each change.
6 tool updates
- First observed
check_business_registration - First observed
get_air_quality - First observed
get_economic_stats - First observed
get_real_estate_trades - First observed
get_weather_forecast - First observed
list_supported_options
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Find official Korean public datasets, agency-site menus, disclosure listings, and source URLs.
Access Korea’s G2B procurement and Nara Market data for bid notices, awards, contracts, statistics…
Korean business registry, corporate info, parcel tracking, validation APIs
Cloudflare Workers MCP server: govdata-korea
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceKorean public data API gateway that enables searching, inspecting, and calling 80,000+ data.go.kr APIs (weather, real estate, air quality, etc.) via natural language.MIT- AlicenseNot gradedqualityDmaintenanceEnables access to Korean public data services through OpenAPI integration. Supports querying government datasets like parking information in Sejong City through natural language interactions.MIT
- AlicenseNot gradedqualityDmaintenanceEnables exploration and interaction with South Korea's Public Data Portal (OpenAPI) through keyword search, standard documentation retrieval, and direct API endpoint calls with automatic service key injection.11Apache 2.0
- FlicenseAqualityBmaintenanceEnables searching and retrieving Korean government documents (press releases, policies, laws, statistics, etc.) from about 50 central administrative agencies through natural language interactions with AI assistants like Claude and ChatGPT.112-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool addresses a completely distinct domain—business, air quality, economics, real estate, weather, and a meta option list—with no overlap. An agent can easily select the correct tool based on the resource type.
All tool names follow a consistent verb_noun snake_case pattern: check_, get_, and list_. The prefix verbs differ slightly (check vs. get) but are uniformly used and clearly indicate action-resource pairs.
Six tools is well-scoped for a Korean public data server, covering several major data categories without bloat. Each tool earns its place, and the helper tool for supported options adds value without redundancy.
The server covers common high-interest Korean public datasets (business, air, economy, real estate, weather) and includes an options discovery tool. Some areas like population, transportation, or public holidays are absent, but core read-only data needs are well served.