# Kiwoom Mcp

> 키움증권 REST API MCP 서버 - Claude Code 등 LLM에서 한국 주식 정보 조회

- **Type:** MCP server
- **Install:** `agentstack add mcp-java-jaydev-kiwoom-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [java-jaydev](https://agentstack.voostack.com/s/java-jaydev)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [java-jaydev](https://github.com/java-jaydev)
- **Source:** https://github.com/java-jaydev/kiwoom-mcp

## Install

```sh
agentstack add mcp-java-jaydev-kiwoom-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# kiwoom-mcp

키움증권 REST API를 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) 도구로 래핑한 서버입니다.
Claude Code 등 MCP를 지원하는 LLM 클라이언트에서 한국 주식 정보를 직접 조회할 수 있습니다.

> **현재 버전은 조회 전용입니다.** 주문(매수/매도/취소) 기능은 포함되어 있지 않습니다.

---

## 면책 조항 (Disclaimer)

> **이 소프트웨어를 사용함으로써 발생하는 모든 결과에 대한 책임은 전적으로 사용자 본인에게 있습니다.**

- 이 프로젝트는 **개인 학습 및 편의 목적**으로 제작되었으며, 키움증권의 공식 제품이 아닙니다.
- **투자 조언, 매매 권유, 또는 수익 보장을 하지 않습니다.**
- API 호출로 인한 과금, 데이터 오류, 계좌 정보 노출, 토큰 유출 등 **어떠한 직접적·간접적 손해에 대해서도 제작자는 책임지지 않습니다.**
- 키움증권 OpenAPI 이용 약관을 반드시 확인하고, 본인의 책임 하에 사용하세요.
- API 키와 시크릿 키는 **절대 공개 저장소에 커밋하지 마세요.** 환경변수 또는 `.env` 파일로 관리하세요.
- 이 도구를 통해 조회한 데이터의 정확성을 보장하지 않습니다. 실제 투자 판단은 반드시 공식 HTS/MTS를 통해 확인하세요.

---

## 사전 준비

1. **키움증권 OpenAPI 신청**: [키움 OpenAPI 포털](https://openapi.kiwoom.com/)에서 REST API 사용 신청
2. **App Key / Secret Key 발급**: OpenAPI 포털에서 발급
3. **Node.js 18+** 설치

---

## 제공 도구

| 도구명 | 설명 | 입력 파라미터 |
|--------|------|---------------|
| `get_stock_price` | 현재가 조회 (종목명, 등락률, PER, PBR 등) | `stockCode` (6자리) |
| `get_orderbook` | 호가 조회 (매도/매수 1~10호가, 잔량) | `stockCode` |
| `get_daily_chart` | 일봉 차트 (시/고/저/종가, 거래량) | `stockCode`, `baseDate?` (YYYYMMDD) |
| `get_investor_trend` | 투자자별 매매동향 (외국인/기관/개인 순매수) | `stockCode` |
| `get_account_balance` | 계좌평가현황 (예수금, 보유종목, 손익률) | 없음 |
| `get_deposit` | 예수금 상세 조회 (출금가능, 주문가능금액) | 없음 |
| `get_unfilled_orders` | 미체결 주문 조회 | 없음 |
| `get_filled_orders` | 체결 내역 조회 | `stockCode?` (미입력 시 전체) |

---

## 설치

```bash
git clone https://github.com/java-jaydev/kiwoom-mcp.git
cd kiwoom-mcp
pnpm install
pnpm run build
```

> `pnpm`이 없으면 `npm install && npm run build`로도 가능합니다.

---

## 환경변수

| 변수명 | 필수 | 설명 |
|--------|------|------|
| `KIWOOM_APP_KEY` | O | 키움 OpenAPI App Key |
| `KIWOOM_SECRET_KEY` | O | 키움 OpenAPI Secret Key |
| `KIWOOM_API_BASE_URL` | X | API 베이스 URL (기본값: `https://api.kiwoom.com`) |

---

## Claude Code 연동

### 방법 1: CLI 명령어 (권장)

```bash
claude mcp add --transport stdio --scope user kiwoom \
  --env KIWOOM_APP_KEY= \
  --env KIWOOM_SECRET_KEY= \
  -- node /path/to/kiwoom-mcp/dist/index.js
```

### 방법 2: .mcp.json (프로젝트 스코프)

프로젝트 루트에 `.mcp.json` 생성:

```json
{
  "mcpServers": {
    "kiwoom": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/kiwoom-mcp/dist/index.js"],
      "env": {
        "KIWOOM_APP_KEY": "",
        "KIWOOM_SECRET_KEY": ""
      }
    }
  }
}
```

> `.mcp.json`에 API 키가 포함되므로 반드시 `.gitignore`에 추가하세요.

설정 후 Claude Code를 재시작하고 `/mcp` 명령어로 서버 연결을 확인합니다.

---

## 검증

```bash
# MCP Inspector로 로컬 테스트
npx @modelcontextprotocol/inspector node dist/index.js

# Claude Code에서 연동 확인
# /mcp 명령어로 서버 상태 확인 후 "삼성전자 현재가 알려줘" 등 질의
```

---

## 주의사항

- **IP 제한**: 키움 API 토큰은 발급된 IP에서만 유효합니다. 서버와 클라이언트가 같은 IP에서 실행되어야 합니다.
- **토큰 관리**: 토큰 유효기간 24시간, 만료 1시간 전 자동 갱신됩니다.
- **장 운영시간**: 장 마감 후에는 시가/고가/저가가 0으로 반환될 수 있습니다.
- **가격 부호**: 키움 API 응답의 가격에는 `+`/`-` 부호가 붙으며, 현재가 등은 절대값으로 변환하여 반환합니다.
- **Rate Limit**: 키움 API의 호출 제한을 준수하세요. 과도한 호출은 차단될 수 있습니다.

---

## 기술 스택

- TypeScript + Node.js (ES Module)
- [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk)
- [Zod](https://github.com/colinhacks/zod) (입력 검증)
- Stdio Transport

---

## 라이선스

MIT License

---

## 기여

이슈와 PR을 환영합니다. 단, **API 키나 시크릿 키가 포함된 커밋은 절대 하지 마세요.**

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [java-jaydev](https://github.com/java-jaydev)
- **Source:** [java-jaydev/kiwoom-mcp](https://github.com/java-jaydev/kiwoom-mcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-java-jaydev-kiwoom-mcp
- Seller: https://agentstack.voostack.com/s/java-jaydev
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
