Labsco
migusdn logo

Korea Investment & Securities (KIS) REST API

โ˜… 25

from migusdn

Provides stock trading and market data using the Korea Investment & Securities (KIS) REST API.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ REST API MCP (Model Context Protocol)

Python 3.13+ License: MIT

<a href="https://glama.ai/mcp/servers/@migusdn/KIS_MCP_Server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@migusdn/KIS_MCP_Server/badge" alt="KIS REST API Server MCP server" /> </a>

ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ(KIS) REST API๋ฅผ MCP ๋„๊ตฌ๋กœ ํ˜ธ์ถœํ•˜๋Š” ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ๊ตญ๋‚ด/ํ•ด์™ธ ์ฃผ์‹ ์กฐํšŒ, ๊ณ„์ขŒ ์กฐํšŒ, ์ฃผ๋ฌธ ๊ด€๋ จ API๋ฅผ ์นดํƒˆ๋กœ๊ทธ ๊ธฐ๋ฐ˜ ๋ฒ”์šฉ ๋„๊ตฌ์™€ ์ž์ฃผ ์“ฐ๋Š” ํŽธ์˜ ๋„๊ตฌ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์˜

์ด ํ”„๋กœ์ ํŠธ๋Š” ๊ฐœ์ธ/์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์šด์˜ํ•˜๋Š” ๋น„๊ณต์‹ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ด๋ฉฐ ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ, KIS Developers, true friend ํ•œ๊ตญํˆฌ์ž Open API์™€ ์ œํœดยทํ›„์›ยท์Šน์ธยท๊ณต์‹ ๋ฐฐํฌ ๊ด€๊ณ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ณธ ํ”„๋กœ์ ํŠธ์˜ ์„ค์น˜, ์„ค์ •, API ํ˜ธ์ถœ, ๊ณ„์ขŒ ์กฐํšŒ, ์ฃผ๋ฌธ ์‹คํ–‰, ํˆฌ์ž ํŒ๋‹จ ๋ฐ ๊ทธ ๊ฒฐ๊ณผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์†์‹คยท์žฅ์• ยท๋ณด์•ˆ ๋ฌธ์ œ ๋“ฑ ์‚ฌ์šฉ์ƒ์˜ ๋ชจ๋“  ์ฑ…์ž„์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๊ฑฐ๋ž˜ ์ „ ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ ๊ณต์‹ ๋ฌธ์„œ์™€ ์ž…๋ ฅ๊ฐ’์„ ์ง์ ‘ ํ™•์ธํ•˜์„ธ์š”.

์ฃผ์š” ๊ธฐ๋Šฅ

  • API ์นดํƒˆ๋กœ๊ทธ ๊ธฐ๋ฐ˜ ํ˜ธ์ถœ
    • 8๊ฐœ ๊ทธ๋ฃน, 166๊ฐœ REST API ์ œ๊ณต
    • API ๊ทธ๋ฃน/ID, ๊ฒฝ๋กœ, HTTP ๋ฉ”์„œ๋“œ, TR_ID ํ›„๋ณด, ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ ํ™•์ธ
    • ํŒŒ๋ผ๋ฏธํ„ฐ๋ณ„ ํ•œ๊ธ€ ๋ผ๋ฒจ, ์ž…๋ ฅ ๊ฐ€์ด๋“œ, ์˜ˆ์‹œ๊ฐ’, ์ฃผ์š” ์ฝ”๋“œ๊ฐ’ ์ œ๊ณต
    • ์ „์ฒด ๋ชฉ๋ก: API_CATALOG.md
  • ๊ตญ๋‚ด์ฃผ์‹
    • ํ˜„์žฌ๊ฐ€, ๊ธฐ๊ฐ„/์ผ๋ณ„ ์‹œ์„ธ, ํ˜ธ๊ฐ€, ์—…์ข…์ง€์ˆ˜, ๊ธฐ๋ณธ์ •๋ณด ์กฐํšŒ
    • ์ž”๊ณ , ํˆฌ์ž๊ณ„์ขŒ ์ž์‚ฐํ˜„ํ™ฉ, ๋งค์ˆ˜๊ฐ€๋Šฅ๊ธˆ์•ก, ๋งค๋„๊ฐ€๋Šฅ์ˆ˜๋Ÿ‰ ์กฐํšŒ
    • ์ฃผ๋ฌธ/์ฃผ๋ฌธ๋‚ด์—ญ/์ •์ •์ทจ์†Œ ๊ฐ€๋Šฅ ์ฃผ๋ฌธ ์กฐํšŒ
  • ํ•ด์™ธ์ฃผ์‹
    • ๋ฏธ๊ตญ, ์ผ๋ณธ, ์ค‘๊ตญ, ํ™์ฝฉ, ๋ฒ ํŠธ๋‚จ ์‹œ์žฅ ์ฝ”๋“œ ์ง€์›
    • ํ˜„์žฌ๊ฐ€, ์ž”๊ณ , ์ฒด๊ฒฐ๊ธฐ์ค€ ํ˜„์žฌ์ž”๊ณ , ํ†ตํ™”๋ณ„ ์ฆ๊ฑฐ๊ธˆ, ๋งค์ˆ˜๊ฐ€๋Šฅ๊ธˆ์•ก ์กฐํšŒ
    • ์‹œ์žฅ/๋งค์ˆ˜๋งค๋„ ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ์ฃผ๋ฌธ TR_ID ์ž๋™ ์„ ํƒ
  • ์‹คํ–‰/์šด์˜
    • stdio, sse, streamable-http transport ์ง€์›
    • .env ๋˜๋Š” ๋ช…๋ น์ค„ ์ธ์ž ๊ธฐ๋ฐ˜ ์„ค์ •
    • ๊ณ„์ขŒ๋ฒˆํ˜ธ, ๊ณ„์ขŒ์ƒํ’ˆ์ฝ”๋“œ, ์ธ์ฆ๊ฐ’ ์ž๋™ ๋ณด์™„
    • ์•ฑํ‚ค์™€ ๊ณ„์ขŒ ํƒ€์ž… ๊ธฐ์ค€ ํ† ํฐ ์บ์‹œ
    • ์•Œ ์ˆ˜ ์—†๋Š” ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ธฐ๋ณธ ๊ฑฐ๋ถ€
    • ์ฃผ๋ฌธ/์ •์ •/์ทจ์†Œ API ๊ธฐ๋ณธ ์ฐจ๋‹จ

