Skip to main content
Glama
joohyukjung

openkrx-mcp

by joohyukjung
README.md
# OpenKRX MCP Server

한국거래소(KRX) Open API를 MCP(Model Context Protocol) 도구로 제공하는 서버입니다.

## 지원 API (31개)

| 카테고리 | 도구 수 | 내용 |
|---------|--------|------|
| 지수 (idx) | 5 | KRX/KOSPI/KOSDAQ/채권/파생상품 지수 일별시세 |
| 주식 (sto) | 8 | KOSPI/KOSDAQ/KONEX 일별매매정보 + 종목기본정보 |
| ETP (etp) | 3 | ETF/ETN/ELW 일별매매정보 |
| 채권 (bon) | 3 | 국채/일반채권/소액채권 일별매매정보 |
| 파생상품 (drv) | 6 | 선물/옵션 일별매매정보 (KOSPI/KOSDAQ 주식선물·옵션 포함) |
| 일반상품 (gen) | 3 | 석유/금/배출권 시장 일별매매정보 |
| ESG (esg) | 3 | SRI채권/ESG ETP/ESG 지수 정보 |

## 설치 및 사용

### 사전 준비

[KRX Open API](http://openapi.krx.co.kr)에서 회원가입 후 API 인증키를 발급받으세요.

### Claude Desktop

`claude_desktop_config.json`에 추가:

```json
{
  "mcpServers": {
    "openkrx": {
      "command": "uvx",
      "args": ["openkrx-mcp"],
      "env": {
        "KRX_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}
```

### Claude Code

```bash
claude mcp add openkrx -e KRX_API_KEY=<YOUR_API_KEY> -- uvx openkrx-mcp
```

### 직접 실행

```bash
# stdio (로컬)
KRX_API_KEY=<YOUR_API_KEY> uvx openkrx-mcp

# streamable-http (원격, 세션 없는 stateless 모드)
KRX_API_KEY=<YOUR_API_KEY> MCP_TRANSPORT=streamable-http PORT=8000 uvx openkrx-mcp
```

### Docker

```bash
docker build --platform linux/amd64 -t openkrx-mcp .
docker run -e KRX_API_KEY=<YOUR_API_KEY> -p 8000:8000 openkrx-mcp
```

컨테이너는 기본적으로 `MCP_TRANSPORT=streamable-http`로 기동되며, `http://localhost:8000/mcp` 엔드포인트로 JSON-RPC 요청을 보내면 됩니다(세션 없는 stateless 모드 — 매 요청이 독립적으로 처리되며 `Mcp-Session-Id` 헤더가 필요 없습니다).

```bash
curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
```

## 참고

- 데이터는 2010년 이후 일별 데이터이며, 매일 오전 8시(KST)에 갱신됩니다.
- 날짜 파라미터(`basDd`)는 `YYYYMMDD` 형식입니다.
- API 호출 한도: 10,000건
- `mcp` SDK는 `>=1.9.0,<2.0.0`으로 버전을 고정하고 있습니다 — 2.0.0부터 `mcp.server.fastmcp` 모듈 구조가 크게 바뀌어 상한 없이 설치하면 빌드가 깨지니 주의하세요.

## 라이선스

MIT

TDQS

B3.4/5.0

Scored across 31 tools

Disambiguation4/5

Tools are mostly distinct by market and product type, but the index-related tools (KRX, KOSPI, KOSDAQ, bond, derivatives) could be confused due to similar naming and daily price descriptions. Stock and bond tools are clearly separated by market segment.

Naming Consistency5/5

All tools follow a consistent get_<market>_<data_type> pattern with lowercase snake_case. The use of 'daily', 'base_info', and 'info' suffixes is predictable across the set.

Tool Count2/5

At 31 tools, the set is significantly larger than the typical MCP server, exceeding the 25-tool threshold. Many tools are specific market variants, but the count still feels heavy for an agent to navigate.

Completeness4/5

The tool surface covers a broad range of Korean financial markets including indices, equities, bonds, derivatives, and commodities. Minor gaps exist such as missing currency or corporate action data, but the core daily data retrieval is well-covered.

Maintenance

ActivityStale
ResponsivenessNo issues