KIS REST API MCP Server
MCP (Protocolo de Contexto de Modelos) para la API REST de Korea Investment & Securities
Este es un servidor que invoca la API REST de Korea Investment & Securities (KIS) como herramientas MCP. Proporciona APIs para consultas de acciones nacionales/extranjeras, consultas de cuentas y pedidos, tanto a través de herramientas generales basadas en catálogo como de herramientas de conveniencia de uso frecuente.
Funciones principales
Invocación basada en catálogo de API
Proporciona 166 APIs REST en 8 grupos
Verificación de grupo/ID de API, ruta, método HTTP, candidatos a TR_ID y parámetros de solicitud
Proporciona etiquetas en coreano, guías de entrada, valores de ejemplo y códigos principales para cada parámetro
Lista completa:
API_CATALOG.md
Acciones nacionales
Consulta de precio actual, cotizaciones por período/día, libro de órdenes, índices sectoriales e información básica
Consulta de saldo, estado de activos de la cuenta de inversión, monto disponible para compra y cantidad disponible para venta
Consulta de pedidos, historial de pedidos y pedidos corregibles/cancelables
Acciones extranjeras
Soporte para códigos de mercado de EE. UU., Japón, China, Hong Kong y Vietnam
Consulta de precio actual, saldo, saldo actual basado en ejecución, margen por moneda y monto disponible para compra
Selección automática de TR_ID de pedido según el mercado y la dirección de compra/venta
Ejecución/Operación
Soporte para transporte
stdio,sse,streamable-httpConfiguración basada en
.envo argumentos de línea de comandosAutocompletado de número de cuenta, código de producto de cuenta y valores de autenticación
Caché de tokens basada en clave de aplicación y tipo de cuenta
Rechazo predeterminado de parámetros de solicitud desconocidos
Bloqueo predeterminado de APIs de pedido/corrección/cancelación
Related MCP server: kiwoom-mcp
Valores predeterminados de seguridad
Las APIs que modifican el estado de la cuenta, como pedidos/correcciones/cancelaciones, están bloqueadas de forma predeterminada.
KIS_ENABLE_TRADING=trueLas APIs de cambio de estado solo se ejecutan si se configuran explícitamente los valores anteriores. Si solo utiliza APIs de consulta, no los configure.
Requisitos
Python >= 3.13
uv
Instalación
Siga las instrucciones en INSTALL.md para la instalación. Los LLM o clientes MCP también deben leer este archivo primero al realizar la configuración.
INSTALL.md incluye el siguiente contenido:
Instalación de dependencias basada en
uvCreación de
.envy configuración deKIS_APP_KEY,KIS_APP_SECRET,KIS_CANO,KIS_ACNT_PRDT_CDEjemplos de registro para Codex CLI, Claude Code, Claude Desktop y clientes MCP generales
Configuración
KIS_MCP_TOOLSET=catalogpara ahorrar contextoEjemplo de
call-kis-apipara consultar saldo, monto disponible para compra y precio actual
Preparación local rápida:
pip install uv
uv sync
cp .env.example .env
chmod 600 .envLuego, configure los siguientes valores en .env. Consulte INSTALL.md para obtener explicaciones detalladas de los valores y comandos de registro por cliente.
KIS_APP_KEY="발급받은 앱키"
KIS_APP_SECRET="발급받은 시크릿키"
KIS_ACCOUNT_TYPE="REAL" # REAL 또는 VIRTUAL
KIS_CANO="계좌번호 앞 8자리"
KIS_ACNT_PRDT_CD="01"
KIS_MCP_TOOLSET="catalog"Ejecución
# stdio, 로컬 MCP 클라이언트 권장
uv run python server.pyTambién se puede configurar mediante argumentos de línea de comandos.
uv run python server.py \
--app-key "앱키" \
--app-secret "시크릿키" \
--account-type "REAL" \
--cano "계좌번호" \
--acnt-prdt-cd "01"Selección de transporte:
MCP_TYPE=stdio uv run python server.py
MCP_TYPE=streamable-http MCP_HOST=127.0.0.1 MCP_PORT=8000 MCP_PATH=/mcp uv run python server.py
MCP_TYPE=sse MCP_HOST=127.0.0.1 MCP_PORT=8000 MCP_PATH=/sse uv run python server.pyEjemplo de registro de cliente MCP:
A continuación se muestra un ejemplo mínimo para un cliente MCP general. Utilice INSTALL.md para los comandos de Codex CLI, Claude Code y Claude Desktop.
{
"mcpServers": {
"kis-mcp-server": {
"command": "uv",
"args": ["run", "python", "server.py"],
"cwd": "<project-root>",
"env": {
"KIS_MCP_TOOLSET": "catalog",
"KIS_MCP_LOG_LEVEL": "WARNING"
}
}
}
}Configuración de herramientas MCP
Herramientas de catálogo
Herramienta | Descripción |
| Consulta de lista basada en grupo de API/término de búsqueda |
| Verificación de ruta, candidatos a TR_ID y parámetros de una sola API |
| Invocación de API de catálogo con |
list-kis-api-specs devuelve etiquetas, valores de ejemplo y códigos principales de los parámetros obligatorios.
get-kis-api-spec devuelve información de label, guide, examples, values, default y auto_fill de todos los parámetros, permitiendo al LLM verificar inmediatamente el formato de entrada necesario para la llamada.
call-kis-api realiza los siguientes procesos de forma común:
Entrada automática de número de cuenta/código de producto de cuenta basada en variables de entorno
Emisión y caché de tokens de autenticación
Configuración de solicitudes GET/POST
Selección automática de TR_ID de pedido entre múltiples candidatos
Aplicación de puerta de seguridad para APIs de cambio de estado
Rechazo predeterminado de parámetros no presentes en el catálogo
Herramientas de conveniencia
Las funciones de acciones nacionales/extranjeras de uso frecuente también se proporcionan como herramientas MCP separadas.
Herramienta | Descripción |
| Consulta de precio actual de acciones nacionales |
| Consulta de saldo de acciones nacionales |
| Consulta de pedidos/ejecuciones diarias de acciones nacionales |
| Consulta de detalles de pedidos de acciones nacionales |
| Consulta de cotizaciones diarias de acciones nacionales |
| Consulta de cotizaciones por período de acciones nacionales |
| Consulta de libro de órdenes de acciones nacionales |
| Consulta de precio actual de índices/sectores nacionales |
| Consulta de información básica de acciones nacionales |
| Consulta de precio actual de acciones extranjeras |
| Pedido de compra/venta de acciones nacionales |
| Pedido de compra/venta de acciones extranjeras |
Las herramientas de pedido tampoco se ejecutarán sin KIS_ENABLE_TRADING=true.
Optimización de carga de herramientas
Al conectarse al servidor, los clientes MCP cargan los nombres, descripciones y esquemas de entrada de las herramientas en el contexto. Cuantas más herramientas de conveniencia se expongan, mayor será el uso de contexto al inicio de la conversación; por lo tanto, si es necesario, se puede utilizar un modo ligero que solo exponga las 3 herramientas de catálogo.
KIS_MCP_TOOLSET=catalog uv run python server.pyValor | Número de herramientas expuestas | Herramientas expuestas | Uso |
| 15 | Herramientas de catálogo + todas las de conveniencia | Compatible con el comportamiento existente |
| 3 |
| Bajo uso de contexto |
El modo catalog es para reducir la carga del esquema de herramientas MCP. Aunque oculta las herramientas de conveniencia, las 166 APIs se pueden seguir invocando a través de call-kis-api. Puede buscar la API necesaria con list-kis-api-specs y consultar los parámetros detallados necesarios con get-kis-api-spec en el momento.
Flujo de uso recomendado:
Busque la API con
list-kis-api-specs.Verifique los parámetros obligatorios, valores de ejemplo y códigos con
get-kis-api-spec.Invoque la API real con
call-kis-api.
En la configuración del cliente MCP, solo necesita agregar variables de entorno.
{
"env": {
"KIS_MCP_TOOLSET": "catalog"
}
}Si desea exponer las herramientas de conveniencia de uso frecuente directamente en la lista de herramientas, utilice el valor predeterminado full.
Ejemplo de call-kis-api
Precio actual de acciones nacionales:
{
"group": "domestic_stock",
"api_type": "inquire_price",
"params": {
"fid_cond_mrkt_div_code": "J",
"fid_input_iscd": "005930"
}
}Saldo de acciones extranjeras:
{
"group": "overseas_stock",
"api_type": "inquire_balance",
"params": {
"ovrs_excg_cd": "NASD",
"tr_crcy_cd": "USD"
}
}Saldo actual de acciones extranjeras basado en ejecución:
{
"group": "overseas_stock",
"api_type": "inquire_present_balance",
"params": {
"wcrc_frcr_dvsn_cd": "01",
"natn_cd": "000",
"tr_mket_cd": "00",
"inqr_dvsn_cd": "00"
}
}Monto disponible para compra de acciones extranjeras:
{
"group": "overseas_stock",
"api_type": "inquire_psamount",
"params": {
"ovrs_excg_cd": "NASD",
"ovrs_ord_unpr": "1",
"item_cd": "QQQ"
}
}Grupos de API principales
Grupo | Descripción | Número de APIs |
| Autenticación | 2 |
| Acciones nacionales | 74 |
| Acciones extranjeras | 34 |
| Bonos nacionales | 14 |
| Futuros/Opciones nacionales | 20 |
| Futuros/Opciones extranjeras | 19 |
| ELW | 1 |
| ETF/ETN | 2 |
El ID completo de la API, la ruta, el TR_ID y la guía de parámetros obligatorios se resumen en API_CATALOG.md.
Variables de entorno
Nombre | Descripción | Valor predeterminado |
| Clave de aplicación KIS | - |
| Clave secreta KIS | - |
|
| - |
| Primeros 8 dígitos del número de cuenta | - |
| Código de producto de cuenta |
|
| Archivo de caché de token |
|
| Activación de API de pedido/corrección/cancelación | Desactivado |
| Alcance de exposición de herramientas MCP ( |
|
| Nivel de registro |
|
|
|
|
| Host HTTP/SSE |
|
| Puerto HTTP/SSE |
|
| Ruta HTTP/SSE |
|
Desarrollo/Verificación
uv run python -m compileall main.py server.py example.py tests
uv run python -m unittest discover -v
git diff --checkLicencia
MIT
Available Tools
10 toolsinquery-balanceB
Get current stock balance information from Korea Investment & Securities
Inputs: no named parameters.
inquery-order-detailC
Get order detail from Korea Investment & Securities
Inputs: order_no (required), order_date (required).
inquery-order-listC
Get daily order list from Korea Investment & Securities
Inputs: start_date (required), end_date (required).
inquery-overseas-stock-priceC
Get overseas stock price from Korea Investment & Securities
Inputs: symbol (required), market (required).
inquery-stock-askC
Get stock ask price from Korea Investment & Securities
Inputs: symbol (required).
inquery-stock-historyC
Get daily stock price history from Korea Investment & Securities
Inputs: symbol (required), start_date (required), end_date (required).
inquery-stock-infoC
Get daily stock price information from Korea Investment & Securities
Inputs: symbol (required), start_date (required), end_date (required).
inquery-stock-priceC
Get current stock price information from Korea Investment & Securities
Inputs: symbol (required).
order-overseas-stockC
Order overseas stock (buy/sell) from Korea Investment & Securities
Inputs: symbol (required), quantity (required), price (required), order_type (required), +1 more.
order-stockC
Order stock (buy/sell) from Korea Investment & Securities
Inputs: symbol (required), quantity (required), price (required), order_type (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
The tools have clear distinctions between querying (inquery-*) and ordering (order-*), but within the querying tools there is significant overlap that could cause confusion. For example, inquery-stock-price, inquery-stock-info, and inquery-stock-ask all seem to retrieve stock price-related data with subtle differences that may not be immediately clear to an agent.
All tool names follow a consistent hyphen-separated pattern with a clear verb-noun structure (e.g., inquery-balance, order-stock). The naming is predictable and uniform across all 10 tools, making it easy for an agent to parse and understand the purpose of each tool.
With 10 tools, the count is well-scoped for a securities trading API, covering key operations like querying balances, orders, stock prices, and placing orders. Each tool appears to serve a distinct function within the domain, and the number is neither too sparse nor overwhelming.
The tool set provides comprehensive coverage for core trading operations, including querying various data (balances, orders, prices) and executing orders (domestic and overseas). A minor gap is the lack of tools for modifying or canceling orders, which might be necessary for full lifecycle management, but agents can likely work around this with the existing query and order tools.
Maintenance
Related MCP Connectors
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Official Intrinio MCP server. US stock prices, options and fundamentals for AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables natural language control of Kiwoom Securities accounts through Claude Desktop. It provides tools for stock price lookup, buying and selling stocks, and analyzing portfolios or trade history via the Kiwoom REST API.112MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that wraps the Kiwoom Securities REST API to provide read-only access to Korean stock market information. It enables LLMs to query real-time prices, charts, investor trends, and account balances directly.4MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that integrates Futu OpenAPI, enabling AI models to query real-time market data and execute trades across Hong Kong, US, and A-share markets.30 PyPI81MIT
- AlicenseAqualityBmaintenanceRead-only MCP server for Kiwoom Securities, enabling natural language queries of Korean stock market data and account information, including ISA tax status.49129 npm1MIT