krx-cli 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -17
- package/SKILL.md +91 -4
- package/dist/cli.js +1193 -621
- package/dist/cli.js.map +4 -4
- package/dist/mcp.js +1106 -145
- package/dist/mcp.js.map +4 -4
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -8,6 +8,12 @@ Claude Code, GPT, Cursor 등의 AI 에이전트가 Bash tool을 통해 한국
|
|
|
8
8
|
|
|
9
9
|
- **Agent-Native**: JSON 출력 기본, 시맨틱 exit code, 스키마 인트로스펙션
|
|
10
10
|
- **전체 시장 커버리지**: 지수, 주식, ETF/ETN/ELW, 채권, 파생상품, 일반상품, ESG (31개 엔드포인트)
|
|
11
|
+
- **종목 검색**: 종목명으로 검색 후 코드 조회 (`krx stock search`)
|
|
12
|
+
- **시장 요약**: 한 번의 호출로 지수/상승·하락/Top movers 확인 (`krx market summary`)
|
|
13
|
+
- **워치리스트**: 관심 종목 저장 및 일괄 시세 조회 (`krx watchlist`)
|
|
14
|
+
- **기간 조회**: `--from/--to`로 여러 날짜 데이터 병렬 조회
|
|
15
|
+
- **데이터 파이프라인**: `--sort`, `--limit`, `--code` 로 서버 사이드 필터링
|
|
16
|
+
- **파일 캐싱**: 과거 데이터 자동 캐싱으로 rate limit 절약
|
|
11
17
|
- **안전한 사용**: 입력 검증, rate limit 추적, dry-run 지원
|
|
12
18
|
- **서비스 승인 관리**: API별 승인 상태 자동 확인
|
|
13
19
|
|
|
@@ -70,6 +76,53 @@ krx index list --date 20260310 --market kosdaq
|
|
|
70
76
|
krx stock list --date 20260310 --market kospi
|
|
71
77
|
krx stock list --date 20260310 --market kosdaq
|
|
72
78
|
krx stock info --market kospi
|
|
79
|
+
krx stock search 삼성전자 # 종목 검색
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 시장 요약
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
krx market summary # 최근 거래일 시장 요약
|
|
86
|
+
krx market summary --date 20260310 # 특정 날짜
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 기간 조회
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
krx index list --market kospi --from 20260301 --to 20260310
|
|
93
|
+
krx stock list --market kospi --from 20260301 --to 20260305 --code KR7005930003
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 정렬 및 제한
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
krx stock list --date 20260310 --market kospi --sort FLUC_RT --limit 10
|
|
100
|
+
krx stock list --date 20260310 --market kospi --sort ACC_TRDVAL --asc --limit 5
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 워치리스트
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
krx watchlist add 삼성전자 # 종목 검색 후 워치리스트 추가
|
|
107
|
+
krx watchlist remove 삼성전자 # 정확한 이름으로 제거
|
|
108
|
+
krx watchlist remove KR7005930003 # 종목코드로 제거
|
|
109
|
+
krx watchlist list # 워치리스트 조회
|
|
110
|
+
krx watchlist show # 워치리스트 종목 시세 조회
|
|
111
|
+
krx watchlist show --date 20260310 # 특정 날짜 시세
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 캐시 관리
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
krx cache status # 캐시 현황 조회
|
|
118
|
+
krx cache clear # 캐시 전체 삭제
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 버전 관리
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
krx version # 현재 버전 확인 및 최신 버전 비교
|
|
125
|
+
krx update # 최신 버전으로 업데이트
|
|
73
126
|
```
|
|
74
127
|
|
|
75
128
|
### ETF/ETN/ELW 조회
|
|
@@ -91,6 +144,10 @@ krx bond list --date 20260310 --market general
|
|
|
91
144
|
```bash
|
|
92
145
|
krx derivative list --date 20260310 --type futures
|
|
93
146
|
krx derivative list --date 20260310 --type options
|
|
147
|
+
krx derivative list --date 20260310 --type futures-kospi
|
|
148
|
+
krx derivative list --date 20260310 --type futures-kosdaq
|
|
149
|
+
krx derivative list --date 20260310 --type options-kospi
|
|
150
|
+
krx derivative list --date 20260310 --type options-kosdaq
|
|
94
151
|
```
|
|
95
152
|
|
|
96
153
|
### 일반상품 조회
|
|
@@ -116,12 +173,22 @@ krx schema stock.stk_bydd_trd
|
|
|
116
173
|
|
|
117
174
|
## 글로벌 옵션
|
|
118
175
|
|
|
119
|
-
| 옵션 | 설명
|
|
120
|
-
| ----------------------- |
|
|
121
|
-
| `-o, --output <format>` | 출력 형식: json, table, ndjson | json (파이프) / table (터미널) |
|
|
122
|
-
| `-f, --fields <fields>` | 출력 필드 필터 (쉼표 구분)
|
|
123
|
-
| `--
|
|
124
|
-
|
|
|
176
|
+
| 옵션 | 설명 | 기본값 |
|
|
177
|
+
| ----------------------- | ----------------------------------- | ------------------------------ |
|
|
178
|
+
| `-o, --output <format>` | 출력 형식: json, table, ndjson, csv | json (파이프) / table (터미널) |
|
|
179
|
+
| `-f, --fields <fields>` | 출력 필드 필터 (쉼표 구분) | 전체 |
|
|
180
|
+
| `--code <isuCd>` | 종목코드 필터 (ISU_CD) | - |
|
|
181
|
+
| `--sort <field>` | 결과 정렬 기준 필드 | - |
|
|
182
|
+
| `--asc` | 오름차순 정렬 (기본: 내림차순) | - |
|
|
183
|
+
| `--limit <n>` | 결과 개수 제한 | - |
|
|
184
|
+
| `--from <date>` | 기간 조회 시작일 (YYYYMMDD) | - |
|
|
185
|
+
| `--to <date>` | 기간 조회 종료일 (YYYYMMDD) | - |
|
|
186
|
+
| `--no-cache` | 캐시 무시하고 새로 조회 | - |
|
|
187
|
+
| `--filter <expression>` | 필터 표현식 (예: "FLUC_RT > 5") | - |
|
|
188
|
+
| `--save <path>` | 결과를 파일로 저장 | - |
|
|
189
|
+
| `--retries <n>` | 네트워크 에러 시 재시도 (기본: 3) | - |
|
|
190
|
+
| `--dry-run` | API 호출 없이 요청 내용 출력 | - |
|
|
191
|
+
| `-v, --verbose` | 상세 로그 (stderr) | - |
|
|
125
192
|
|
|
126
193
|
## Exit Codes
|
|
127
194
|
|
|
@@ -271,17 +338,30 @@ API 키는 `krx auth set <key>`로 등록한 것이 자동으로 사용됩니다
|
|
|
271
338
|
|
|
272
339
|
### 제공 Tool
|
|
273
340
|
|
|
274
|
-
| Tool
|
|
275
|
-
|
|
|
276
|
-
| `krx_index`
|
|
277
|
-
| `krx_stock`
|
|
278
|
-
| `krx_etp`
|
|
279
|
-
| `krx_bond`
|
|
280
|
-
| `krx_derivative`
|
|
281
|
-
| `krx_commodity`
|
|
282
|
-
| `krx_esg`
|
|
283
|
-
| `
|
|
284
|
-
| `
|
|
341
|
+
| Tool | 설명 |
|
|
342
|
+
| -------------------- | -------------------------------------------- |
|
|
343
|
+
| `krx_index` | 지수 일별시세 (KOSPI/KOSDAQ/KRX/채권/파생) |
|
|
344
|
+
| `krx_stock` | 주식 일별매매정보 + 종목 기본정보 |
|
|
345
|
+
| `krx_etp` | ETF/ETN/ELW 일별매매정보 |
|
|
346
|
+
| `krx_bond` | 채권 일별매매정보 (국채/일반/소액) |
|
|
347
|
+
| `krx_derivative` | 선물/옵션 일별매매정보 |
|
|
348
|
+
| `krx_commodity` | 금/석유/배출권 일별매매정보 |
|
|
349
|
+
| `krx_esg` | ESG 지수/채권/ETP 정보 |
|
|
350
|
+
| `krx_search` | 종목명 검색 (KOSPI + KOSDAQ) |
|
|
351
|
+
| `krx_market_summary` | 시장 요약 (지수/상승·하락/Top movers/거래량) |
|
|
352
|
+
| `krx_watchlist` | 관심종목 관리 (추가/제거/조회/시세) |
|
|
353
|
+
| `krx_schema` | 엔드포인트 응답 필드 스키마 조회 |
|
|
354
|
+
| `krx_rate_limit` | 일일 API 호출 현황 조회 |
|
|
355
|
+
|
|
356
|
+
### 제공 Resource
|
|
357
|
+
|
|
358
|
+
MCP Resource로 읽기 전용 상태 데이터를 노출합니다.
|
|
359
|
+
|
|
360
|
+
| Resource | 설명 |
|
|
361
|
+
| ---------------------- | ---------------------------------- |
|
|
362
|
+
| `krx://watchlist` | 워치리스트 종목 목록 (JSON) |
|
|
363
|
+
| `krx://rate-limit` | 일일 API 호출 현황 (JSON) |
|
|
364
|
+
| `krx://service-status` | 카테고리별 서비스 승인 상태 (JSON) |
|
|
285
365
|
|
|
286
366
|
### 사용 예시
|
|
287
367
|
|
|
@@ -304,6 +384,7 @@ MCP 클라이언트에서 자연어로 요청하면 됩니다:
|
|
|
304
384
|
pnpm install
|
|
305
385
|
pnpm build
|
|
306
386
|
pnpm test
|
|
387
|
+
pnpm test:e2e
|
|
307
388
|
pnpm typecheck
|
|
308
389
|
pnpm lint
|
|
309
390
|
```
|
package/SKILL.md
CHANGED
|
@@ -7,7 +7,7 @@ install: npm install -g krx-cli
|
|
|
7
7
|
binary: krx
|
|
8
8
|
metadata:
|
|
9
9
|
author: kyo504
|
|
10
|
-
version: "1.
|
|
10
|
+
version: "1.5.0"
|
|
11
11
|
invariants:
|
|
12
12
|
- Always use YYYYMMDD format for --date (e.g., 20260310)
|
|
13
13
|
- Data is T-1 (previous trading day), available from 2010 onwards
|
|
@@ -118,6 +118,47 @@ krx esg list --date 20260310 --type etp # ESG ETP
|
|
|
118
118
|
krx esg list --date 20260310 --type sri-bond # SRI bonds
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
+
### Stock Search (종목 검색)
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
krx stock search 삼성전자 # Search by name (KOSPI + KOSDAQ)
|
|
125
|
+
krx stock search SK # Partial match
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Market Summary (시장 요약)
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
krx market summary # Today's market overview
|
|
132
|
+
krx market summary --date 20260310 # Specific date
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Returns: KOSPI/KOSDAQ indices, top 5 gainers/losers, advancing/declining/unchanged counts, total volume/value.
|
|
136
|
+
|
|
137
|
+
### Watchlist (관심종목)
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
krx watchlist add 삼성전자 # Search and add to watchlist
|
|
141
|
+
krx watchlist remove 삼성전자 # Remove by exact name
|
|
142
|
+
krx watchlist remove KR7005930003 # Remove by ISU_CD
|
|
143
|
+
krx watchlist list # List all watchlist entries
|
|
144
|
+
krx watchlist show # Show prices for watchlist stocks
|
|
145
|
+
krx watchlist show --date 20260310 # Specific date
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Cache Management
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
krx cache status # Show cache size, files, dates
|
|
152
|
+
krx cache clear # Clear all cached data
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Version & Update
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
krx version # Show current version and check for updates
|
|
159
|
+
krx update # Update to the latest version (npm install -g krx-cli)
|
|
160
|
+
```
|
|
161
|
+
|
|
121
162
|
### Schema (introspection)
|
|
122
163
|
|
|
123
164
|
```bash
|
|
@@ -128,9 +169,19 @@ krx schema index.kospi_dd_trd # Specific endpoint schema
|
|
|
128
169
|
## Global Flags
|
|
129
170
|
|
|
130
171
|
```
|
|
131
|
-
--output, -o <format> json (default) | table | ndjson
|
|
172
|
+
--output, -o <format> json (default) | table | ndjson | csv
|
|
132
173
|
--fields, -f <fields> Filter output fields: --fields ISU_NM,TDD_CLSPRC,FLUC_RT
|
|
174
|
+
--code <isuCd> Filter by stock code (ISU_CD)
|
|
175
|
+
--sort <field> Sort results by field name
|
|
176
|
+
--asc Sort ascending (default: descending)
|
|
177
|
+
--limit <n> Limit number of results
|
|
178
|
+
--from <date> Start date for range query (YYYYMMDD)
|
|
179
|
+
--to <date> End date for range query (YYYYMMDD)
|
|
180
|
+
--no-cache Bypass cache and fetch fresh data
|
|
181
|
+
--filter <expression> Filter results (e.g. "FLUC_RT > 5", "MKT_NM == KOSPI")
|
|
133
182
|
--dry-run Show request details without calling API
|
|
183
|
+
--save <path> Save output to file instead of stdout
|
|
184
|
+
--retries <n> Max retries on network error (default: 3)
|
|
134
185
|
--verbose, -v Verbose logging to stderr
|
|
135
186
|
```
|
|
136
187
|
|
|
@@ -154,10 +205,36 @@ krx schema index.kospi_dd_trd # Specific endpoint schema
|
|
|
154
205
|
krx index list --date 20260310 --market kospi --fields IDX_NM,CLSPRC_IDX,FLUC_RT
|
|
155
206
|
```
|
|
156
207
|
|
|
157
|
-
### Get Samsung Electronics stock price
|
|
208
|
+
### Get Samsung Electronics stock price (by search)
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
krx stock search 삼성전자 # Find ISU_CD first
|
|
212
|
+
krx stock list --date 20260310 --market kospi --code KR7005930003
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Top 5 gainers
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
krx stock list --date 20260310 --market kospi --sort FLUC_RT --limit 5 --fields ISU_NM,TDD_CLSPRC,FLUC_RT
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Date range query (multi-day)
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
krx index list --market kospi --from 20260301 --to 20260310 --fields IDX_NM,BAS_DD,CLSPRC_IDX
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Quick market overview
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
krx market summary --date 20260310
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Track and monitor stocks
|
|
158
234
|
|
|
159
235
|
```bash
|
|
160
|
-
krx
|
|
236
|
+
krx watchlist add 삼성전자 # Add to watchlist
|
|
237
|
+
krx watchlist show --date 20260310 # View prices for all watchlist stocks
|
|
161
238
|
```
|
|
162
239
|
|
|
163
240
|
### Check API availability before querying
|
|
@@ -294,3 +371,13 @@ krx schema index.kospi_dd_trd # Shows params + responseFields
|
|
|
294
371
|
krx schema stock.stk_bydd_trd # Stock endpoint fields
|
|
295
372
|
krx schema --all # All 31 endpoints
|
|
296
373
|
```
|
|
374
|
+
|
|
375
|
+
## MCP Resources
|
|
376
|
+
|
|
377
|
+
Read-only state data exposed as MCP Resources (for MCP clients):
|
|
378
|
+
|
|
379
|
+
| Resource | Description |
|
|
380
|
+
| ---------------------- | ----------------------------------- |
|
|
381
|
+
| `krx://watchlist` | Watchlist entries (JSON) |
|
|
382
|
+
| `krx://rate-limit` | Daily API call status (JSON) |
|
|
383
|
+
| `krx://service-status` | Per-category approval status (JSON) |
|