This server provides KOSPI/KOSDAQ stock data including:
Lookup of ticker symbols and names
OHLCV (Open/High/Low/Close/Volume) data
Market capitalization data
Fundamental data (PER/PBR/Dividend Yield)
Trading volume by investor type
Available as a PyPI package that can be installed via the Python package manager to enable the KOSPI/KOSDAQ stock data functionality.
kospi-kosdaq-stock-server
An MCP server that provides KOSPI/KOSDAQ stock data from KRX Data Marketplace.
What's New in v0.3.0
Since December 27, 2024, KRX Data Marketplace requires Kakao/Naver login for data access. This version implements:
Direct KRX API integration with Kakao OAuth login
Playwright-based headless browser for authentication
Automatic session management with 4-hour timeout and auto re-login
No more pykrx dependency for core functionality
Related MCP server: Stock Info Service
Features
Lookup KOSPI/KOSDAQ ticker symbols and names
Retrieve OHLCV (Open/High/Low/Close/Volume) data for stocks
Retrieve market capitalization data
Retrieve fundamental data (PER/PBR/Dividend Yield)
Retrieve trading volume by investor type (institutional, foreign, individual)
Retrieve index OHLCV data (KOSPI, KOSDAQ indices)
Requirements
Python 3.10+
Kakao account (2FA must be disabled)
Playwright Chromium browser
Environment Variables
Important: Your Kakao account must have 2-step verification (2FA) disabled. On first login, you may need to approve the login request via KakaoTalk.
Installation
Prerequisites
Installing via Smithery
Manual Installation
Configuration for Claude Desktop
macOS
Open the config file:
Add the server configuration:
Windows
Open the config file at
%APPDATA%/Claude/claude_desktop_config.jsonAdd the same configuration as above
Restart Claude Desktop
Available Tools
load_all_tickers
Loads all ticker symbols and names for KOSPI and KOSDAQ.
No arguments required
Returns: Dictionary mapping ticker codes to stock names
get_stock_ohlcv
Retrieves OHLCV (Open/High/Low/Close/Volume) data for a specific stock.
fromdate(string, required): Start date (YYYYMMDD)todate(string, required): End date (YYYYMMDD)ticker(string, required): Stock ticker symbol (e.g., "005930")adjusted(boolean, optional): Use adjusted prices (default: True)
get_stock_market_cap
Retrieves market capitalization data for a specific stock.
fromdate(string, required): Start date (YYYYMMDD)todate(string, required): End date (YYYYMMDD)ticker(string, required): Stock ticker symbol
get_stock_fundamental
Retrieves fundamental data (PER/PBR/Dividend Yield) for a specific stock.
fromdate(string, required): Start date (YYYYMMDD)todate(string, required): End date (YYYYMMDD)ticker(string, required): Stock ticker symbol
get_stock_trading_volume
Retrieves trading volume by investor type for a specific stock.
fromdate(string, required): Start date (YYYYMMDD)todate(string, required): End date (YYYYMMDD)ticker(string, required): Stock ticker symboldetail(boolean, optional): If true, returns 12 investor types; if false (default), returns 5 aggregated types
get_index_ohlcv
Retrieves OHLCV data for market indices.
fromdate(string, required): Start date (YYYYMMDD)todate(string, required): End date (YYYYMMDD)ticker(string, required): Index ticker (e.g., "1001" for KOSPI, "2001" for KOSDAQ)freq(string, optional): Frequency - "d" (daily), "m" (monthly), "y" (yearly). Default: "d"
Available Resources
stock://tickers
Returns all KOSPI/KOSDAQ ticker symbols and names.
stock://index-tickers
Returns index ticker information:
KOSPI: 1001, KOSPI 200: 1028, KOSPI 100: 1034, KOSPI 50: 1035
KOSDAQ: 2001, KOSDAQ 150: 2203
stock://data-sources
Returns current data source status.
Docker Support
Using Docker Compose
Environment Variables for Docker
Create a .env file:
Troubleshooting
"KakaoTalk login notification" popup
On first login, Kakao may require approval via KakaoTalk:
Run with
headless=Falseto see the browserApprove the login in KakaoTalk
Cookies will be saved for future sessions
401 Unauthorized / Session Expired
Session expires after ~4 hours. The server auto-renews, but if it fails:
Delete
~/.krx_session.jsonRestart the server
Linux Headless Environment
Architecture
Known Limitations
Kakao accounts with 2FA enabled are not supported
First login may require KakaoTalk approval
Session validity: ~4 hours (auto-renewal supported)
Naver login is not yet implemented
Usage Example
License
MIT License
Contributing
Issues and pull requests are welcome!
Changelog
v0.3.0 (2025-01-04)
Breaking: Removed pykrx dependency for core functionality
Added KRX Data Marketplace direct integration with Kakao OAuth
Added Playwright-based headless authentication
Added automatic session management
Added index OHLCV support
v0.2.x
pykrx-based implementation (deprecated due to KRX login requirement)