์•ˆ์ „ ๊ธฐ๋ณธ๊ฐ’

์ฃผ๋ฌธ/์ •์ •/์ทจ์†Œ์ฒ˜๋Ÿผ ๊ณ„์ขŒ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ๋Š” API๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.

KIS_ENABLE_TRADING=true

์œ„ ๊ฐ’์„ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์ƒํƒœ ๋ณ€๊ฒฝ API๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์กฐํšŒ API๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์„ค์ •ํ•˜์ง€ ๋งˆ์„ธ์š”.

์š”๊ตฌ ์‚ฌํ•ญ

  • Python >= 3.13
  • uv

์„ค์น˜

์„ค์น˜๋Š” INSTALL.md๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ง„ํ–‰ํ•˜์„ธ์š”. LLM์ด๋‚˜ MCP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ค์ •ํ•  ๋•Œ๋„ ์ด ํŒŒ์ผ์„ ์šฐ์„  ์ฝ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

INSTALL.md์—๋Š” ๋‹ค์Œ ๋‚ด์šฉ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • uv ๊ธฐ๋ฐ˜ ์˜์กด์„ฑ ์„ค์น˜
  • .env ์ƒ์„ฑ๊ณผ KIS_APP_KEY, KIS_APP_SECRET, KIS_CANO, KIS_ACNT_PRDT_CD ์„ค์ •
  • Codex CLI, Claude Code, Claude Desktop, ์ผ๋ฐ˜ MCP ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก ์˜ˆ์‹œ
  • ์ปจํ…์ŠคํŠธ ์ ˆ์•ฝ์šฉ KIS_MCP_TOOLSET=catalog ์„ค์ •
  • ์ž”๊ณ , ๋งค์ˆ˜๊ฐ€๋Šฅ๊ธˆ์•ก, ํ˜„์žฌ๊ฐ€ ์กฐํšŒ์šฉ call-kis-api ์˜ˆ์‹œ

๋น ๋ฅธ ๋กœ์ปฌ ์ค€๋น„:

pip install uv
uv sync
cp .env.example .env
chmod 600 .env

๊ทธ ๋‹ค์Œ .env์— ์•„๋ž˜ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๊ฐ’ ์„ค๋ช…๊ณผ ํด๋ผ์ด์–ธํŠธ๋ณ„ ๋“ฑ๋ก ๋ช…๋ น์€ INSTALL.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

KIS_APP_KEY="๋ฐœ๊ธ‰๋ฐ›์€ ์•ฑํ‚ค"
KIS_APP_SECRET="๋ฐœ๊ธ‰๋ฐ›์€ ์‹œํฌ๋ฆฟํ‚ค"
KIS_ACCOUNT_TYPE="REAL"   # REAL ๋˜๋Š” VIRTUAL
KIS_CANO="๊ณ„์ขŒ๋ฒˆํ˜ธ ์•ž 8์ž๋ฆฌ"
KIS_ACNT_PRDT_CD="01"
KIS_MCP_TOOLSET="catalog"

