io.github.rubatoyd/kosis-openapi-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KOSIS_API_KEY | Yes | KOSIS API key. Register at kosis.kr and apply for the shared service to receive one. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| kosis_statusA | 연결 점검 — 인증키 보유 여부 + KOSIS 실제 왕복 1회. |
| kosis_guideA | 이 API 를 쓸 때 알아야 할 것 — 서비스뷰·주기·메타 종류·한계·함정. |
| kosis_searchA | 통계표를 이름·내용으로 찾는다(KOSIS 통합검색). Args: query: 검색어(예: '사교육비', '출산율'). max_records: 돌려줄 최대 건수. |
| kosis_listA | 통계목록 트리를 한 단계 훑는다(주제별·기관별 등). Args:
vw_cd: 서비스뷰 코드. |
| kosis_metaA | 통계표의 메타자료 — 항목(ITM)·수록기간(PRD)·출처(SOURCE)·주석(CMMT) 등. ⚠️ |
| kosis_explainB | 통계설명(조사개요) — 목적·근거·주기·범위 등. 통계표에는 초록이 없으므로, 관련도 채점이나 요약이 필요할 때 이 설명이 재료다. |
| kosis_dataA | 통계표의 수치를 받는다. 🔴 분류축이 여럿인 표(예: 산업 × 규모)도 그냥 부르면 된다. KOSIS 는 요청의
분류축 개수가 표의 축 개수와 정확히 맞기를 요구하는데(모자라면 err 20 Args:
org_id: 기관 ID(예: '101').
tbl_id: 통계표 ID(예: 'DT_1B040A3').
prd_se: 수록주기 — Y(년)·H(반기)·Q(분기)·M(월)·D(일). |
| kosis_citationA | 통계표 하나를 서지(인용) 칸으로 투영한다 — 선택 기능. ⚠️ 이 도구는 부가 기능이다. 통계를 쓰는 것이 목적이면 KOSIS 는 조사(STAT_NM)와 표(TBL_NM) 두 층을 다 주므로 어느 층으로 인용할지는
부르는 쪽이 고른다 — Args: accessed: 조회일자(YYYY-MM-DD). 데이터셋 인용에는 조회일자가 필요하다. |
| kosis_collectC | 통계표 수치를 받아 xlsx/csv/json/sqlite 로 저장한다. ⚠️ 분류 축이 표마다 다르므로 열 구성이 가변이다 — 분류 이름이 그대로 열이 된다.
축 개수도 표마다 다르지만 |
| kosis_indicator_searchA | 주요지표를 이름으로 찾는다 — 통계표와는 다른 계열이다. KOSIS 는 통계표(TBL_ID) 말고 지표(statJipyoId) 계열을 따로 둔다(합계출산율,
추계인구 …). 표 구조를 몰라도 바로 값을 볼 수 있는 대신, 지표로 큐레이션된 것만
있다. 표 단위로 파고들 거라면 🔴 이 계열에만 페이징이 있고 안 주면 서버가 10건에서 자른다 — 이 도구가 끝까지
넘겨 전수를 회수한다( Args: name: 지표명(예: '출산율', '인구'). jipyo_id: 지표ID 로 직접 찾을 때(둘 중 하나는 필요). max_records: 돌려줄 최대 건수. |
| kosis_indicator_dataA | 주요지표의 시점별 수치를 받는다. 🔴 KOSIS 가 이 계열에서는 시점 범위를 거르지 않는다. Args:
jipyo_id: 지표ID( |
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 11 tools
Each tool has a single clear role: table search vs indicator search, table data vs indicator data, metadata vs survey explanation, data retrieval vs file export. The detailed descriptions explicitly distinguish the similar indicator/table families, so an agent can reliably choose between them.
All tools share the kosis_ prefix and snake_case, and the search/data pairs are parallel (kosis_search/kosis_indicator_search, kosis_data/kosis_indicator_data). However, the second part mixes bare verbs (search, list, explain, collect) with bare nouns (meta, data, citation, guide), so it is not a strict verb_noun convention.
11 tools is well within the ideal range and each one earns its place: status/guide for orientation, search/explain/list/meta/data for the table workflow, indicator_search/indicator_data for the indicator workflow, plus collect and citation for output and scholarship.
For a read-only statistical data API, the surface is complete: users can discover tables by search or tree, read survey descriptions and table metadata, fetch full table data with automatic axis/period handling, access major indicators, export to files, and generate citations. No obvious dead ends or missing core operations remain.