Korean Stats MCP
Korean Stats MCP
국가데이터처 KOSIS, jetzt müssen Sie die Website nicht mehr besuchen. Wenn Sie den KI-Assistenten auf Koreanisch fragen, erscheinen die offiziellen Zahlen von 국가데이터처 sofort mit Quellenangabe.
MCP-Server basierend auf der 국가데이터처 KOSIS OpenAPI (Python FastMCP). Verwendung über stdio oder HTTP in Claude Desktop, Cursor usw.
In 30 Sekunden ausprobieren
So geben Sie es in den Chat ein (nach Registrierung des Claude.ai Connectors — siehe Installationsanleitung unten)
나: 광진구 고용률 알려줘
AI: 2025년 하반기 광진구의 고용률은 61.6%입니다.
📊 출처: 고용률 (KOSIS DT_1ES3A03_A01S)Sie müssen nicht auf die KOSIS-Website gehen, um Statistiktabelle zu suchen, dann Klassifikationscodes auszuwählen und durch die Zeilen der autonomen Bezirke zu scrollen. Sie müssen nur den Namen des autonomen Bezirks und Ihre Frage auf Koreanisch eingeben.
So ändert sich die Arbeit von Beamten
Die Statistiken des 국가데이터처 sind alle auf KOSIS. Das Problem sind die Kosten des Abrufens. Wenn man die Statistiktabellen-ID nicht kennt, sucht man vergeblich, und selbst wenn man sie findet, muss man Klassifikations-, Item- und Periodencodes zusammensetzen, und für die autonomen Bezirke muss man in der Tabelle nach Zeilen suchen. Deshalb kämpft man vor jedem Berichtsabgabetermin mit KOSIS.
Dieses Tool reduziert diesen Prozess auf eine einzige Zeile in natürlicher Sprache. Sehen wir es uns in realen Arbeitsszenarien an.
📋 Stadtverwaltungsreden, Neujahrsansprachen, Arbeitsberichte — 30 Minuten werden zu 5 Sekunden
Situation — In den Entwurf der Neujahrsansprache des Bürgermeisters muss ein Absatz über 'Unsere Stadt aktuell' eingefügt werden. Das mühsame Zusammenkopieren von Bevölkerungs-, Geburten-, Beschäftigungs- und Regionalwirtschaftszahlen aus KOSIS dauert jedes Mal 30 Minuten bis 1 Stunde.
나: 성남시 신년사에 넣을 핵심 통계 한 줄로 정리해줘
AI: 성남시의 주민등록 인구 ○○만 명, 합계출산율 ○.○○명,
65세 이상 고령인구 ○○만 명, 실업률 ○.○%, 지역내총생산 ○○조 원
(○○○○년 기준)입니다.Der Einzeilenmodus für Reden von chain_region_brief filtert automatisch die Kernindikatoren heraus und fasst sie in einem Satz zusammen. Auch eine vollständige Übersicht aller 13 Indikatoren ist auf einmal möglich.
🏛 Vorbereitung auf Antworten im Gemeinderat und Verwaltungsprüfungen — 'Ist das nicht niedriger als in der Nachbargemeinde?'
Situation — Ein Abgeordneter wird fragen: 'Ist die Arbeitslosenquote in unserem Bezirk nicht höher als in den Nachbarbezirken?' Man muss die benachbarten autonomen Bezirke einzeln abfragen und eine Vergleichstabelle erstellen.
나: 강남구, 서초구, 송파구 실업률이랑 고용률 비교해줘
AI: 📊 3개 지역 × 2개 지표 비교
• 실업률: 최고 ○○구(○.○%), 최저 ○○구(○.○%)
• 고용률: 최고 ○○구(○○.○%), 최저 ○○구(○○.○%)
[지역별 순위 매트릭스 + 기준시점 포함]chain_compare_regions erstellt bis zu 17 Regionen × 8 Indikatoren auf einmal als Matrix und ordnet sie nach Indikator. Auch 'Rangliste der Geburtenraten der 17 Provinzen landesweit' ist eine einzige Zeile.
📑 Analyse von Politikberichten und Forschungsaufträgen — 10-Jahres-Trend auf einmal
Situation — Bericht zum 5-Jahres-Plan zur Bekämpfung der niedrigen Geburtenrate. Es werden Zeitreihendaten für das Kapitel 'Trend der letzten 10 Jahre' benötigt.
나: 저출산 영역 최근 10년 추세 정리해줘
AI: 📑 저출산 영역 10년 추세
• 합계출산율: 지속 하락 (20○○→20○○년, -○○%)
• 출생아수: 지속 하락 (-○○%)
• 혼인건수: 지속 하락 (-○○%)
• 평균초혼연령: 상승 (+○.○세)
[연도별 데이터포인트 + 변화율 전체]chain_policy_indicator analysiert 7 Politikbereiche (niedrige Geburtenrate, Alterung, Wohnen, Arbeitsplätze, öffentliche Sicherheit, Gesundheit, Wirtschaft) in Bündeln von 3-4 Indikatoren pro Bereich als Zeitreihen. Durchschnittliche Änderungsrate, Höchst-/Tiefstpunkte und Trendklassifizierung werden mitgeliefert.
🗣 Bürgeranfragen und Pressemitteilungen — Offizielle Zahlen auf Anfrage sofort
Situation — Ein Bürgeranruf: 'Wie ist die Feinstaubbelastung in unserer Gegend in letzter Zeit?' Oder man muss innerhalb von 30 Minuten Zahlen für eine Pressemitteilung liefern.
나: 충남 미세먼지 수치
AI: 20○○년 충남의 PM2.5 농도는 ○○㎍/㎥입니다. 📊 출처: KOSIS
나: 부산 인구 최근 10년 변화는?
AI: 부산의 인구 10년 추세: 지속적인 하락 추세. ... (변화율·최고/최저점 포함)Einzelne Zahlen mit quick_stats, Trends mit quick_trend. Alle Antworten enthalten die Quellenangabe der Statistikabelle, sodass sie direkt zitiert werden können.
🎯 Bis zur Ebene der autonomen Bezirke, Städte und Kreise — Nicht in den regionalen Durchschnitten untergehen
Situation — Man braucht die Beschäftigungsquote von '광진구', aber bei der Suche erscheint immer nur der Durchschnitt von '서울특별시'.
나: 광진구 고용률, 광진구 65세 이상 인구
AI: 2025년 하반기 광진구의 고용률은 61.6%입니다.
2024년 광진구의 65세 이상 고령인구는 ○○,○○○명입니다.Es greift direkt auf die KOSIS-Statistiktabelle für autonome Bezirke zu, die über 230 autonome Bezirke, Städte und Kreise abdeckt. Es verwendet vorrangig die KOSIS-Standardtabelle (Routing über autonome Bezirkscodes), in der alle 226 Stadt- und Landkreise in derselben Struktur enthalten sind, und ergänzt nur Bereiche, die nicht in der Standardtabelle enthalten sind, durch das statistische Jahrbuch der autonomen Bezirke (.xlsx). Namen wie 중구 oder 남구, die in mehreren Städten vorkommen, werden genau unterschieden, wenn man die Großstadt mit angibt, z.B. 'Busan 중구'.
🛡 Stecken Sie nicht einfach die von ChatGPT geschätzten Statistiken in Ihren Bericht
Normale KI merkt sich statistische Zahlen zum Zeitpunkt des Trainings. Wenn man nach 'Bevölkerung von Seoul' fragt, gibt sie selbstbewusst einen Wert von vor Jahren an. Wenn diese Zahl in Berichte, Reden oder Unterlagen für die parlamentarische Prüfung einfließt, ist das ein Desaster.
Wenn dieser Connector aktiviert ist, fragt die KI bei jeder Frage die offizielle KOSIS-Datenbank in Echtzeit ab und gibt in der Antwort die Statistiktabellen-ID (Quelle) an. Das ist kein Schätzen, sondern Zitieren.
Bei Statistiken mit Bevölkerungsprognosen wird automatisch der Hinweis 'Diese Zahl ist keine tatsächliche Messung, sondern eine Prognose des 국가데이터처' hinzugefügt, und bei aktuellen Bevölkerungsdaten (Geburten, Todesfälle, Heiraten, Scheidungen) der Hinweis 'Kann vorläufig sein'. Dies verhindert den Fehler, Prognosen oder vorläufige Werte wie endgültige Messungen zu zitieren.
Was kann man fragen?
Statistik-Keywords — 92 + über 100 natürliche Sprachaliase
Bereich | Beispiel-Keywords |
Bevölkerung, Geburten, Alterung | Bevölkerung, Geburtenrate, Anzahl der Geburten, Sterblichkeitsrate, Lebenserwartung, ältere Bevölkerung, Altersindex |
Heirat, Scheidung | Anzahl der Eheschließungen, Scheidungsrate, Alter bei Erstheirat, Durchschnittsalter bei Erstheirat |
Beschäftigung, Einkommen | Arbeitslosenquote, Beschäftigungsquote, Anzahl der Beschäftigten, Erwerbsbevölkerung, durchschnittlicher Monatslohn |
Wirtschaft | BIP, Wirtschaftswachstumsrate, Preise (Verbraucherpreisindex), GRDP (Bruttoregionalprodukt) |
Handel | Export, Import, Handelsbilanz |
Wohnen | Hauskaufpreise, Wohnungspreise, Jeonse-Preise |
Umwelt, Verkehr, Gesellschaft | Feinstaub (PM2.5/PM10), Kfz-Zulassungen, Verkehrsunfälle, Kriminalitätsrate, Anzahl der Ärzte, ausländische Touristen |
Sie müssen die offiziellen Begriffe nicht kennen. Es wandelt automatisch Abkürzungen und Umgangssprache um, wie 집값→주택매매가격, 노인→고령인구, 월소득→월평균임금. Es erkennt auch Tippfehler wie 출산률·고용율, Leerzeichen wie G D P und englische Begriffe wie population·gdp.
Indikatoren mit unterschiedlicher Definition werden nicht stillschweigend ausgetauscht — bei Fragen, die ähnlich aussehen, aber andere Statistiken sind, wie
청년실업률(Jugendarbeitslosenquote, 15-29 Jahre),연봉(Jahresgehalt),가계소득(Haushaltseinkommen), wird statt einer falschen Antwort ein Hinweis gegeben, 'welche Statistik Sie ansehen sollten'. Gleiches gilt für Ortsnamen — es gibt keinen landesweiten Wert für nicht erkannte Ortsnamen aus.
Regionen — 17 Provinzen + über 230 autonome Bezirke, Städte und Kreise
Alle 17 Provinzen (vollständige Namen und Abkürzungen) und über 230 autonome Bezirke, Städte und Kreise. Auch Zeitausdrücke der koreanischen Verwaltungssprache wie "민선 8기 출산율 추이" (Trend der Geburtenrate in der 8. Amtszeit der gewählten Beamten), "임기 4년차 GRDP" (GRDP im 4. Amtsjahr), "작년 대비 실업률" (Arbeitslosenquote im Vergleich zum Vorjahr), "역대 인구" (historische Bevölkerung) werden automatisch in Analysejahre umgerechnet.
14 Werkzeuge
Die meisten Fragen werden mit quick_stats, quick_trend, quick_rank und den 3 Kettentools beantwortet. Der Rest dient der präzisen Abfrage.
Kategorie | Werkzeug | Funktion |
Natürliche Sprache sofortige Antwort ⭐ |
| Eine Zeile natürlicher Sprache → sofortige KOSIS-Zahlen |
| Zeitreihentrend + Änderungsrate + Höchst-/Tiefstpunkte (Erkennung natürlicher Sprachzeiträume) | |
| 'Unser Ort, wie viele Platz landesweit?' — Rang, Perzentil, durchschnittliche Abweichung, Rangänderung im Vergleich zu allen 17 Provinzen oder Stadt-/Landkreisen. Vergleichbarkeit durch einheitliche Tabelle und einheitlichen Zeitpunkt in einer einzigen Abfrage | |
Quellen und Fußnoten 🆕 |
| Offizielle Definition der Statistik, Zweck, Erhebungszyklus, Begriffserklärung + Erstellung von Zitatfußnoten für Berichte |
Kette ⛓ |
| Umfassende Übersicht über 13 Indikatoren einer Region (inkl. Einzeilenmodus für Reden) |
| N Regionen × M Indikatoren Matrix + Rang (max. 17×8) | |
| 7 Politikbereiche gebündelt als 10-Jahres-Zeitreihe | |
Suche und Erkundung |
| Keyword-Suche in KOSIS-Statistiktabelle |
| Baumstruktur nach Thema/Institution + Bereichsempfehlungen | |
| Metadaten der Statistikabelle (Klassifikation, Items, Periodizität) | |
Präzise Daten |
| Abfrage bestimmter Statistiktabellendaten (automatische Zuordnung von Regions- und Itemnamen) |
| Präziser Vergleich nach Zeitpunkt und Item | |
| Detaillierte Zeitreihe (CAGR, Standardabweichung, Trendlinie) | |
Datei-Statistiktabelle |
| Download und Parsen von KOSIS-Datei-Statistiktabelle ( |
Installation
Methode 1 — Lokales stdio (Claude Desktop / Cursor)
Voraussetzungen: Python 3.11+ · KOSIS OpenAPI-Schlüssel (kostenlos)
git clone https://github.com/chrisryugj/korean-stats-mcp.git
cd korean-stats-mcp
python3 -m venv .venv
.venv/bin/pip install -e .{
"mcpServers": {
"korean-stats": {
"command": "/절대경로/korean-stats-mcp/.venv/bin/korean-stats-mcp",
"args": [],
"env": { "KOSIS_API_KEY": "발급받은_키" }
}
}
}Ein-Klick-Registrierung:
export KOSIS_API_KEY=발급받은_키
# PATH에 korean-stats-mcp 가 있어야 함 (.venv/bin 활성화 후)
bash install.sh --client cursorSie können auch KOSIS_API_KEY=... in die .env-Datei im Projektstammverzeichnis einfügen (siehe .env.example).
Methode 2 — Docker Compose (Serverbereitstellung)
cp .env.example .env # KOSIS_API_KEY 설정
docker compose up -d --buildMCP:
POST /mcp(Standard:3000)Gesundheit:
GET /healthRedis: internes Netzwerk von Compose (
REDIS_URL=redis://redis:6379/0)
Methode 3 — Vercel (Serverloses HTTP)
cp .env.example .env # 로컬 vercel dev용
npx vercel login
npx vercel env add KOSIS_API_KEY # production + preview
npx vercel env add MCP_AUTH_TOKEN # (권장) Bearer 인증
npx vercel --prodMCP:
POST https://<your-project>.vercel.app/mcpGesundheit:
GET /healthRedis: Nach Integration von Upstash Redis
REDIS_URLsetzen (bei Nichtsetzung In-Memory-Cache)Cursor-Verbindung:
{
"mcpServers": {
"korean-stats": {
"url": "https://<your-project>.vercel.app/mcp",
"headers": { "Authorization": "Bearer YOUR_MCP_AUTH_TOKEN" }
}
}
}Wenn Sie nur HTTP lokal ausführen:
KOSIS_API_KEY=... korean-stats-mcp --http --port 3000Genauigkeit und Vertrauenswürdigkeit
Offizielle Quelle — Alle Zahlen werden in Echtzeit von der 국가데이터처 KOSIS OpenAPI abgefragt. Die Antwort enthält die Statistiktabellen-ID, sodass sie direkt zitiert und verifiziert werden kann.
Unterscheidung von Prognosedaten — Bei Statistiken mit Bevölkerungsprognosen wird automatisch der Hinweis 'Prognose' hinzugefügt.
Datenintegrität der autonomen Bezirke — Wenn Daten auf Bezirksebene nicht in KOSIS vorhanden sind, wird nicht willkürlich der Wert der Provinz als Bezirkswert ausgegeben, sondern es wird angegeben, dass 'durch Provinzdaten ersetzt wurde'.
Cache — Gleiche Anfragen werden 6 Stunden lang zwischengespeichert, um schnell zu antworten, ohne den Aktualisierungszyklus der Statistiken zu beeinträchtigen.
Änderungshistorie
Vollständige Portierung von TypeScript/Node MCP → Python FastMCP 3.4.7
Entfernung der Abhängigkeit vom integrierten Host npm/gomdori — unabhängiges stdio + Streamable HTTP
Excel-Parsing: kordoc → openpyxl Markdown-Konvertierung
Beibehaltung von 14 Werkzeugen, 2 Ressourcen, 1 Prompt
Lizenz
Referenzierte Projekte
Dayoooun/korea-stats-mcp — Ausgangspunkt dieses Forks. Tiefer Dank an das Original. Die Lizenz ist dieselbe MIT wie das Original.
FastMCP — Python MCP Server-Framework.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
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…
Macro data for AI agents: GDP, inflation, unemployment & trade, any country. No API keys.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nagyeop/kosis_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server