Korea Stats MCP
This MCP server lets you query real-time Korean official statistics (KOSIS) and public data using natural language.
Quick lookups (
quick_stats): instantly fetch values for 90+ preset keywords (population, birth rate, unemployment, GDP, apartment/jeonse prices, fine dust, traffic accidents, doctors, crime rate, etc.), optionally by region (17 시도), year, quarter, or month.Trend analysis (
quick_trend): analyze time-series over N years with growth rates and trend summaries (increase/decrease/stable/fluctuation).Search statistics tables (
search_statistics): keyword search of KOSIS tables, sortable by relevance or date, filterable by organization (e.g., 101 = 통계청).Browse statistics lists (
get_statistics_list): explore tree-structured catalogs by topic, organization, regional indicators, international, or North Korea statistics.Fetch table data (
get_statistics_data): retrieve actual data from a specific table with classification/item codes and yearly, monthly, quarterly, semi-annual, daily, multi-year, or irregular periods.Compare data (
compare_statistics): compare across periods, items, or regions.Detailed time-series analysis (
analyze_time_series): compute growth rates and trends over up to 30 periods.Get recommendations (
get_recommended_statistics): suggest key tables for topics like population, economy, employment, housing, education, health, environment, transport, and social/welfare.
Available on Kakao PlayMCP platform for easy connection and natural language queries of Korean statistics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Korea Stats MCP한국 인구가 몇 명이야?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🇰🇷 Korea Stats MCP
이 저장소가 원본입니다. 정본: https://github.com/Dayoooun/korea-stats-mcp npm 배포본은
@kimdayoun/korea-stats-mcp하나뿐입니다.kosis-mcp등 스코프 없는 동명 패키지는 이 프로젝트와 무관한 제3자 배포본입니다.
자연어로 KOSIS 통계를 조회하는 MCP 서버
통계청 KOSIS OpenAPI 기반의 MCP(Model Context Protocol) 서버입니다. Claude Code와 Codex에서 자연어로 한국 통계 데이터를 검색하고 분석할 수 있습니다.
원격 서버 URL: https://korea-stats-mcp.vercel.app/mcp
📦 로컬 설치:
npx -y @kimdayoun/korea-stats-mcpMCP 클라이언트 설정:
{
"mcpServers": {
"korea-stats": {
"command": "npx",
"args": ["-y", "@kimdayoun/korea-stats-mcp"]
}
}
}🎯 왜 만들었나요?
AI에게 "한국 인구가 몇 명이야?" 라고 물으면, AI는 학습 데이터의 오래된 정보를 답합니다. Korea Stats MCP를 연결하면 실시간 공식 통계를 조회해서 정확한 답변을 제공합니다.
Before (MCP 없이) | After (Korea Stats MCP 연결) |
Q: 한국 인구가 몇 명이야? | Q: 한국 인구가 몇 명이야? |
A: 2023년 기준 약 5,100만 명입니다. ❌ | A: 2024년 한국의 총인구는 51,712,619명입니다. ✅ |
Related MCP server: kosis-mcp
✨ 주요 기능
기능 | 설명 |
빠른 조회 | "실업률", "GDP", "출산율", "미세먼지" 등 사전설정 키워드 조회 |
📈 추세 분석 | 최근 N년간 데이터 추이 및 변화율 분석 |
통계 검색 | KOSIS OpenAPI 공개 통계표에서 키워드 검색 |
📊 비교 분석 | 연도별, 지역별, 항목별 통계 비교 |
지역별 조회 | 공식 분류에 따른 시도·시군구 조회, 통계표별 지원 범위 확인 |
🚀 사용 방법
방법 1: 원격 서버 사용 (설치 없이 바로 사용) ⭐ 권장
설치 없이 원격 MCP 서버에 바로 연결할 수 있습니다.
Claude Code
claude mcp add --scope user --transport http korea-stats https://korea-stats-mcp.vercel.app/mcp
claude mcp get korea-statsCodex
codex mcp add korea-stats --url https://korea-stats-mcp.vercel.app/mcp
codex mcp get korea-stats두 클라이언트 모두 네이티브 HTTP 연결을 사용하므로 mcp-remote나 사용자 KOSIS 키가 필요하지 않습니다. 등록 후 새 Claude Code 또는 Codex 세션에서 MCP 도구를 호출하세요. 이미 같은 이름의 서버가 등록돼 있다면 기존 설정을 먼저 확인하고 덮어쓰지 마세요.
같은 URL을 이미 사용 중이라면 삭제·재등록은 필수가 아닙니다. 도구 목록이 갱신되지 않는 클라이언트에서는 새로고침 또는 재연결하세요.
현재 확인된 제한 (2026-09-10)
공개 서버의 구·군 조회와 지역 구분은 실제 호출로 확인했지만, 모든 통계표가 모든 시군구를 제공하는 것은 아닙니다.
독립 검증에서
get_indicator의 지표 정의 조회가 KOSIS 오류30으로 실패했습니다. 지표 검색 성공이 모든 지표 상세·값 조회의 성공을 의미하지 않습니다.get_indicator,search_businesses,get_microdata_info의 공개tools/list에서 입력 스키마의properties가 비어 있는 문제가 확인됐습니다. 인자를 직접 지정한 호출이 성공하더라도 AI의 자동 도구 선택·인자 구성까지 보장하지 않습니다.MDIS는 공개 카탈로그·메타데이터 조회 범위이며, 연구용 원자료 다운로드·로그인·별도 접근 승인을 대신하지 않습니다.
공개 서버 배포, GitHub 소스, npm 게시 버전은 별개입니다. 이 소스의 개선 사항이 npm 최신 배포본에도 모두 포함됐다고 가정하지 마세요.
방법 2: 로컬 설치
직접 서버를 실행하고 싶다면 로컬에 설치할 수 있습니다.
1단계: 설치
# 저장소 클론
git clone https://github.com/Dayoooun/korea-stats-mcp.git
cd korea-stats-mcp
# 의존성 설치 (pnpm 권장)
pnpm install
# 빌드
pnpm run build2단계: AI 도구에 연결
Claude Code:
claude mcp add --scope user --transport stdio korea-stats-local -- node /절대경로/korea-stats-mcp/dist/index.jsCodex:
codex mcp add korea-stats-local -- node /절대경로/korea-stats-mcp/dist/index.js실제 빌드 파일의 절대경로를 사용하세요. 원격 연결만 필요하면 로컬 등록은 하지 않습니다. npm 게시본과 이 저장소의 빌드·운영 배포 버전은 별개이므로, 새 버전을 npm에 게시했다고 가정하지 마세요.
방법 3: Kakao PlayMCP
Kakao PlayMCP에서도 사용할 수 있습니다.
PlayMCP 사이트 접속
korea-stats-mcp 검색
클릭 한 번으로 연결 완료!
💬 사용 예시
연결 후 AI에게 자연어로 질문하세요:
"한국 인구가 몇 명이야?"
"서울 실업률 알려줘"
"최근 10년 출산율 추이 보여줘"
"GDP 성장률은?"
"부산과 대구 인구 비교해줘"
"서울 아파트가격 알려줘"
"경기도 GRDP 얼마야?"
"평균 임금 알려줘"
"2024년 10월 출생아수 알려줘" # 월별 데이터
"서울 전세가격" # 🆕 전세
"경기 자동차 등록대수" # 🆕 자동차
"부산 범죄율" # 🆕 범죄
"외래관광객 몇 명이야?"
"교통사고 발생건수" # 🆕 교통사고
"서울 의사수 알려줘" # 🆕 의료실제 응답 예시:
✅ "2025년 한국의 주민등록 총인구는 51,117,378명입니다."
✅ "2024년 서울의 실업률은 3%입니다."
✅ "2025년 3월 서울의 아파트매매가격지수는 99.687 (2021.6=100)입니다."
✅ "2025년 한국의 상용근로자 월평균 임금은 4,094,615원입니다."
✅ "2024년 경기의 지역내총생산(명목)은 651,417,234백만원입니다."
✅ "2025년 3월 서울의 주택전세가격지수는 94.134 (2021.6=100)입니다."
✅ "2024년 서울의 자동차 등록대수는 3,176,933대입니다."
✅ "2024년 부산의 인구 천명당 범죄발생건수는 34.4건입니다."
✅ "2025년 11월 한국의 외래관광객수는 1,596,939명입니다."
✅ "2024년 한국의 교통사고 발생건수는 168,585건입니다."
✅ "2024년 서울의 의료기관 종사 의사수는 43,547명입니다."빠른 조회 키워드
현재 사전설정은 동의어를 포함해 91개 키워드입니다. 아래 목록은 빠른 조회 예시이며 전체 지원 통계표의 상한이 아닙니다. 다른 통계는 search_statistics와 공식 분류 메타데이터로 탐색하세요.
인구/출산/사망
키워드 | 설명 | 주기 |
| 총인구수 | 연 |
| 합계출산율 | 연 |
| 출생 통계 | 연/분기/월 |
| 사망 통계 | 연/분기/월 |
| 자연증감 | 연/분기/월 |
| 기대수명 | 연 |
혼인/이혼
키워드 | 설명 | 주기 |
| 혼인 통계 | 연/분기/월 |
| 이혼 통계 | 연/분기/월 |
고용/노동
키워드 | 설명 | 주기 |
| 실업률 (시도별 지원) | 연 |
| 고용률 (시도별 지원) | 연 |
| 취업자 수 | 연 |
| 실업자 수 | 연 |
| 경제활동인구 | 연 |
| 상용근로자 월평균 임금 (시도별) | 연 |
경제
키워드 | 설명 | 주기 |
| GDP (국내총생산) | 연 |
| 지역내총생산 (시도별) | 연 |
| 경제성장률 | 연 |
| 소비자물가 (시도별) | 연/월 |
무역
키워드 | 설명 | 주기 |
| 수출액 | 연 |
| 수입액 | 연 |
| 무역수지 | 연 |
부동산
키워드 | 설명 | 주기 |
| 주택매매가격지수 (시도별) | 월 |
| 아파트매매가격지수 (시도별) | 월 |
| 주택전세가격지수 (시도별) | 월 |
| 아파트전세가격지수 (시도별) | 월 |
자동차/교통 🆕
키워드 | 설명 | 주기 |
| 자동차 등록대수 (시도별) | 연 |
범죄/치안 🆕
키워드 | 설명 | 주기 |
| 인구 천명당 범죄발생건수 (시도별) | 연 |
관광
키워드 | 설명 | 주기 |
| 외래관광객 입국자수 | 월 |
교통/안전 🆕
키워드 | 설명 | 주기 |
| 교통사고 발생건수 (시도별) | 연 |
의료/건강
키워드 | 설명 | 주기 |
| 의료기관 종사 의사수 (시도별) | 연 |
대기환경 🆕
키워드 | 설명 | 주기 |
| 초미세먼지(PM2.5) 농도 (시도별) | 월 |
| 미세먼지(PM10) 농도 (시도별) | 월 |
🗺️ 지역별 조회
지역 지원 범위는 선택한 통계표의 공식 분류에 따라 결정됩니다. 시군구는 ITM 메타데이터와 실제 응답의 분류축을 확인해 조회하며, 코드 길이로 지역을 추측하지 않습니다. 동명이거나 요청한 하위 지역을 확인할 수 없으면 상위 지역·전국 값으로 대신 답하지 않습니다.
KOSIS에 중간 시 이름이 빠진 수원시 영통구 같은 요청은, 실제 KOSIS 분류축·코드가 확인된 단일 후보에 한해 공식 상권정보의 시군구 전체 이름을 한 번 대조합니다. 시군구 코드·시도 코드·공식 시도명·전체 이름이 정확히 맞아야 답합니다. 확인 자료나 운영자 키가 없으면 검증을 보류하며, 현재 명칭의 소속을 확인한 것이 과거 행정경계의 동일성을 입증하지는 않습니다. 이 한계는 응답의 caveats에도 남깁니다.
시도 입력 예시(지원 범위의 상한이 아닙니다): 전국, 서울, 부산, 대구, 인천, 광주, 대전, 울산, 세종, 경기, 강원, 충북, 충남, 전북, 전남, 경북, 경남, 제주
예시:
"서울 인구"
"부산 실업률"
"제주 출산율"
"경기도 고용률"
"서울 아파트가격"
"경기 GRDP"
"울산 임금"
"서울 전세가격"
"경기 자동차"
"부산 범죄율"
"서울 교통사고" # 🆕 교통사고
"부산 의사수" # 🆕 의료📅 월별/분기별 조회 🆕
일부 통계는 월별 또는 분기별 조회가 가능합니다:
예시:
"2024년 10월 출생아수" # 월별 조회
"2024년 3분기 사망자수" # 분기별 조회
"2025년 1월 주택가격" # 월별 조회지원 통계: 출생아수, 사망자수, 혼인건수, 이혼건수, 자연증가, 물가, 주택가격, 아파트가격, 전세가격, 관광객
제공 도구 (개발본 14개)
이 목록은 현재 소스 기준입니다. 공개 원격 서버와 npm 배포본의 실제 도구는 해당 배포 버전의 tools/list로 확인하세요. 키 없는 로컬 실행은 공개 원격 배포본을 이용하므로 아직 배포하지 않은 로컬 변경을 제공하지 않습니다.
핵심 도구 ⭐
도구 | 설명 | 예시 |
| 사전설정 키워드 빠른 조회 | "실업률", "GDP", "미세먼지", "교통사고", "의사수" |
| 시계열 추세 분석 | "출산율 10년 추이" |
고급 도구
도구 | 설명 |
| KOSIS 통계표 키워드 검색 |
| 주제별/기관별 통계 목록 탐색 |
| 특정 통계표 데이터 조회 |
| 시점별/항목별 비교 분석 |
| 상세 시계열 분석 |
| 분야별 추천 통계 |
| 공식 분류·항목 메타데이터와 근거를 바이트 제한 내에서 페이지별 조회 |
| 공식 지표 이름·ID·수록주기 검색 |
| 검색한 지표의 공식 정의 또는 원자료 값 조회 |
| 공공 상권정보의 지역·업종별 사업체 원자료를 페이지별 취득 |
| MDIS 공개 조사 카탈로그 검색 |
| 일반 조사 상세 또는 서비스 유형별 공개 변수·코드북 확인과 공식 이용 경로 안내 |
자료 해석과 이용 경계
KOSIS 분류코드와 상권 API의 행정구역 코드는 서로 다를 수 있습니다. 공급자별 공식 코드를 구분하세요.
출처·조회 시각·원래 기간·단위·식별자와 검증 범위를 함께 확인하세요. 누락된 근거는
unknown,partial,unverified등의 표시로 구분하며 단위·결측값·범주 의미를 임의로 채우지 않습니다.연·월·분기 범위 조회는 항목·분류 조합별 시작·종료 시점과 내부 누락을 검사합니다. 기간 근거가 불완전하면
response_incomplete로 실패하며 반환 가능한 원본은data[].raw에 남깁니다. 일정한 주기를 입증할 수 없는 주기는 미검증으로 표시합니다.기간을 지정하지 않거나
recentCount만 사용한 응답은 최신성·전체성을 입증하지 못하므로 미검증입니다. 요청한 최근 관측 수보다 적거나 관측 식별자가 중복되면 실패합니다.get_statistics_data의 양끝이 명시된 연·월·분기 범위는pageSize(기본 50, 최대 200)와cursor로 이어받습니다. 공급자 응답 4 MiB 초과 시 기간을 분할하며, 단일 기간도 초과하면 선택 조건을 좁혀야 합니다. MCP 응답은 32 KiB 이내이며 원시 관측 하나를 임의로 자르지 않습니다.공식 코드의
+다중 선택식도 공급자에 그대로 전달하며 단일 코드로 오인하지 않습니다. 다중 선택 응답은unverified로 표시하며, 페이지 순회 완료와 공급자 전체성 검증은 별개입니다.hasMore가 참이면 원래 조건 그대로nextCursor를 넘기세요.partition_split진행 페이지는 0행일 수 있습니다. 마지막 페이지의completion: "complete"도 요청 기간 순회 완료이지 공급자 전체 자료·전체 시점의 동일 스냅샷을 입증한 것은 아닙니다. 앞 페이지들을 합쳐야 전체 반환 관측을 얻습니다.운영 HTTP 서버는 2.0.0으로 배포·검증됐습니다. npm 게시본은 별개이며 새 버전 게시가 완료됐다는 뜻은 아닙니다. 기존 통계자료
totalCount대신returnedCount·emittedCount·aggregateRowCount를 구분합니다.분석·비교의 출처 목록은 요청한 논리 조회이며 실제 네트워크 호출 이력이나 캐시 최신성 증명이 아닙니다. 조회 시각·미제공 메타·출처 진단의 절단 여부와 계산 성공 여부를 구분해 반환합니다.
시점 비교에는 서로 다른 시점이 최소 2개 필요합니다. 기준값 0의 변화율은 0%가 아니라 미정이며 절대 변화량을 함께 제공합니다. 단위가 섞이거나 누락되면 단일 상위
unit을 만들지 않고 관측별 단위를 유지합니다.페이지 응답은 전체 자료 취득 완료가 아닙니다. 반환 건수와 공급자 총건수를 구분하고,
hasMore와 다음 페이지를 확인하세요.MDIS는 공식 공개 웹 페이지를 읽는
adapter(공개 웹 응답을 MCP 도구 형식으로 연결하는 모듈)입니다. 공개 조사·변수·코드북 탐색에는 연구자 로그인이 필요하지 않습니다. 일반 원자료 이용·인가자료 신청·분석은 본인 환경에서 공식 절차로 진행하며, 이 서버는 연구자 비밀번호·쿠키를 받거나 저장하지 않습니다.코드북의
validation.level: "header-only"는 파일 형식과 CFB(옛 XLS를 담는 복합 파일 형식) 헤더만 검사했다는 뜻입니다. 워크시트 본문 검증·원자료 다운로드·이용 승인 완료를 뜻하지 않습니다.
🔧 개발자 가이드
로컬 개발
# 개발 모드 (watch)
pnpm run dev
# MCP Inspector로 테스트
pnpm run inspector
# E2E 테스트
node e2e-test.js프로젝트 구조
korea-stats-mcp/
├── src/
│ ├── index.ts # 진입점 (stdio 트랜스포트)
│ ├── server.ts # MCP 서버 설정
│ ├── tools/ # 8개 도구 구현
│ │ ├── quickStats.ts # 빠른 조회
│ │ ├── quickTrend.ts # 추세 분석
│ │ └── ...
│ ├── data/
│ │ └── quickStatsParams.ts # 통계표·항목 기본 설정
│ └── api/
│ └── client.ts # KOSIS API 클라이언트
├── api/
│ └── mcp.ts # Vercel 서버리스 (원격 MCP)
└── tests/ # Playwright 테스트새 키워드 추가하기
src/data/quickStatsParams.ts에 새 키워드를 추가할 수 있습니다:
'새키워드': {
orgId: '101', // 기관 코드 (101 = 통계청)
tableId: 'DT_XXXXX', // 통계표 ID
tableName: '통계표명',
description: '설명',
objL1: '00', // 분류값 코드
itemId: 'T10', // 항목 코드
unit: '단위',
}📋 API 키
원격 서버는 사용자 KOSIS 키 없이 이용할 수 있습니다. MCP 클라이언트에 위의 원격 URL을 등록하세요. KOSIS 인증은 운영자가 서버 환경변수로 설정한 키로 처리합니다.
로컬 npm/stdio 실행도 키 없이 시작할 수 있습니다. 키가 없으면 공개 원격 MCP 서버로 연결되며 질문과 조회 조건이 원격 서버로 전달됩니다. 이 경우 제공되는 도구·버전은 현재 원격 배포본을 따릅니다.
공개 서버를 거치지 않고 KOSIS를 직접 조회하려면 KOSIS OpenAPI에서 발급받은 본인 키를 KOSIS_API_KEY 환경변수로 설정합니다. 소스 코드를 수정하거나 키를 패키지에 넣지 않습니다.
원격 서버 운영자는 Vercel의 해당 배포 환경에 KOSIS_API_KEY를 설정하고 새 배포에서 실제 조회를 확인해야 합니다. 키를 프런트엔드 공개 환경변수, 저장소, 로그에 넣지 마세요. 과거 공개 키는 새 키로 정상 동작을 확인한 뒤 폐기해야 하며, 소스에서 삭제한 것만으로 과거 배포본과 Git 이력에서 사라지지는 않습니다.
상권정보 제공과 위의 중첩 시군구 명칭 확인을 지원하는 운영자는 같은 배포 환경에 DATA_GO_KR_SERVICE_KEY도 설정해야 합니다. 이 키는 공공데이터포털의 해당 상권정보 서비스 활용 승인을 받은 운영자용 키입니다. 이용자에게 각자 발급받도록 요구하지 않습니다. MDIS 공개 메타데이터 adapter에는 이 두 API 키가 필요하지 않습니다.
Vercel Functions는 vercel.json의 regions: ["icn1"]에 따라 서울에 배치합니다. MDIS 공개 카탈로그의 본문 전송 지연을 줄이기 위한 설정이며, 요청 8초·응답 4 MiB 제한은 유지합니다. 다른 리전의 동작을 로컬 성공만으로 가정하지 말고 실제 배포에서 확인하세요. 이 설정 자체가 기존 공개 서버의 배포 완료를 뜻하지는 않습니다.
출시 전 단계별 검증, 공개 대상의 사후 확인과 안전한 롤백은 사용자 가이드의 운영자 절차를 따릅니다. 보호된 preview 검증과 실제 공개 서비스의 배포 완료를 구분합니다.
공개 시군구·상세 조회 벤치마크
질문·채점·합격선의 정본은 고정 벤치마크 기준입니다. 운영자가 독립 공식 원문과 공개 MCP 응답을 대조할 때 실행합니다.
node --env-file=/보호된경로/provider.env tests/public-benchmark.mjs --output /절대경로/새검증폴더provider.env에는 독립 원문 대조용 운영자 KOSIS_API_KEY와 DATA_GO_KR_SERVICE_KEY를 둡니다. 공개 MCP 연결에는 이 키나 인증 우회 헤더를 보내지 않습니다. 일반 이용자가 이 벤치마크를 실행하거나 키를 발급받을 필요는 없습니다.
매 실행은 새 결과 폴더와 기준 파일 해시를 남깁니다. 미실행·외부 장애·원자료 미제공을 통과로 바꾸거나 분모에서 빼지 않습니다. 이 벤치마크는 기존 단계별 출시 검사나 전국 모든 통계의 제공 범위를 대신하지 않습니다.
🤝 기여하기
기여를 환영합니다!
이 저장소를 Fork 합니다
새 브랜치를 생성합니다 (
git checkout -b feature/새기능)변경사항을 커밋합니다 (
git commit -m 'feat: 새 기능 추가')브랜치에 Push 합니다 (
git push origin feature/새기능)Pull Request를 생성합니다
기여 아이디어
새로운 통계 키워드 추가
영문 키워드 지원 (population, unemployment 등)
지역명 풀네임 지원 (서울특별시 → 서울)
더 많은 테스트 케이스
📄 라이선스
MIT License - 자유롭게 사용, 수정, 배포할 수 있습니다.
MIT 라이선스는 이 프로그램 코드에 적용됩니다. KOSIS·공공데이터포털·MDIS 자료의 저작권, 출처 표시, 이용 조건과 접근 승인은 각 공급자의 조건을 따릅니다.
🔗 관련 링크
💬 문의
이슈나 질문이 있으시면 GitHub Issues에 등록해 주세요.
Available Tools
8 toolsanalyze_time_seriesA
통계 데이터의 시계열 추세를 분석합니다. 증가/감소/안정/변동 추세와 성장률을 계산합니다. 중요: 먼저 get_table_info로 유효한 objL1, objL2, itemId 값을 확인한 후 호출하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| objL1 | Yes | 분류1 코드 (필수) - get_table_info로 유효한 값 조회 필요. 예: "00"(전국), "0"(계) | |
| objL2 | No | 분류2 코드 (선택) - 일부 테이블에서 필요. 예: 실업률 테이블의 연령계층별 "00"(계) | |
| orgId | Yes | 기관 ID | |
| itemId | Yes | 항목 ID (필수) - get_table_info로 유효한 값 조회 필요. 예: "T10"(출생건수) | |
| tableId | Yes | 통계표 ID | |
| yearCount | No | 분석할 기간 수 (기본: 10) | |
| periodType | Yes | 주기: Y(년), M(월), Q(분기) |
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. It states the tool calculates trends and growth rates but does not disclose whether it is read-only, what happens on invalid input, rate limits, or other behavioral traits. This lack of transparency is a significant gap for a computation 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 concise (three sentences) and front-loaded: first sentence states purpose, second lists outputs, third provides critical usage note. Every sentence adds value, with no redundancy or fluff.
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 complexity (7 parameters, no output schema), the description provides essential prerequisite guidance but lacks details on return format, data interpretation, or constraints. It is minimally viable but leaves gaps for an agent to understand expected outputs fully.
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 has 100% coverage for parameter descriptions. The description adds value by explicitly linking objL1 and itemId to get_table_info for validation, providing additional semantic context beyond the schema. This justifies a score above the baseline of 3.
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 specifies that the tool analyzes time series trends and calculates growth rates. It provides a specific verb ('analyze') and resource ('time series of statistical data'). However, it does not explicitly differentiate from sibling tools like quick_trend, which may perform similar functions.
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 includes an important prerequisite: to first use get_table_info to validate objL1, objL2, and itemId. This provides clear context and a precondition. However, no guidance is given on when to choose this tool over alternatives like compare_statistics or quick_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_statisticsC
여러 지역, 시점, 또는 항목의 통계 데이터를 비교합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| objL1 | No | 분류1 코드 | |
| objL2 | No | 분류2 코드 (일부 테이블에서 필요) | |
| orgId | Yes | 기관 ID | |
| itemId | No | 항목 ID | |
| periods | No | 비교할 시점들 (예: ["2022", "2023", "2024"]) | |
| tableId | Yes | 통계표 ID | |
| periodType | Yes | 주기: Y(년), M(월), Q(분기) | |
| compareType | Yes | 비교 유형: period(시점 비교), item(항목 비교) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the tool compares data, without indicating whether it is read-only, requires specific permissions, or has any side effects. For an 8-parameter tool, more transparency is needed (e.g., whether data is aggregated, if results are paginated).
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 sentence, which is concise but lacks structure. It is front-loaded with the core action, but the brevity may leave the agent without enough context to select or invoke the tool correctly. It earns its place but could be slightly more informative.
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 has 8 parameters, two enums, no output schema, and no annotations, the description is insufficient. It does not hint at return values, error states, or usage patterns (e.g., whether regions are specified via parameters). The agent needs more context to use this tool effectively.
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 baseline is 3. The description does not add additional meaning beyond the schema; it simply restates the tool's purpose. Since the schema already explains parameters adequately, this score 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 compares statistical data across multiple regions, time points, or items, providing a specific verb and resource. It distinguishes from siblings like search_statistics (which implies searching) and get_statistics_data (which implies retrieving raw data). However, it does not explicitly mention the comparison types (period/item) available in the 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?
No guidance on when to use this tool versus alternatives. The description does not state when-not to use it, nor does it mention any prerequisites or fallback tools. Given the sibling tools include analyze_time_series and quick_stats, comparative context is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recommended_statisticsB
관심 분야에 맞는 주요 통계표를 추천합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 추천 개수 (기본: 5) | |
| topic | Yes | 관심 분야: population(인구), economy(경제), employment(고용), housing(주거), education(교육), health(보건), environment(환경), transport(교통), social(사회/복지) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for disclosing behavioral traits. It states 'recommends', indicating a read operation, but omits details about authentication, rate limits, or any potential side effects. There is no mention of what the recommendation algorithm considers or how results are ordered.
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 sentence with no wasted words. It is front-loaded with the key action and resource, making it easy to parse. Every word contributes to the purpose.
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?
The description covers the basic purpose but lacks information about return format, pagination, or how recommendations are generated. Given no output schema, the description could be more helpful by indicating what kind of data (e.g., table IDs, names) will be in the response. However, for a simple recommendation tool, it is minimally adequate.
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% (both parameters have descriptions in the schema). The tool description does not add any extra meaning beyond the schema, which already explains the 'topic' enum and 'limit' default/range. Baseline score of 3 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 verb '추천합니다' (recommends) and resource '주요 통계표' (key statistical tables) with the context of '관심 분야에 맞는' (according to area of interest). It implies filtering by topic but does not explicitly differentiate from sibling tools like 'search_statistics' or 'get_statistics_list', which could also provide topic-based results.
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 explicit guidance on when to use this tool versus alternatives. The description implies usage when you need recommendations based on a selected topic, but it does not mention exclusions or compare with siblings such as 'quick_stats' or 'compare_statistics'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statistics_dataA
특정 통계표의 실제 데이터를 조회합니다. 중요: 먼저 get_table_info로 유효한 objL1, itemId 값을 확인한 후 호출하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| objL1 | Yes | 분류1 코드 (필수) - get_table_info로 유효한 값 조회 필요 | |
| objL2 | No | 분류2 코드 (선택) | |
| objL3 | No | 분류3 코드 (선택) | |
| objL4 | No | 분류4 코드 (선택) | |
| orgId | Yes | 기관 ID (예: 101) | |
| itemId | Yes | 항목 ID (필수) - get_table_info로 유효한 값 조회 필요 | |
| tableId | Yes | 통계표 ID (예: DT_1B04005) | |
| endPeriod | No | 종료 시점 (예: 2024, 202412) | |
| periodType | Yes | 주기: Y(년), M(월), Q(분기), S(반기), D(일), F(다년), IR(부정기) | |
| recentCount | No | 최근 N개 시점 (startPeriod/endPeriod 대신 사용) | |
| startPeriod | No | 시작 시점 (예: 2020, 202001) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only says 'queries actual data,' implying a read operation, but lacks details on error handling, rate limits, or response format. Adequate but not thorough.
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 consists of two concise sentences. The first states the purpose, and the second provides a critical usage note. No extraneous 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?
Given the complexity (11 parameters, no output schema, no annotations), the description provides the core purpose and a key prerequisite. However, it does not explain the output format, pagination (if any), or how this tool differs from analysis siblings. Adequate but could be more complete.
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 describes all 11 parameters with 100% coverage. The description adds the note about get_table_info for objL1 and itemId, which is also present in the schema descriptions. Therefore, the description adds minimal additional semantic value 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 the tool queries actual data of a specific statistics table (specific verb+resource). However, it does not explicitly differentiate from sibling tools like analyze_time_series or compare_statistics, which may also retrieve data.
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 an explicit prerequisite: first obtain valid objL1 and itemId values from get_table_info. This guides correct usage but does not specify when not to use this tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statistics_listA
주제별/기관별로 통계 목록을 탐색합니다. 트리 구조로 하위 목록을 탐색할 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| parentId | No | 상위 목록 ID (비어있으면 최상위 목록 조회) | |
| viewCode | Yes | 서비스뷰 코드: MT_ZTITLE(주제별, 기본값), MT_OTITLE(기관별), MT_GTITLE01(e-지방지표 주제별), MT_GTITLE02(e-지방지표 지역별), MT_RTITLE(국제통계), MT_BUKHAN(북한통계) |
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. It discloses tree structure navigation but lacks details on authentication, rate limits, or behavior with invalid IDs. It adequately describes the browsing behavior but is not comprehensive.
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 sentences long, front-loaded with the main action, and contains no redundant or extraneous information. Every sentence contributes to understanding the tool's functionality.
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 no output schema, the description could explain return format or navigation details (e.g., pagination, depth). It mentions tree structure but not how to traverse deeper levels. It is adequate for a straightforward list tool but not fully complete.
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?
With 100% schema description coverage, the schema already documents the parameters. The description adds value by explaining the default behavior for empty parentId and listing the specific viewCode values with their meanings, enriching the parameter semantics.
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 uses specific verbs ('탐색합니다' meaning 'explore') and resources ('통계 목록' meaning 'statistics list'), and mentions tree structure navigation. It clearly distinguishes from sibling tools like search_statistics (searching) and analyze_time_series (analysis) by focusing on browsing and hierarchical exploration.
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 usage for browsing statistics by topic or institution, but it does not explicitly state when to use this tool versus alternatives like search_statistics or quick_stats. No exclusions or usage hints are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quick_statsA
【수치/데이터 질문 → 이 도구 사용】 한국 통계 수치를 즉시 반환합니다.
■ 사용 시점: "~얼마야?", "~알려줘", "~몇 명이야?", "~수치", "~현황", "~추세", "~감소", "~증가" 등 ■ 반환 형식: "2024년 서울의 실업률은 3.2%입니다" 같은 실제 데이터 값 ■ 지원 키워드: 인구, 출산율, 실업률, 고용률, GDP, GRDP, 물가, 아파트가격, 전세가격, 미세먼지, 교통사고, 의사수, 범죄율, 초혼연령, 노령화지수, 고령인구 등 90개 이상 ■ 지역 조회: 서울, 부산, 대구 등 17개 시도별 조회 가능
⚠️ 핵심 키워드만 추출하세요: • "인구감소 추세" → query: "인구" (감소/증가/추세 제외) • "서울 실업률 현황" → query: "실업률", region: "서울" • "고령화 문제" → query: "고령인구" 또는 "노령화지수" • "저출산 현황" → query: "출산율" 또는 "출생아수"
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 조회 연도. 질문에 연도가 있으면 반드시 추출. "2020년 GDP" → year: 2020 | |
| month | No | 월 (period="M"일 때). "10월 출생아수" → month: 10 | |
| query | Yes | 통계 키워드만 입력 (감소/증가/추세/현황 등 수식어 제외). 예: "인구", "실업률", "GDP", "출산율", "고령인구" | |
| period | No | 조회 주기. Y=연간(기본), Q=분기, M=월별. "10월 출생아수" → period: "M" | |
| region | No | 지역명. 예: "서울", "부산", "경기". 질문에 지역이 있으면 추출. "서울 인구" → region: "서울" | |
| quarter | No | 분기 (period="Q"일 때). "3분기 실업률" → quarter: 3 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits fully. It discloses the result format ('2024년 서울의 실업률은 3.2%입니다') and supported data types, but does not mention error handling, rate limits, or side effects. While sufficient for a read-only tool, it lacks depth.
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 well-structured with sections, bullet points, and examples, making it easy to scan. However, it is slightly verbose, containing redundant clarifications (e.g., repeated emphasis on keyword extraction). Overall, it earns its length but could be more concise.
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 six parameters, no output schema, and seven sibling tools, the description is very complete. It covers query construction, region handling, time periods, and provides a sample output. It lacks detailed return field documentation, but the example output compensates. The agent has enough context to use the tool effectively.
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% with detailed parameter descriptions, but the description adds substantial meaning beyond the schema: it explains keyword extraction rules (e.g., dropping 감소/증가), enumerates supported keywords (90+), lists 17 regions, and provides usage examples for compound queries. This significantly aids correct parameter selection.
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 explicitly states '한국 통계 수치를 즉시 반환합니다' (returns Korean statistical figures immediately), which is a specific verb+resource. It also distinguishes itself from siblings like analyze_time_series, compare_statistics, etc., by focusing on quick retrieval of static values rather than analysis or comparison.
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 explicit triggers (e.g., '~얼마야?', '~알려줘') and gives rules for extracting keywords (e.g., removing modifiers like 감소/증가). It includes multiple examples showing when to use the tool and how to format queries, making it clear for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quick_trendA
【추세/변화/증감 질문 → 이 도구 사용】 시계열 추세를 분석합니다.
■ 사용 시점: "~추세", "~변화", "~감소", "~증가", "~추이", "~경향" 등 시간에 따른 변화 질문 ■ 반환 형식: 10년간 데이터 + 증감률 + 최고/최저점 + 추세 요약
⚠️ 핵심 키워드만 추출하세요: • "인구감소 추세" → keyword: "인구" • "출산율 감소 원인" → keyword: "출산율" • "실업률 변화" → keyword: "실업률" • "고령화 추세" → keyword: "고령인구" 또는 "노령화지수"
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | 지역명 (선택, 미지정시 전국). 예: "서울", "부산" | |
| keyword | Yes | 통계 키워드만 입력 (추세/감소/증가/변화 등 수식어 제외). 예: "인구", "출산율", "실업률", "GDP", "고령인구" | |
| yearCount | No | 분석 기간 (년 수, 기본: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses the return format (10 years data, change rate, highest/lowest points, trend summary) and keyword extraction rules. However, it lacks details on data source, rate limits, or any side effects.
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 uses bullet points and clear sections (usage time, return format, keyword tips). It is front-loaded with purpose. However, it is slightly verbose with Korean examples and could be more concise.
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 3 parameters, 1 required, no output schema, and no annotations, the description covers purpose, usage guidance, return format, and parameter semantics. It does not explain return values in detail, but the summary is sufficient for a simple trend analysis 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 description coverage is 100%, baseline 3. The description adds value by providing examples of what to put in 'keyword' (e.g., '인구', '출산율') and explaining that trend-related words should be removed. It also clarifies the 'region' parameter's optionality.
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 the tool analyzes time series trends for questions about trends, changes, increases, decreases (e.g., "~추세", "~변화"). It uses specific verbs and resources, but does not explicitly differentiate from sibling tools like analyze_time_series.
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 explicit guidance on when to use the tool: when the question involves trend/changes in Korean keywords. It gives examples of keyword extraction, but does not mention when not to use it or point to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_statisticsA
키워드로 KOSIS 통계표를 검색합니다. 예: "인구", "GDP", "실업률", "서울 물가"
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | 정렬: RANK(정확도순), DATE(최신순) | RANK |
| limit | No | 결과 개수 (기본: 10, 최대: 50) | |
| orgId | No | 기관코드 (선택, 예: 101=통계청) | |
| query | Yes | 검색어 (예: 인구, 경제성장률, 출생률, 서울 실업률) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral traits. It does not disclose whether the operation is read-only, what the output format is, or any side effects, limiting transparency.
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 sentence with examples, highly concise and front-loaded with the core function.
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 no output schema, the description lacks information about return values or how results are structured. For a search tool, this leaves room for ambiguity.
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 covers 100% of parameters, and the description does not add new information beyond the schema descriptions. Baseline of 3 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 it searches KOSIS statistical tables by keyword and provides concrete examples like '인구' and 'GDP', distinguishing it from sibling tools that perform more specialized operations.
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 usage by giving examples of keywords, but does not explicitly state when to use this tool versus alternatives like analyze_time_series or compare_statistics.
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.
8 tool updates
v1.1.0- First observed
analyze_time_series - First observed
compare_statistics - First observed
get_recommended_statistics - First observed
get_statistics_data - First observed
get_statistics_list - First observed
quick_stats - First observed
quick_trend - First observed
search_statistics
TDQS
Scored across 8 tools
Tools have distinct purposes with detailed usage hints, but quick_stats and get_statistics_data both return data and could cause minor confusion. Overall, agents can differentiate well.
Most names follow verb_noun pattern (get_statistics_data, analyze_time_series), but quick_stats and quick_trend break the pattern with 'quick' as prefix, slightly reducing consistency.
8 tools is ideal for a statistics server, covering listing, searching, data retrieval, comparison, and trend analysis without being overwhelming.
Core CRUD-like operations are present but missing get_table_info, which is referenced as a prerequisite. This gap forces agents to work around missing metadata retrieval.
Maintenance
Related MCP Connectors
Korean fact-verification tools for AI agents: business registration, address, DART, apt prices, laws
Korean market data for AI agents: K-beauty/K-food products, Naver trends, stocks, real estate.
Access Korea’s G2B procurement and Nara Market data for bid notices, awards, contracts, statistics…
Macroeconomic and other official data from 170+ publishers, resolved from natural language with provenance.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables MCP clients like Claude Desktop to search, retrieve, and analyze Korean statistical data from KOSIS OpenAPI.161MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying Korean official statistics from KOSIS via natural language in MCP clients like Claude Desktop, wrapping the KOSIS OpenAPI for search, data retrieval, and metadata exploration.MIT
- FlicenseNot gradedqualityDmaintenanceKorean public-data MCP servers for AI agents, enabling natural language queries to KOSIS statistics and other Korean official data sources without requiring local accounts or API keys.-
- AlicenseNot gradedqualityBmaintenanceEnables querying Bank of Korea ECOS economic statistics via Open API, including searching tables, retrieving time series data, and accessing key indicators.MIT