MCP Hub
Back to servers

Korean Stock MCP

Provides access to Korean stock market data, including stock listings, daily historical records, and 10-minute intraday candles via FinanceDataReader and Naver APIs. It enables users to search for stocks, retrieve detailed profiles, and calculate technical indicators locally.

Updated
Mar 2, 2026

Korean Stock MCP

Python MCP server for Korean stocks with:

  • FinanceDataReader for listings, stock profile fields, and daily OHLCV
  • Naver chart API for 10-minute intraday candles
  • STDIO and HTTP/SSE transports
  • local technical indicator calculation

Features

  • search_korean_stocks
  • get_korean_stock_profile
  • get_korean_stock_daily_history
  • get_korean_stock_intraday_10m
  • get_korean_stock_indicators

Requirements

  • Python 3.11+
  • FinanceDataReader

Install

python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]

Run

STDIO

korean-stock-mcp

HTTP

MCP_TRANSPORT=http MCP_HOST=127.0.0.1 MCP_PORT=8000 korean-stock-mcp

Health endpoint:

GET /healthz

JSON-RPC endpoint:

POST /mcp

SSE endpoint:

GET /sse

Tool examples

Search

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_korean_stocks","arguments":{"query":"삼성전자"}}}

Daily history

{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_korean_stock_daily_history","arguments":{"symbol_or_name":"005930","limit_days":30}}}

Intraday 10-minute history

{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_korean_stock_intraday_10m","arguments":{"symbol_or_name":"252670","lookback_days":5}}}

Production deployment

The repository includes:

  • GitHub Actions CI workflow: .github/workflows/ci.yml
  • GitHub Actions deployment workflow for self-hosted runner label macmini: .github/workflows/deploy-macmini.yml
  • launchd template: deploy/launchd/com.ctk03272.mcp-korean-stock.plist

Production runtime expects:

  • MCP_TRANSPORT=http
  • host-local .env
  • deployment root under /Users/<runner-user>/services/mcp-korean-stock
  • launchd starts the service through deploy/run_server.sh, which loads shared/.env before executing Python

Notes

  • Intraday 10-minute data uses an unofficial Naver endpoint and may be delayed or subject to upstream schema changes.
  • Profile fields are limited to what FinanceDataReader exposes in listing datasets.

Reviews

No reviews yet

Sign in to write a review