์‹คํ–‰

# stdio, ๋กœ์ปฌ MCP ํด๋ผ์ด์–ธํŠธ ๊ถŒ์žฅ
uv run python server.py

๋ช…๋ น์ค„ ์ธ์ž๋กœ๋„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

uv run python server.py \
  --app-key "์•ฑํ‚ค" \
  --app-secret "์‹œํฌ๋ฆฟํ‚ค" \
  --account-type "REAL" \
  --cano "๊ณ„์ขŒ๋ฒˆํ˜ธ" \
  --acnt-prdt-cd "01"

Transport ์„ ํƒ:

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.py

MCP ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก ์˜ˆ์‹œ:

์•„๋ž˜๋Š” ์ผ๋ฐ˜ MCP ํด๋ผ์ด์–ธํŠธ์šฉ ์ตœ์†Œ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. Codex CLI, Claude Code, Claude Desktop ๋ช…๋ น์€ INSTALL.md๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

{
  "mcpServers": {
    "kis-mcp-server": {
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "<project-root>",
      "env": {
        "KIS_MCP_TOOLSET": "catalog",
        "KIS_MCP_LOG_LEVEL": "WARNING"
      }
    }
  }
}

MCP ๋„๊ตฌ ๊ตฌ์„ฑ

์นดํƒˆ๋กœ๊ทธ ๋„๊ตฌ

๋„๊ตฌ์„ค๋ช…
list-kis-api-specsAPI ๊ทธ๋ฃน/๊ฒ€์ƒ‰์–ด ๊ธฐ์ค€ ๋ชฉ๋ก ์กฐํšŒ
get-kis-api-spec๋‹จ์ผ API์˜ ๊ฒฝ๋กœ, TR_ID ํ›„๋ณด, ํŒŒ๋ผ๋ฏธํ„ฐ ํ™•์ธ
call-kis-apigroup, api_type, params๋กœ ์นดํƒˆ๋กœ๊ทธ API ํ˜ธ์ถœ

list-kis-api-specs๋Š” ํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๋ผ๋ฒจ, ์˜ˆ์‹œ๊ฐ’, ์ฃผ์š” ์ฝ”๋“œ๊ฐ’์„ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. get-kis-api-spec๋Š” ์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ label, guide, examples, values, default, auto_fill ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ LLM์ด ํ˜ธ์ถœ์— ํ•„์š”ํ•œ ์ž…๋ ฅ ํ˜•ํƒœ๋ฅผ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

call-kis-api๋Š” ๋‹ค์Œ ์ฒ˜๋ฆฌ๋ฅผ ๊ณตํ†ต์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ธฐ๋ฐ˜ ๊ณ„์ขŒ๋ฒˆํ˜ธ/๊ณ„์ขŒ์ƒํ’ˆ์ฝ”๋“œ ์ž๋™ ์ž…๋ ฅ
  • ์ธ์ฆ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ์บ์‹œ
  • GET/POST ์š”์ฒญ ๊ตฌ์„ฑ
  • ์ผ๋ถ€ MCP ํด๋ผ์ด์–ธํŠธ๊ฐ€ params๋ฅผ JSON ๋ฌธ์ž์—ด๋กœ ๋ณด๋‚ผ ๋•Œ ๊ฐ์ฒด๋กœ ํŒŒ์‹ฑ
  • ๋‹ค์ค‘ TR_ID ์ค‘ ์ž๋™ ํŒ๋ณ„ ๊ฐ€๋Šฅํ•œ ์ฃผ๋ฌธ TR_ID ์„ ํƒ
  • ์ƒํƒœ ๋ณ€๊ฒฝ API ์•ˆ์ „ ๊ฒŒ์ดํŠธ ์ ์šฉ
  • ์นดํƒˆ๋กœ๊ทธ์— ์—†๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ๊ธฐ๋ณธ ๊ฑฐ๋ถ€

ํŽธ์˜ ๋„๊ตฌ

