korea-public-data-mcp
korea-public-data-mcp
Este es un servidor MCP que permite a Claude invocar directamente datos públicos de Corea del Sur (OpenDART de la Comisión de Servicios Financieros, ECOS del Banco de Corea, KOSIS de la Oficina Nacional de Estadística, Portal de Datos Públicos) para responder preguntas sobre finanzas, economía y estadísticas basándose en respuestas reales de la API, no en suposiciones.
Al igual que otros MCP que utilizan datos de divulgación electrónica DART para responder preguntas sobre estados financieros, este servidor permite que Claude responda a preguntas como "¿Cuánto fueron las ventas del año pasado de esta empresa?", "¿Cuál es la tendencia reciente de la tasa de interés base?" o "¿Cuál es la tasa de desempleo en nuestro país?" invocando las herramientas de este servidor y fundamentando las respuestas en los datos más recientes.
El nombre es provisional:
korea-public-data-mcp. Si lo subes a GitHub, puedes cambiarlo libremente al nombre que desees sin que afecte el funcionamiento del código.
Por qué se diseñó así (principios de diseño)
Se diseñó respetando tres restricciones solicitadas por la persona responsable.
Sin costos de LLM/externos — Este servidor solo "obtiene" datos. No invoca ningún LLM internamente ni utiliza APIs de pago. La inferencia/resumen real lo realiza Claude, que invoca este MCP, por lo que el costo operativo del servidor es prácticamente cero (excluyendo electricidad/recursos del servidor).
Prevención de bloqueo de API (baneo de IP) — Las APIs públicas gubernamentales a veces bloquean temporalmente si se superan los límites de llamadas por segundo/día. Por ello:
Se aplica un límite de llamadas por segundo (token bucket) en la entrada de todas las llamadas API para ralentizar la velocidad automáticamente.
Las preguntas repetidas se reutilizan mediante caché en memoria, y los archivos estáticos grandes, como la lista de empresas DART, se almacenan en caché en disco (7 días por defecto) para evitar descargas repetidas.
En lugar de llamar individualmente a cada cuenta y período, se obtienen por tabla y rango de períodos de una sola vez (por ejemplo, los estados financieros se obtienen con una sola llamada por empresa para todas las cuentas, y las estadísticas se consultan con un rango de inicio a fin de una sola vez).
Para las APIs que admiten procesamiento por lotes, como la consulta del estado del registro de negocios, se agrupan hasta 100 casos en una sola llamada.
Ante respuestas 429/5xx, se reintenta hasta un máximo de 3 veces con retroceso exponencial.
Cada uno ejecuta con Docker — Sin levantar un servidor separado, cada miembro del equipo levanta localmente con
docker build+docker runy lo conecta a su propio Claude.
Related MCP server: OpenDART MCP Server
APIs incluidas actualmente (alcance principal de la primera fase)
Implementar las 40+ solicitudes completas de una sola vez sería difícil de mantener, por lo que primero se implementaron con alta calidad las 4 instituciones principales que la persona responsable consulta con más frecuencia. El resto se puede agregar siguiendo el mismo patrón según la guía de extensión.
Institución | Herramientas proporcionadas | Notas |
OpenDART (Comisión de Servicios Financieros) |
| Buscar por nombre de empresa → corp_code → estados financieros/divulgaciones en ese orden |
ECOS (Banco de Corea) |
| Se puede consultar directamente por nombre: tasa base, tipo de cambio, PIB, precios |
KOSIS (Oficina Nacional de Estadística) |
| Buscar por palabra clave y luego consultar por tabla y rango de períodos de una sola vez |
Portal de Datos Públicos (data.go.kr) |
| El estado del registro de negocios admite procesamiento por lotes (máx. 100 casos); otros servicios se manejan temporalmente con una herramienta GET genérica |
Banco de Exportaciones e Importaciones de Corea |
| No se emite a través de data.go.kr, sino en el sitio propio koreaexim.go.kr. Los tipos de cambio, tasas de préstamo y tasas internacionales son productos API separados, por lo que se debe solicitar cada servicio por separado y obtener 3 authkeys. Los datos pueden estar vacíos si se consultan antes de las 11 a. m. en días hábiles o en días no hábiles. |
Guía de obtención de clave API
Incluso si aún no tienes una clave, el servidor se iniciará correctamente y se mostrará la lista de herramientas. Sin embargo, al invocar una herramienta, se devolverá un mensaje indicando que falta la clave, por lo que puedes solicitar las que necesites en orden.
Institución | Lugar de emisión | Notas |
OpenDART | https://opendart.fss.or.kr → Registro → [Solicitud/Gestión de clave de autenticación] | Se emite inmediatamente después del registro, es el más rápido |
ECOS | Solicitar clave de autenticación de Open API, inmediato a 1 día | |
KOSIS | "Solicitud de uso de OpenAPI", puede tardar en aprobarse | |
Portal de Datos Públicos | https://www.data.go.kr → Página de detalle del servicio deseado → [Solicitud de uso] | Se debe solicitar por separado para cada servicio. Se recomienda solicitar primero "Verificación de autenticidad y consulta de estado del registro de negocios del Servicio de Impuestos Nacionales" |
Banco de Exportaciones e Importaciones de Corea | https://www.koreaexim.go.kr/ir/HPHKIR019M01 → Especificación de Open API → Solicitud de emisión de clave de autenticación | No es a través de data.go.kr, sino emisión propia en koreaexim.go.kr. Inmediato a mismo día |
Una vez que recibas las claves, copia .env.example a .env y complétalas.
cp .env.example .env
# .env 파일을 열어 발급받은 키 입력Inicio rápido (Docker)
git clone <이 레포 주소>
cd korea-public-data-mcp
cp .env.example .env # 키 채워넣기 (없어도 일단 진행 가능)
docker build -t korea-public-data-mcp .Regístralo en la configuración MCP de Claude Desktop / Claude Code (como claude_desktop_config.json) de la siguiente manera.
{
"mcpServers": {
"korea-public-data": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--env-file", "/절대경로/korea-public-data-mcp/.env",
"korea-public-data-mcp"
]
}
}
}Al reiniciar Claude, aparecerán las herramientas dart_*, ecos_*, kosis_*, data_go_kr_* en la lista de herramientas. Ahora, si haces preguntas como "Dime las ventas de Samsung Electronics en 2023", Claude invocará estas herramientas y responderá con datos reales.
Desarrollo/pruebas local (sin Docker)
python -m venv .venv && source .venv/bin/activate
pip install -e .
pip install pytest
pytest -q # 키 없이도 통과하는 스모크 테스트
python -m korea_public_data_mcp.server # stdio로 직접 실행해보기 (Ctrl+C로 종료)Guía de extensión (agregar nueva API)
Para agregar las instituciones de la lista completa proporcionada por la persona responsable (RISS, KIPRIS, Sistema Nacional de Información Legal,나라장터, Seoul Open Data Plaza, etc.), simplemente repite el siguiente patrón. Por ejemplo, para agregar una nueva institución foo:
Agrega la entrada
fooenAPI_KEYSensrc/korea_public_data_mcp/config.py(variable de entorno, URL de emisión)Crea
src/korea_public_data_mcp/clients/foo.py— usacore/http_client.get_jsonpara escribir solo la lógica de llamada al endpoint real (los reintentos/límites de velocidad los maneja automáticamente el cliente compartido)Crea
src/korea_public_data_mcp/tools/foo_tools.py— envuelve la función del cliente con el decorador@mcp.tool(), capturaMissingApiKeyErrorpara devolver un mensaje informativo, y usacached_callpara el almacenamiento en cachéAgrega una línea
foo_tools.register(mcp)ensrc/korea_public_data_mcp/server.pyAgrega las entradas en
.env.exampley en la tabla del README
Gracias a esta estructura, no es necesario volver a escribir la lógica de prevención de bloqueos (límite de velocidad/caché/procesamiento por lotes) cada vez que se agrega una nueva API.
Próximos candidatos para extensión (según la lista de solicitudes de la persona responsable)
Legal/Administrativo: Open API del Sistema Nacional de Información Legal, API de Información de la Asamblea Nacional Abierta
Contratación/Negocios: 나라장터 (g2b), Centro de Datos de Contratación, NTIS Información Nacional de Ciencia y Tecnología
Académico: RISS, KISTI, OpenAPI de la Biblioteca Nacional de Corea
Propiedad Intelectual: KIPRIS Plus (patentes, marcas)
Regional: Seoul Open Data Plaza, Gyeonggi Data Dream
Indíqueme la prioridad o la próxima API que desee agregar, y la implementaré a partir de ese punto.
Licencia
Siéntete libre de usar/modificar para uso interno.
Maintenance
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceIntegrates with Claude Desktop to provide Korean financial data including stock prices, bonds, real estate transactions, and economic indicators from multiple sources.
- AlicenseNot gradedqualityDmaintenanceEnables Claude to access the Korean Financial Supervisory Service's OpenDART API for corporate filings, financial statements, and disclosures.613MIT
- AlicenseAqualityDmaintenanceEnables MCP clients like Claude Desktop to search, retrieve, and analyze Korean statistical data from KOSIS OpenAPI.161MIT
- AlicenseAqualityDmaintenanceEnables natural language querying of Korean statistical data from KOSIS, including population, employment, GDP, housing prices, and more, with support for regional and trend analysis.815MIT
Related MCP Connectors
Search company disclosures and financial statements from the Korean market. Retrieve stock profile…
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…
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/GeeYun086/korea-public-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server