datagokr — 공공데이터포털 검색을 더 쉽게 (find data.go.kr datasets easily)
Server Details
data.go.kr 10.9만 데이터셋을 말로 검색·미리보기(키 불필요). 활용신청·다운로드는 내 계정·키로(데스크탑 확장).
- Status
- Healthy
- Uptime
- 99.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- datagokr-dev/datagokr
- GitHub Stars
- 0
- Server Listing
- datagokr
TDQS
Scored across 6 tools
Tools mostly have distinct purposes, but fields overlaps with search (fields is a special case of search with an empty query), and record overlaps with show (raw metadata vs. schema/access methods). Descriptions clarify when to use which, so ambiguity is minor.
Mixed conventions: download_url and get_preview follow verb_noun, search and show are bare verbs, and fields and record are nouns. All are snake_case and readable, but there is no consistent pattern.
Six tools are well-scoped for a dataset search and inspection server. Each tool covers a distinct phase: topic search, column-only search, schema inspection, data preview, download instructions, and raw metadata for local clients.
The surface covers search, schema inspection, preview, and download instructions, which are the core needs. Minor gaps exist (e.g., no dedicated organization-only search despite an org filter), but bulk data retrieval is intentionally out of scope.
Available Tools
6 toolsdownload_url다운로드 방법 (How to download)BRead-onlyIdempotentInspect
[공공데이터포털 검색 (datagokr)] 전체 데이터를 사용자 컴퓨터로 받는 방법을 알려줍니다. 서버가 파일을 대신 저장하진 않고 주소·요청값·절차를 돌려줍니다. Get client-side download instructions (URL, params, steps). The server never stores files. 반환: access_kind, url 또는 post_url/get_url, params, version_keys(파일 버전), message(절차), page_url. 예: '15028200 전체 JSON 받는 법', '15000001 원본 파일 다운로드 주소'
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: the server does not store files and only returns a URL, request values, and a procedure, plus an enumeration of what is returned (access_kind, url/post_url/get_url, params, version_keys, message, page_url).
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 content is front-loaded and the '반환:' field list is useful, but the definition is bilingual with direct Korean/English duplication, so roughly half the text is redundant restatement. Every sentence would need trimming or consolidating to earn a 4-5.
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 tool with an output schema, the description is nearly complete: it covers purpose, the key non-storage behavior, and the return shape. The only meaningful omission is the semantics/format of dataset_id.
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?
There is one parameter, dataset_id, with 0% schema description coverage and no enum. The description never explains what dataset_id is or its expected format; only the examples ('15028200', '15000001') loosely imply it is a numeric dataset identifier. This is a clear gap for the single required input.
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 and resource ('Get client-side download instructions (URL, params, steps)') and adds a valuable negative constraint ('The server never stores files'), which clarifies it is not a file-transfer tool. It does not name or differentiate from the siblings (fields, get_preview, record, search, show), so the routing value is slightly reduced.
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 context via examples ('15028200 전체 JSON 받는 법', '15000001 원본 파일 다운로드 주소'), which show the kind of question this answers. However, it never states when to prefer this over get_preview or search, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fields컬럼으로 찾기 (Find by columns)ARead-onlyIdempotentInspect
[공공데이터포털 검색 (datagokr)] 주제 없이 컬럼만 조건일 때(query는 빈 문자열로 고정됨). 주제가 있으면 search(query, fields=...)를 쓰세요. Find datasets with ALL given columns and no topic; for a topic use search(query, fields=...). names에 적은 컬럼을 전부 가진 데이터셋만 나옵니다(필드명 역색인). dtype/org로 좁힐 수 있고 n은 최대 20. 반환: id, title, org_nm, dtype, access_kind, page_url, rank, matched_fields(일치한 컬럼), last_probe_ok.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| org | No | ||
| dtype | No | ||
| group | No | ||
| names | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), and the description adds real behavior: AND semantics across all listed columns, reverse-index matching, dtype/org narrowing, and n capped at 20. It does not explain what 'group' does or what happens for zero matches, so it is strong rather than complete.
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?
Content is dense and front-loaded, with the routing rule first and details second. The Korean/English duplication doubles the length, but each version is tight and every sentence carries information.
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 read-only search tool with an output schema (so return values need not be re-explained), the definition covers the filtering semantics, the query constraint, and the result cap. The unexplained 'group' parameter is the one remaining gap.
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 carry the load. It explains names (all columns required), dtype/org narrowing, and n's maximum of 20, which is genuine added meaning — but the 'group' boolean parameter is never mentioned, leaving one of five parameters undocumented anywhere.
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+resource ('Find datasets with ALL given columns') and immediately contrasts itself with the sibling search tool. It also names the distinguishing constraint (no topic, query fixed to empty string), so an agent can tell it apart from search without opening either schema.
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?
Explicit when-to-use ('no topic', query pinned to empty string) and an explicit alternative ('for a topic use search(query, fields=...)'). Routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_preview첫 행 미리보기 (Preview rows)BRead-onlyIdempotentInspect
[공공데이터포털 검색 (datagokr)] 실제 첫 행 보기. STD_FILE·PORTAL_FILE(첨부 있으면)은 키 없이 첫 행을 줍니다. PORTAL_FILE 첨부 미리보기 실패 시 API 대체 조회에 본인 X-DataGoKr-Key가 필요할 수 있음(키는 반환·저장 안 함). 서울·경기의 확인된 공개 경로는 키 없이 최대5행. 그 밖의 OPEN_API→request_templates, LINK→url, STD 하위행→parent_id. Preview standard data and portal attachments without a key. API fallback may require the caller's X-DataGoKr-Key. Keys are never returned or stored. API/link/subset responses give access guidance. 반환: ok(true=처리됨, false=포털이 지금 응답 안 함→잠시 후 재시도), data{columns, rows}(rows는 columns 순서의 값 배열, 최대 50컬럼·20행), total, truncated, source_note, 또는 안내 필드(url/parent_id/request_templates/message/page_url/access_guide). 지역 API가 확인되면 service_name/request_format도 반환. data가 있으면 실제 행을 받은 것. ok=false: retry later. data means actual rows, as value arrays in columns order (up to 50 columns/20 rows).
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| dataset_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover read-only/idempotent/open-world; the description goes well beyond by disclosing auth behavior (caller's own X-DataGoKr-Key may be needed, keys are never returned or stored), failure semantics (ok=false means retry later), and hard limits (max 50 columns/20 rows; Seoul/Gyeonggi public paths max 5 rows without a key). This is exactly the behavioral context annotations cannot carry.
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?
Purpose is front-loaded, but the entry is bloated: every statement is repeated in Korean and English, and a long enumeration of return fields (columns, rows, total, truncated, source_note, page_url, access_guide) duplicates the output schema that already exists. Significant 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?
Behaviorally rich for a complex multi-source preview tool, but it over-invests in return-value narration that the output schema already supplies while leaving both input parameters undocumented. Coverage is uneven rather than incomplete.
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 carries the full burden, yet it never explains `dataset_id` or the `n` row-count parameter by name. Row limits are mentioned incidentally (5/20 rows) but the link to `n` is never made explicit.
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: view the actual first rows of a public-data-portal dataset, split by STD_FILE/PORTAL_FILE types. Clear enough to distinguish from a full download or field listing, though it never names its siblings (download_url, fields, record, search, show) to sharpen the boundary.
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?
Gives conditional routing hints ('OPEN_API→request_templates, LINK→url, STD 하위행→parent_id') and notes the key requirement for API fallback, which is useful. But it never says when to prefer get_preview over record/show/search, so the when-to-use guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record원본 메타데이터 (Raw metadata)ARead-onlyIdempotentInspect
[공공데이터포털 검색 (datagokr)] (로컬 datagokr 패키지 전용) 조회·신청·다운로드에 필요한 원본 메타데이터를 돌려줍니다. 일반 사용에서는 show를 쓰세요.
Allowlisted raw metadata for the local datagokr client; prefer show for normal use.
반환: id/title/list_title/org_nm, dtype/access_kind, page_url/external_url, parent_id, versions/version_keys,
examples(요청 템플릿), std_meta, api_sample. 내부 상태는 제외하고, 서버에서 신청하거나 저장하지 않습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, closed-world behavior. The description adds valuable context: it is allowlisted raw metadata for the local datagokr client, excludes internal state, and does not apply or store anything on the server. It stops short of error handling or rate-limit details, but the added disclosure is meaningful.
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 front-loaded, starting with what the tool does, then the alternative, then return fields and constraints. It is bilingual but not wasteful, and every section adds information, though listing return fields is somewhat redundant given the output schema exists.
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?
Covers purpose, usage, return fields, and non-mutation constraints, which is adequate for a simple read-only tool with an output schema. However, the required `dataset_id` parameter is completely undocumented, which is a significant gap for correct invocation.
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 single required parameter `dataset_id` has zero description coverage in the schema, and the description never explains what the ID is, how to obtain it, or its expected format. The description fails to compensate for the schema gap, leaving the agent without semantic guidance for the only input.
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 ('returns') and resource ('raw metadata'), defines the scope ('lookup, application, download'), and differentiates from sibling 'show' by naming it as the normal-use alternative. An agent can immediately tell what the tool does and when another tool is preferred.
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?
Explicitly directs normal use to the `show` sibling and implies `record` is for raw metadata needs. This is a clear when-to-use/when-not-to-use rule with a named alternative, leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search공공데이터 검색 (Search datasets)ARead-onlyIdempotentInspect
[공공데이터포털 검색 (datagokr)] 주제로 공공데이터를 찾습니다. "전국 주차장", "재난문자 API", "서울 병원 위치"처럼 뭘 찾는지 한 줄로 주세요. Search Korean public datasets by topic in one line.
주제+컬럼 조건('서울 병원 중 위도·경도 있는 것')은
fields=['위도','경도']를 같이 주세요. 컬럼만 조건이면fields툴.dtype(API/FILE)·org(기관)를 주면 더 정확합니다. 결과가 이상하면 필터를 빼고 다시 검색하세요.
비슷한 데이터셋은 주제별로 접어서 줍니다(group=True). 접힌 것은 group_ids의 id를 show로 펼치세요. n은 최대 20.
인기·맛집·추천 같은 평가는 공공데이터에 없습니다. 목록(인허가·시설)과 대리지표(매출·유동인구)로 나눠 2~3회 검색하세요.
지역 자료가 없으면 region_fallback(전국 자료)을 쓰세요. 한 번 검색으로 끝내지 말고 show로 컬럼을 확인하세요.
반환: results[{id, title, org_nm, dtype, page_url, desc_short, top_columns, group_ids, access_note}], summary, region_gap/region_fallback, scope_warning.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| org | No | ||
| dtype | No | ||
| group | No | ||
| query | Yes | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely new behavior: results are collapsed by topic via group=True and must be expanded with show, n is capped at 20, weird results should trigger a filter-free retry, and region gaps surface as region_gap/region_fallback. Return-format detail duplicates the existing output schema rather than adding to 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?
Purpose is front-loaded and the remaining content is a tight bullet list where each bullet carries actionable guidance rather than filler. Minor waste comes from restating the Korean purpose line in English and from listing the return shape that the output schema already defines.
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 6-parameter, 0%-coverage search tool, the description covers query phrasing, filtering hints, grouping, result limits, retry strategy, and regional fallback, which is enough for an agent to call it correctly. The output schema removes any need to explain return values, and the only remaining gap is the precise syntax for org and dtype beyond the API/FILE hint.
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 carries the whole burden and largely does so: query format is shown by example, fields is illustrated with fields=['위도','경도'], group's collapsing behavior is explained, n's ceiling is stated, and dtype is enumerated (API/FILE) with org identified as the agency filter. Only the exact accepted values/syntax for org are left unspecified.
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 gives a specific verb and resource ('Search Korean public datasets by topic'), scopes it to datagokr, and shows concrete query examples ('전국 주차장', '재난문자 API'). It also draws a boundary against the sibling 'fields' tool for column-only queries, so an agent can distinguish it without opening the schemas.
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 routes to alternatives ('컬럼만 조건이면 `fields` 툴', 'group_ids의 id를 show로 펼치세요') and gives practical conditions: retry after dropping filters, cap n at 20, split evaluation-style queries into 2-3 searches, fall back to region_fallback. It does not address when NOT to use search versus get_preview, record, or download_url, so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show데이터셋 상세 (Dataset details)ARead-onlyIdempotentInspect
[공공데이터포털 검색 (datagokr)] 검색에서 고른 데이터셋의 구조와 접근 방법을 봅니다. Inspect a dataset's schema and access methods. 반환: id, title, org_nm, category, dtype, access_kind, page_url, portal_updated, columns(최대 50), operations, operation_names, examples, n_versions, version_keys(최신 3개), note, access_guide(인증·받는 절차), truncated(잘린 항목과 전체 개수), more(후속 조회법). 응답은 약 20KB 이내로 잘림. operations가 많은 API는 show(id, operation='기능명 또는 operation_seq')로 한 기능만 전체 보기. Responses are trimmed to about 20KB; select an operation by name or sequence for its full fields. 쓸 만하면 get_preview로 실제 첫 행을 확인하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| operation | No | ||
| dataset_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds genuinely useful behavioral context beyond that: responses are trimmed to ~20KB, columns capped at 50, version_keys limited to latest 3, and a 'more' field describes follow-up retrieval. This concisely communicates truncation and drill-down behavior.
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 purpose is front-loaded, which is good, but the long enumerated return-field list is heavy and overlaps with the output schema. It's informative rather than wasteful, yet the bilingual duplication and field catalog make it longer than it needs to be.
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?
Since an output schema exists, the return-value enumeration is somewhat redundant, but the description usefully adds the trimming threshold and the operation-drill-down strategy, which the schema cannot express. It is complete enough for an agent to invoke correctly, with only the dataset_id parameter left implicit.
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 carry the load. It explains the 'operation' parameter well (accepts a function name or operation_seq to view a single operation's full fields), but says nothing specific about 'dataset_id' format or sourcing. Partial compensation only.
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: inspecting a selected dataset's schema and access methods ('데이터셋의 구조와 접근 방법을 봅니다'). It is clearly differentiable from siblings like search, get_preview, and fields, which handle discovery, row sampling, and field listing respectively.
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?
Explicitly routes the agent: use show(id, operation='...') when an API has many operations, and 'get_preview' to check actual first rows when the dataset looks usable. This gives clear when-to-use context and names alternatives, though it doesn't state when NOT to use this tool.
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
download_url - First observed
fields - First observed
get_preview - First observed
record - First observed
search - First observed
show
Related MCP Connectors
Korean government open data - weather, population, law search via data.go.kr
Find official Korean public datasets, agency-site menus, disclosure listings, and source URLs.
Search and preview datasets publicly. Account-required full data via MCP.
나라장터 입찰공고·사전규격·낙찰정보 검색. Korean public procurement bids via KONEPS open API.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables users to discover and recommend Korea public datasets by describing their project idea, searching a static catalog of 96,056 datasets without API calls.715MIT
- 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

FieldCure PublicData.Krofficial
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- AlicenseAqualityCmaintenanceEnables access to Hong Kong government's official open data portal (DATA.GOV.HK) through natural language queries. Supports searching datasets, browsing categories, and retrieving detailed information about Hong Kong's public data resources.88MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.