์ž์ฃผ ์“ฐ๋Š” ๊ตญ๋‚ด/ํ•ด์™ธ ์ฃผ์‹ ๊ธฐ๋Šฅ์€ ๋ณ„๋„ MCP ๋„๊ตฌ๋กœ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋„๊ตฌ์„ค๋ช…
inquery-stock-price๊ตญ๋‚ด์ฃผ์‹ ํ˜„์žฌ๊ฐ€ ์กฐํšŒ
inquery-balance๊ตญ๋‚ด์ฃผ์‹ ์ž”๊ณ  ์กฐํšŒ
inquery-order-list๊ตญ๋‚ด์ฃผ์‹ ์ผ๋ณ„ ์ฃผ๋ฌธ/์ฒด๊ฒฐ ์กฐํšŒ
inquery-order-detail๊ตญ๋‚ด์ฃผ์‹ ์ฃผ๋ฌธ ์ƒ์„ธ ์กฐํšŒ
inquery-stock-info๊ตญ๋‚ด์ฃผ์‹ ์ผ๋ณ„ ์‹œ์„ธ ์กฐํšŒ
inquery-stock-history๊ตญ๋‚ด์ฃผ์‹ ๊ธฐ๊ฐ„ ์‹œ์„ธ ์กฐํšŒ
inquery-stock-ask๊ตญ๋‚ด์ฃผ์‹ ํ˜ธ๊ฐ€ ์กฐํšŒ
inquery-stock-market๊ตญ๋‚ด ์—…์ข…/์ง€์ˆ˜ ํ˜„์žฌ๊ฐ€ ์กฐํšŒ
inquery-stock-basic-info๊ตญ๋‚ด์ฃผ์‹ ๊ธฐ๋ณธ์ •๋ณด ์กฐํšŒ
inquery-overseas-stock-priceํ•ด์™ธ์ฃผ์‹ ํ˜„์žฌ๊ฐ€ ์กฐํšŒ
order-stock๊ตญ๋‚ด์ฃผ์‹ ๋งค์ˆ˜/๋งค๋„ ์ฃผ๋ฌธ
order-overseas-stockํ•ด์™ธ์ฃผ์‹ ๋งค์ˆ˜/๋งค๋„ ์ฃผ๋ฌธ

์ฃผ๋ฌธ ๋„๊ตฌ๋„ KIS_ENABLE_TRADING=true๊ฐ€ ์—†์œผ๋ฉด ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋„๊ตฌ ๋กœ๋“œ ์ตœ์ ํ™”

MCP ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„ ์—ฐ๊ฒฐ ์‹œ ๋„๊ตฌ ์ด๋ฆ„, ์„ค๋ช…, ์ž…๋ ฅ ์Šคํ‚ค๋งˆ๋ฅผ ์ปจํ…์ŠคํŠธ์— ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค. ํŽธ์˜ ๋„๊ตฌ๋ฅผ ๋งŽ์ด ๋…ธ์ถœํ• ์ˆ˜๋ก ๋Œ€ํ™” ์‹œ์ž‘ ์‹œ์ ์˜ ์ปจํ…์ŠคํŠธ ์‚ฌ์šฉ๋Ÿ‰์ด ๋Š˜์–ด๋‚˜๋ฏ€๋กœ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์นดํƒˆ๋กœ๊ทธ ๋„๊ตฌ 3๊ฐœ๋งŒ ๋…ธ์ถœํ•˜๋Š” ๊ฒฝ๋Ÿ‰ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

KIS_MCP_TOOLSET=catalog uv run python server.py
๊ฐ’๋…ธ์ถœ ๋„๊ตฌ ์ˆ˜๋…ธ์ถœ ๋„๊ตฌ์šฉ๋„
full15๊ฐœ์นดํƒˆ๋กœ๊ทธ ๋„๊ตฌ + ํŽธ์˜ ๋„๊ตฌ ์ „์ฒด๊ธฐ์กด ๋™์ž‘๊ณผ ํ˜ธํ™˜
catalog3๊ฐœlist-kis-api-specs, get-kis-api-spec, call-kis-api๋‚ฎ์€ ์ปจํ…์ŠคํŠธ ์‚ฌ์šฉ๋Ÿ‰

catalog ๋ชจ๋“œ๋Š” MCP ๋„๊ตฌ ์Šคํ‚ค๋งˆ ๋กœ๋“œ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค. ํŽธ์˜ ๋„๊ตฌ๋Š” ์ˆจ๊ธฐ์ง€๋งŒ, 166๊ฐœ API๋Š” ๊ทธ๋Œ€๋กœ call-kis-api๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ API๋Š” list-kis-api-specs๋กœ ์ฐพ๊ณ , ํ•„์š”ํ•œ ์ƒ์„ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” get-kis-api-spec๋กœ ๊ทธ๋•Œ๊ทธ๋•Œ ์กฐํšŒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ถŒ์žฅ ์‚ฌ์šฉ ํ๋ฆ„:

  1. list-kis-api-specs๋กœ API๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
  2. get-kis-api-spec๋กœ ํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ, ์˜ˆ์‹œ๊ฐ’, ์ฝ”๋“œ๊ฐ’์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. call-kis-api๋กœ ์‹ค์ œ API๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

