](https://mseep.ai/app/dragon1086-kospi-kosdaq-stock-server)
kospi kosdaq股票服务器
](https://badge.fury.io/py/kospi-kosdaq-stock-server) ](https://smithery.ai/server/@dragon1086/kospi-kosdaq-stock-server)
一个MCP服务器,提供来自KRX数据市场的KOSPI/KOSDAQ股票数据。
v0.3.0的新增功能
自2024年12月27日起,KRX数据市场要求 KAKAKU/导航器登录 用于数据访问。此版本实现了:
- 直接集成KRX API 使用Kakao OAuth登录
- 基于Playwright的无头浏览器 用于身份验证
- 自动会话管理 具有4小时超时和自动重新登录功能
- 不再依赖pykrx 核心功能
特性
- 查找KOSPI/KOSDAQ股票代码和名称
- 检索股票的OHLCV(开盘/高/低/收盘/成交量)数据
- 检索市值数据
- 检索基本数据(PER/PBR/股息收益率)
- 按投资者类型(机构、外国、个人)检索交易量
- 检索索引OHLCV数据(KOSPI、KOSDAQ索引)
需求
- Python 3.10+
- Kakao帐户(必须禁用2FA)
- 剧作家Chromium浏览器
环境变量
# Required: Kakao login credentials
KAKAO_ID=your_kakao_id
KAKAO_PW=your_kakao_password重要:您的Kakao帐户必须禁用两步验证(2FA)。 首次登录时,您可能需要通过KakaoTalk批准登录请求。
安装
先决条件
# Install Playwright and Chromium browser
pip install playwright
playwright install chromium通过Smithery安装
npx -y @smithery/cli install @dragon1086/kospi-kosdaq-stock-server --client claude手动安装
# Create and activate a virtual environment
uv venv .venv
source .venv/bin/activate # On Unix/macOS
# .venv\Scripts\activate # On Windows
# Install the package
uv pip install kospi-kosdaq-stock-server
# Install Playwright browser
playwright install chromiumClaude桌面配置
macOS
- 打开配置文件:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json- 添加服务器配置:
{
"mcpServers": {
"kospi-kosdaq": {
"command": "uvx",
"args": ["kospi_kosdaq_stock_server"],
"env": {
"KAKAO_ID": "your_kakao_id",
"KAKAO_PW": "your_kakao_password"
}
}
}
}视窗
- 打开配置文件
%APPDATA%/Claude/claude_desktop_config.json
- 添加与上述相同的配置
- 重新启动克劳德桌面
可用工具
load_all_tickers
加载KOSPI和KOSDAQ的所有股票代码和名称。
- 无需任何论据
- 返回:将股票代码映射到股票名称的字典
get_stock_ohlcv
检索特定股票的OHLCV(开盘/高/低/收盘/成交量)数据。
fromdate(字符串,必填):开始日期(YYYYMMDD)todate(字符串,必填):结束日期(YYYYMMDD)ticker(字符串,必填):股票代码(例如“005930”)adjusted(布尔值,可选):使用调整后的价格(默认值:True)
get_stock_market_cap
检索特定股票的市值数据。
fromdate(字符串,必填):开始日期(YYYYMMDD)todate(字符串,必填):结束日期(YYYYMMDD)ticker(字符串,必填):股票代码
get_stock_fundamental
检索特定股票的基本数据(PER/PBR/股息收益率)。
fromdate(字符串,必填):开始日期(YYYYMMDD)todate(字符串,必填):结束日期(YYYYMMDD)ticker(字符串,必填):股票代码
get_stock_trading_volume
按投资者类型检索特定股票的交易量。
fromdate(字符串,必填):开始日期(YYYYMMDD)todate(字符串,必填):结束日期(YYYYMMDD)ticker(字符串,必填):股票代码detail(boolean,可选):如果为true,则返回12种投资者类型;如果为false(默认),则返回5个聚合类型
get_index_ohlcv
检索市场指数的OHLCV数据。
fromdate(字符串,必填):开始日期(YYYYMMDD)todate(字符串,必填):结束日期(YYYYMMDD)ticker(字符串,必填):指数代码(例如,KOSPI为“1001”,KOSDAQ为“2001”)freq(字符串,可选):频率-“d”(每日)、“m”(每月)、“y”(每年)。默认值:“d”
可用资源
stock://tickers
返回所有KOSPI/KOSDAQ股票代码和名称。
stock://index-tickers
返回索引收报机信息:
- 科斯皮:1001,科斯皮200:1028,科斯皮100:1034,科斯比50:1035
- 科斯达克:2001,科斯达克150:2203
stock://data-sources
返回当前数据源状态。
Docker支持
使用Docker Compose
# Build and run
docker-compose up -d
# View logs
docker-compose logs -fDocker的环境变量
创建一个 .env 文件:
KAKAO_ID=your_kakao_id
KAKAO_PW=your_kakao_password故障排除
“KakaoTalk登录通知”弹出窗口
首次登录时,Kakao可能需要通过KakaoTalk获得批准:
- 与一起跑步
headless=False查看浏览器 - 在KakaoTalk中批准登录
- Cookie将保存以备将来使用
401未经授权/会话已过期
会话将在约4小时后过期。服务器会自动续订,但如果失败:
- 删除
~/.krx_session.json - 重新启动服务器
Linux无头环境
# Install required packages on Ubuntu/Debian
apt-get install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 \
libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2建筑
┌─────────────────────────────────────────────────────┐
│ MCP Server (FastMCP) │
│ kospi_kosdaq_stock_server.py │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ KRXDataClient │
│ - get_market_ohlcv() │
│ - get_market_cap() │
│ - get_market_fundamental() │
│ - get_market_trading_volume_by_date() │
│ - get_index_ohlcv() │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ KakaoAuthManager │
│ - Playwright headless browser │
│ - Kakao OAuth login │
│ - Session cookie management │
│ - Auto re-login on session expiry (4h) │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ KRX Data Marketplace │
│ data.krx.co.kr │
└─────────────────────────────────────────────────────┘已知限制
- 不支持启用2FA的Kakao帐户
- 首次登录可能需要KakaoTalk批准
- 会话有效期:~4小时(支持自动续订)
- Naver登录尚未实现
用法示例
Human: Please load all available stock tickers.
Assistant: I'll load all KOSPI and KOSDAQ stock tickers.
> Using tool 'load_all_tickers'...
Successfully loaded 2,738 stock tickers.Human: Show me Samsung Electronics' stock data for December 2024.
Assistant: I'll retrieve Samsung Electronics' (005930) OHLCV data.
> Using tool 'get_stock_ohlcv'...
Date Open High Low Close Volume
2024-12-20 53,800 54,200 53,500 53,900 8,234,521
2024-12-19 54,000 54,300 53,700 53,800 7,123,456
...许可证
MIT许可证
贡献
欢迎问题和拉取请求!
更新日志
v0.3.0(2025-01-04)
- 霹雳舞:删除了核心功能的pykrx依赖关系
- 添加了KRX数据市场与Kakao OAuth的直接集成
- 添加了基于Playwright的无头身份验证
- 添加了自动会话管理
- 新增索引OHLCV支持
v0.2.x
- 基于pykrx的实现(由于KRX登录要求而弃用)