MCP ํด๋ผ์ด์–ธํŠธ ์„ค์ •์—์„œ๋„ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

{
  "env": {
    "KIS_MCP_TOOLSET": "catalog"
  }
}

์ž์ฃผ ์“ฐ๋Š” ํŽธ์˜ ๋„๊ตฌ๋ฅผ ๋„๊ตฌ ๋ชฉ๋ก์— ์ง์ ‘ ๋…ธ์ถœํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์ธ full์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

call-kis-api ์˜ˆ์‹œ

๊ตญ๋‚ด์ฃผ์‹ ํ˜„์žฌ๊ฐ€:

{
  "group": "domestic_stock",
  "api_type": "inquire_price",
  "params": {
    "fid_cond_mrkt_div_code": "J",
    "fid_input_iscd": "005930"
  }
}

ํ•ด์™ธ์ฃผ์‹ ์ž”๊ณ :

{
  "group": "overseas_stock",
  "api_type": "inquire_balance",
  "params": {
    "ovrs_excg_cd": "NASD",
    "tr_crcy_cd": "USD"
  }
}

ํ•ด์™ธ์ฃผ์‹ ์ฒด๊ฒฐ๊ธฐ์ค€ ํ˜„์žฌ์ž”๊ณ :

{
  "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"
  }
}

ํ•ด์™ธ์ฃผ์‹ ๋งค์ˆ˜๊ฐ€๋Šฅ๊ธˆ์•ก:

{
  "group": "overseas_stock",
  "api_type": "inquire_psamount",
  "params": {
    "ovrs_excg_cd": "NASD",
    "ovrs_ord_unpr": "1",
    "item_cd": "QQQ"
  }
}

์ฃผ์š” API ๊ทธ๋ฃน

๊ทธ๋ฃน์„ค๋ช…API ์ˆ˜
auth์ธ์ฆ2
domestic_stock๊ตญ๋‚ด์ฃผ์‹74
overseas_stockํ•ด์™ธ์ฃผ์‹34
domestic_bond๊ตญ๋‚ด์ฑ„๊ถŒ14
domestic_futureoption๊ตญ๋‚ด์„ ๋ฌผ์˜ต์…˜20
overseas_futureoptionํ•ด์™ธ์„ ๋ฌผ์˜ต์…˜19
elwELW1
etfetnETF/ETN2

์ „์ฒด API ID, ๊ฒฝ๋กœ, TR_ID, ํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ€์ด๋“œ๋Š” API_CATALOG.md์— ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

์ด๋ฆ„์„ค๋ช…๊ธฐ๋ณธ๊ฐ’
KIS_APP_KEYKIS ์•ฑํ‚ค-
KIS_APP_SECRETKIS ์‹œํฌ๋ฆฟํ‚ค-
KIS_ACCOUNT_TYPEREAL ๋˜๋Š” VIRTUAL-
KIS_CANO๊ณ„์ขŒ๋ฒˆํ˜ธ ์•ž 8์ž๋ฆฌ-
KIS_ACNT_PRDT_CD๊ณ„์ขŒ์ƒํ’ˆ์ฝ”๋“œ01
KIS_TOKEN_FILEํ† ํฐ ์บ์‹œ ํŒŒ์ผtoken.json
KIS_ENABLE_TRADING์ฃผ๋ฌธ/์ •์ •/์ทจ์†Œ API ํ™œ์„ฑํ™”๋น„ํ™œ์„ฑ
KIS_MCP_TOOLSETMCP ๋„๊ตฌ ๋…ธ์ถœ ๋ฒ”์œ„ (full, catalog)full
KIS_MCP_LOG_LEVEL๋กœ๊ทธ ๋ ˆ๋ฒจINFO
MCP_TYPEstdio, sse, streamable-httpstdio
MCP_HOSTHTTP/SSE host127.0.0.1
MCP_PORTHTTP/SSE port8000
MCP_PATHHTTP/SSE path/mcp

๊ฐœ๋ฐœ/๊ฒ€์ฆ

uv run python -m compileall main.py server.py example.py tests
uv run python -m unittest discover -v
git diff --check

Contributors

AI ๊ณต๋™์ž‘์„ฑ์ž๋Š” ๊ธฐ์—ฌ์ž ๋ชฉ๋ก์—์„œ ์ œ์™ธํ–ˆ์Šต๋‹ˆ๋‹ค.

ContributorRole
migusdnMaintainer
mickeykim70Contributor
haesam5060-archContributor

๋ผ์ด์„ ์Šค

MIT