Skip to main content
Glama
kiwoom-mcp-server

kiwoom-mcp-server

by ChunSam

kiwoom-mcp-server

한국어 · English

🛑 유지보수 중단 (2026-11-02)

이 프로젝트는 더 이상 유지보수하지 않습니다. 마지막 버전은 v0.52.6이며, 이후 기능 추가·버그 수정·의존성 보안 업데이트를 하지 않습니다. 키움 REST API 쪽 변경으로 일부 tool이 예고 없이 동작하지 않을 수 있습니다. 계속 쓰려면 저장소를 fork해 직접 관리해 주세요 (MIT 라이선스).

키움증권 REST API를 조회 전용(read-only) 으로 노출하는 MCP 서버입니다. Claude Desktop / Claude Code에서 자연어로 국내 주식 시세·차트·호가·지수·순위·수급과 내 계좌의 잔고·보유 종목·거래내역을 조회할 수 있고, ISA 계좌라면 비과세 한도 대비 손익통산 현황까지 계산해 줍니다.

⚠️ 보안 경고

  • 기본 실행은 로컬 stdio입니다. 원격에서 써야 한다면 반드시 인증이 내장된 HTTP 모드(원격 연결 참조)로만 노출하고, 인증 없는 상태(--no-auth)로는 절대 외부 네트워크에 열지 마세요.

  • .env의 AppKey/AppSecret은 실계좌 조회 권한입니다. 절대 커밋하지 마세요 (.gitignore에 이미 등록되어 있습니다).

  • 주문(매수/매도/정정/취소) 기능은 설계상 제외되어 있습니다. 이 서버가 계좌를 변경하는 일은 없습니다.

제공 Tool

시장 데이터 (계좌와 무관, 앱키만 있으면 사용 가능):

Tool

설명

키움 TR

search_stock

종목명→코드 검색 (코스피/코스닥, ETF/ETN 포함) + 투자유의 표시

ka10099

get_stock_price

현재가/등락률/거래량/기본지표 + 업종·상장일·투자유의

ka10001, ka10099

get_stock_quotes

여러 종목(최대 30개) 일괄 시세 — 현재가·등락률·거래량·거래대금·시가총액

ka10095, ka10099

get_stock_chart

일/주/월/년/분/틱봉 캔들 차트 (수정주가 반영)

ka10079~83, ka10094

get_daily_trading

일별 거래·수급 — 종가·거래대금 + 개인/기관/외국인 순매수·프로그램·신용비율, 또는 장전/장중/장후 거래 분포

ka10086, ka10015

get_orderbook

10단계 매도/매수 호가·잔량 (통합 기준)

ka10007

get_orderbook_rank

시장 전체 호가잔량 상위 / 잔량 급증 / 잔량비율 급증 (정규장 중)

ka10020~22

get_market_index

코스피/코스닥 종합·업종 지수

ka20003

get_sector_price

업종 지수 현재가 상세 (등락 구성·52주 고저·시간대별 추이)

ka20001

get_sector_stocks

업종 구성 종목 시세 (현재가·등락률·거래량·고저가)

ka20002

get_sector_chart

업종 지수 일/주/월/년/분/틱봉 캔들 차트

ka20004~08, ka20019

get_sector_flow

업종별 투자자 순매수 — 시장 전체 업종의 개인/외국인/기관계 + 증권·투신·연기금·사모

ka10051

get_ranking

상승률/하락률/거래량/거래대금 상위 + 시가대비 등락률(체결강도 포함) + 신용비율 상위

ka10027/30/32, ka10028, ka10033

get_equal_net_trade

기관·외국인이 동시에 같은 방향으로 순매매한 종목 + 주체별 추정 평균단가

ka10062

get_valuation_rank

PER·PBR·ROE 고저 순위 (시장 전체 밸류에이션 스크리닝)

ka10026

get_supply_concentration

매물대집중 종목 — 특정 가격대에 거래가 몰린 종목과 그 구간

ka10025

get_market_movers

신고가/신저가/상한가/하한가/급등/급락/거래량급증/거래량갱신(직전 N일 최대 돌파) 특이 종목

ka10016/17/19/23/24

get_vi_stocks

당일 VI(변동성완화장치) 발동 종목 (발동가·괴리율·시각)

ka10054

get_expected_execution

동시호가 예상체결 순위 (개장 전 08:3009:00 / 마감 전 15:2015:30)

ka10029

get_investor_trend

개인/외국인/기관 순매수 동향 (기간 합계 + 일별)

ka10059, ka10061

get_institution_trend

기관·외국인 추정평균단가 + 일별·기간누적 순매수

ka10045

get_investor_rank

외국인·기관 순매매 상위 종목 / N일 연속 순매수 현황

ka90009, ka10131

get_net_buy_rank

투자자 12주체(개인·외국인·기관계·금융투자·보험·투신·은행·연기금등·사모펀드·기타금융·국가·기타법인)별 순매수 상위 종목 — 직전 완료 거래일 기준

ka10066

get_foreign_intraday

장중 주체별 순매수/순매도 상위 종목 — 외국인·기관계·보험·투신·연기금등·기타법인 (실시간 잠정치)

ka10063, ka10065

get_broker_activity

종목별 거래원(증권사) 매수/매도 상위 5 + 외국계 창구 표시, 전 거래원 50개사 누적 순위(view=broker_rank), 당일 상위에서 이탈한 창구(view=dropout), 또는 시장 전체 외국계 창구 순매매 상위

ka10002, ka10102, ka10037, ka10038, ka10053

get_etf_info

ETF 추적지수·과세유형·시세·NAV/괴리율

ka40002, ka10001, ka40009

get_etf_returns

ETF 기간별 수익률 vs 비교지수(직접 고르는 국내 지수 — 추적지수와 자동으로 맞춰지지 않음) + 일별 NAV·괴리율·추적오차 추이, 일자별 외국인·기관 순매수

ka40001, ka40003, ka40008

get_etf_rank

상장 ETF 전 종목 스크리너 — 괴리율(고평가/저평가)·등락률·거래량·추적오차 정렬 + 과세유형·운용사·추적지수 필터

ka40004

get_short_selling

종목별 일자별 공매도 추이 (공매도량·비중·평균가)

ka10014

get_stock_lending

대차거래 추이 (체결·상환·증감·잔고) — 종목별/시장 전체 + 대차잔고 상위 종목 순위

ka10068, ka20068, ka90012

get_credit_trend

신용융자·대주 잔고 추이 (신규·상환·잔고·공여율·잔고율)

ka10013

get_foreign_holding

외국인 보유(한도) 동향 — 종목별 추이, 또는 시장 전체 순위(한도소진율 증가 / 기간 누적 순매매 / 3일 연속 순매매)

ka10008, ka10036, ka10034, ka10035

get_program_trading

프로그램 매매 상위(당일·날짜 지정) + 추이 (일자별/시간대별/종목별, 코스피/코스닥) + 종목 시간대별·차익거래 잔고

ka90003, ka90004, ka90010, ka90005, ka90013, ka90008, ka90006

get_after_hours

시간외 단일가 (16:00~18:00) — 종목별 5단 호가·시세 또는 등락률 순위

ka10087, ka10098

get_execution_strength

체결강도 추이 (매수÷매도 체결량×100, 100이 균형) — 일별 60거래일 / 시간별 60분

ka10046, ka10047

get_gold_price

KRX 금현물 시세 (금 1Kg / 미니금 100g) — 일별추이 + 기관·개인 순매수, 또는 당일 틱 체결

ka50012, ka50010

관심종목 (영웅문 HTS에 저장한 관심 그룹, 읽기 전용):

Tool

설명

키움 TR

get_watchlist_groups

HTS 관심종목 그룹 목록 (그룹코드+그룹명)

ka01300

get_watchlist

그룹 내 종목 목록 (종목명·전일종가·시장·투자유의 보강)

ka01301, ka10099

키움 REST API에는 관심종목 편집(추가/삭제) TR이 없어 조회만 가능합니다.

테마:

Tool

설명

키움 TR

get_theme_groups

테마 그룹 목록 (등락률·종목수·기간수익률·주요종목; 종목별 편입 테마 검색)

ka90001

get_theme_stocks

특정 테마의 구성종목과 시세 (현재가·등락률·거래량·기간수익률)

ka90002

계좌 (앱키에 귀속된 계좌 기준):

Tool

설명

키움 TR

get_account_balance

예수금 + 총평가금액/총평가손익/추정예탁자산 + 당일/당월/누적 손익, view=settlement은 익일 결제 예정 건별 명세

kt00001, kt00018, kt00004, kt00008

get_account_holdings

보유 종목별 수량/평균단가/현재가/평가손익

kt00018

get_account_today

계좌 당일 현황 — 매매대금·수수료·세금·입출금 + D+2 추정 (실전 전용)

kt00017

get_account_trend

일별 추정예탁자산 추이 + 기간 수익률/평가손익/입출금 요약 (기본 30일, 모의투자 미지원)

kt00002, kt00016

get_transactions

기간별 거래내역 (체결일·단가·정산금액, 모의투자 미지원)

kt00015

get_pending_orders

미체결 주문 (주문번호·구분·상태·주문/미체결수량·주문가격)

ka10075

get_order_executions

체결 내역 (주문번호·구분·상태·주문/체결 수량·가격·수수료+세금, side/종목/주문번호 필터)

ka10076

get_trading_journal

당일매매일지 (종목별 매수/매도 평균가·수량·실현손익, 총손익)

ka10170

calc_isa_tax_status

ISA 손익통산 순이익의 비과세 한도 대비 현황 (확정 + 전량매도 시나리오, kt00015 의존이라 모의투자 미지원)

kt00015, ka10074, kt00018

그 외 ping(연결 확인, 앱키 불필요). 모든 응답은 [모의투자]/[실전투자] 접두어로 어느 서버가 답했는지 표시합니다. search_stock 첫 호출은 종목 마스터(~4,300종목)를 내려받아 몇 초 걸리며 이후 12시간 캐시됩니다.

거래소 기준 — KRX + 넥스트레이드(NXT) 통합

v0.31.0부터 시세·랭킹 tool은 통합(SOR) 기준으로 조회합니다. KRX와 넥스트레이드(NXT) 체결을 합산한 값이며, NXT 거래가능 종목(약 606개, 대형주 다수)은 KRX만 볼 때보다 거래량이 크게 늘어납니다 — 삼성전자 실측(2026-08-03 정규장) KRX 19.2M / NXT 15.5M / 통합 34.7M. KRX만 표시하는 HTS·포털 화면과 숫자가 다르면 대개 이 차이입니다.

예외는 get_after_hours(시간외 단일가) 하나입니다 — 통합 조회가 불가능하며 NXT 거래가능 종목은 애초에 이 TR에서 조회되지 않습니다. 거래원(get_broker_activity)은 v0.47.0에서 통합으로 넘어왔습니다 — 그전까지 KRX 값을 내보내 상위 5의 순위가 실제와 달랐습니다(삼성전자 매수 1위가 KRX 기준 KB증권 / 통합 기준 미래에셋). 호가는 v0.37.0에서 통합으로 넘어왔습니다 — ka10004 대신 ka10007(시세표성정보)을 쓰며, 삼성전자 실측(2026-08-04 정규장) 매수1 잔량이 KRX 18,421 / NXT 17,081 / 통합 36,319이었습니다.

calc_isa_tax_status 사용 메모

  • 집계 시작일: .env의 ISA_OPENED_ON(계좌 개설일)이 기본값, 호출 시 from_date로 오버라이드 가능.

  • 배당·분배금이 거래내역에서 자동 감지되지 않으면 dividends_received 인자로 수동 입력.

  • 종목 과세유형(과세대상 vs 국내주식형)은 자동 분류입니다 — ETF는 키움이 주는 etftxon_type(ka40002)으로 확정하고(조회 실패 시 종목명 휴리스틱으로 폴백), 개별주식 등 그 밖에는 종목명 기반으로 추정합니다. 틀린 경우 overrides: [{stock_code, tax_type}]로 수정. 결과는 참고용 — 실제 과세는 증권사 정산 기준.

Related MCP server: kiwoom-mcp

요구 사항

  • Node.js 22 이상 — Node 20이 2026-04-30에 EOL이 되면서 바닥을 올렸습니다 (process.loadEnvFile은 20.12부터 있으므로 코드가 요구하는 최소치는 그보다 낮습니다)

  • 키움증권 REST API 앱키 — 키움 Open API 포털에서 앱 등록 후 발급

    • 모의투자(VIRTUAL)와 실전투자(REAL)는 각각 별도로 발급받은 앱키를 사용하며, 발급받은 키 종류와 KIWOOM_MODE가 일치해야 합니다.

    • 계좌는 앱키에 귀속되므로 계좌번호 입력은 필요 없습니다.

설치

npm에 배포되어 있으므로 클론 없이 npx로 바로 실행할 수 있습니다 — 아래 "Claude Desktop 연결" / "Claude Code 연결"의 npx 설정을 그대로 쓰면 됩니다. 이 경우 앱키는 .env 파일 대신 클라이언트 설정의 env 블록으로 전달합니다(예제는 각 연결 섹션 참고).

소스에서 직접 빌드하거나 코드를 수정하려면:

git clone <이 저장소 URL>   # 또는 소스 복사
cd kiwoom-mcp-server
npm install
cp .env.example .env        # 아래 표를 참고해 값 입력
npm run build               # dist/ 생성
npm test                    # 단위 테스트 (네트워크 불필요)

환경 변수 (.env)

변수

필수

설명

KIWOOM_APP_KEY

✅

키움 REST API 앱키

KIWOOM_APP_SECRET

✅

키움 REST API 앱 시크릿

KIWOOM_MODE

VIRTUAL(모의투자, 기본값) 또는 REAL(실전투자)

ISA_ENABLED

true면 calc_isa_tax_status tool 활성화. 기본값 false(일반 계좌 기준)

ISA_TYPE

GENERAL(일반형, 한도 200만원, 기본값) 또는 SEOMIN(서민형/농어민형, 400만원). ISA_ENABLED=true일 때만 사용

ISA_OPENED_ON

ISA 계좌 개설일 yyyy-MM-dd — calc_isa_tax_status 집계 시작일 기본값. ISA_ENABLED=true일 때만 사용

MCP_TRANSPORT

stdio(기본값) 또는 http — 원격 연결 참조

MCP_AUTH_TOKEN

HTTP 모드 ✅

HTTP 모드에서 모든 /mcp 요청이 제시해야 하는 Bearer 토큰

MCP_HTTP_PORT

HTTP 모드 포트 (기본값 8000)

MCP_HTTP_HOST

HTTP 모드 바인드 주소 (기본값 127.0.0.1)

MCP_HTTP_NO_AUTH

true면 인증 없이 HTTP 모드 기동 허용 (비권장 — 아래 보안 주의 참조)

MCP_PUBLIC_URL

HTTP 모드에서 외부에 광고할 기준 URL (예: https://kiwoom.example.com). 미설정 시 요청의 Host + X-Forwarded-Proto로 추론 — 리버스 프록시가 그 헤더를 붙이지 않으면 명시해야 합니다

기본값은 일반(비-ISA) 계좌 기준입니다 — 별도 설정이 없으면 시장·계좌 조회 tool만 노출됩니다. ISA 계좌를 연결해 비과세 한도 tool을 쓰려면 ISA_ENABLED=true로 켜고 ISA_TYPE/ISA_OPENED_ON을 채우세요. 끄면 calc_isa_tax_status가 등록되지 않고 나머지 tool은 모두 그대로 동작합니다.

.env는 프로젝트 루트에서 먼저 찾기 때문에 (Claude Desktop처럼) 임의의 작업 디렉터리에서 실행돼도 동작합니다.

Claude Desktop 연결

설정 파일 위치:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

npx (배포판) — 클론 없이 실행. 앱키는 env 블록으로 전달:

{
  "mcpServers": {
    "kiwoom": {
      "command": "npx",
      "args": ["-y", "kiwoom-mcp-server"],
      "env": {
        "KIWOOM_APP_KEY": "…",
        "KIWOOM_APP_SECRET": "…",
        "KIWOOM_MODE": "REAL"
      }
    }
  }
}

소스 빌드 — dist/index.js 직접 실행. 앱키는 프로젝트 루트 .env 사용:

{
  "mcpServers": {
    "kiwoom": {
      "command": "/opt/homebrew/bin/node",
      "args": ["/절대/경로/kiwoom-mcp-server/dist/index.js"]
    }
  }
}

command에는 실행 파일의 절대 경로를 쓰는 편이 가장 안전합니다 (which node, which npx로 확인). GUI 앱은 셸 PATH를 상속받지 않으므로 "node"/"npx"라고만 쓰면 서버가 조용히 뜨지 않을 수 있습니다 — 가장 흔한 실패 원인입니다.

저장 후 Claude Desktop을 완전히 종료(macOS는 ⌘Q)했다가 다시 실행하면 tool이 보입니다. npm run build로 다시 빌드한 뒤에도 완전 종료 후 재실행해야 변경이 반영됩니다.

Claude Code 연결

npx (배포판) — 앱키는 -e 플래그로 전달:

claude mcp add kiwoom \
  -e KIWOOM_APP_KEY=… -e KIWOOM_APP_SECRET=… -e KIWOOM_MODE=REAL \
  -- npx -y kiwoom-mcp-server

소스 빌드 — 프로젝트 루트 .env 사용:

claude mcp add kiwoom -- node /절대/경로/kiwoom-mcp-server/dist/index.js

원격 연결 (HTTP 모드) — claude.ai 웹/모바일

claude.ai(웹/모바일)의 커스텀 커넥터는 로컬 stdio 서버에 직접 붙을 수 없고, 공개 HTTPS로 접근 가능한 Streamable HTTP MCP 서버가 필요합니다. --http 플래그(또는 MCP_TRANSPORT=http)로 이 서버를 HTTP 모드로 띄울 수 있습니다:

MCP_AUTH_TOKEN="$(openssl rand -hex 32)" npx -y kiwoom-mcp-server --http --port 8000
# 엔드포인트: http://127.0.0.1:8000/mcp · 헬스체크: /healthz
  • 인증이 기본 필수입니다. MCP_AUTH_TOKEN이 없으면 기동을 거부합니다 — 모든 /mcp 요청에 Authorization: Bearer <토큰> 헤더가 있어야 합니다. 인증 없이 열려면 --no-auth를 명시해야 하며, 계좌 조회 도구가 그대로 노출되므로 신뢰할 수 있는 네트워크나 모의투자(KIWOOM_MODE=VIRTUAL)에서만 사용하세요.

  • 기본 바인드는 127.0.0.1입니다 — 터널을 앞에 두는 구성을 전제합니다. 컨테이너/서버에 직접 노출하려면 --host 0.0.0.0을 명시하세요.

  • 공개 HTTPS URL은 Cloudflare Tunnel 등으로 만듭니다: cloudflared tunnel --url http://localhost:8000 (임시 URL — 상시 운영은 named tunnel 권장).

  • OAuth 메타데이터에 실리는 주소는 요청의 Host와 X-Forwarded-Proto에서 추론합니다. Cloudflare Tunnel처럼 그 헤더를 붙여 주는 프록시라면 그대로 두면 되지만, 직접 세운 nginx/Caddy가 X-Forwarded-Proto를 넘기지 않으면 issuer가 http://로 광고되어 claude.ai가 연결을 거부합니다. 그럴 때 MCP_PUBLIC_URL=https://<도메인>으로 고정하세요.

  • claude.ai 등록: Settings → Connectors → Add custom connector에 https://<도메인>/mcp를 입력합니다 (고급 설정의 OAuth 필드는 비워둡니다). 연결 시 브라우저에 승인 페이지가 뜨고, MCP_AUTH_TOKEN 값을 접속 암호로 입력하면 완료됩니다 — 서버가 MCP 인증 스펙(OAuth 2.0 + PKCE, 동적 클라이언트 등록)을 내장하고 있어 별도 헤더 설정이 필요 없습니다. 등록한 커넥터는 웹/모바일/데스크톱에서 공용입니다. 헤더를 지정할 수 있는 클라이언트(예: Claude Code --header)는 기존처럼 Authorization: Bearer <MCP_AUTH_TOKEN> 정적 헤더로도 접속할 수 있습니다. OAuth 토큰은 작업 디렉터리의 .oauth-state.json(0600)에 저장되어 서버를 재시작해도 연결이 유지됩니다.

  • ⚠️ 키움 API 호출은 이 서버가 실행되는 곳에서 나갑니다. REAL 모드는 키움 지정단말기 인증(8050)이 IP에 묶이므로, 등록된 IP가 아닌 곳(클라우드 등)에서 실행하면 인증 오류가 날 수 있습니다. 원격 노출은 모의투자로 먼저 검증하세요.

기존 stdio 동작(Claude Desktop/Code 연결)은 인자 없이 실행하면 그대로입니다 — 단, .env나 환경변수에 MCP_TRANSPORT=http가 있으면 예외입니다. .env는 전송 방식을 고르기 전에 읽히므로 인자 없이 실행해도 HTTP 경로를 타고, MCP_AUTH_TOKEN이 없으면 아예 기동을 거부합니다. MCP_TRANSPORT 값과 무관하게 stdio로 강제하려면 **--stdio**를 넘기세요.

동작 확인

MCP 클라이언트 없이 stdio로 직접 확인할 수 있습니다:

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"t","version":"0"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"ping","arguments":{}}}' \
  | node dist/index.js

ping은 .env 없이도 응답합니다. 시세·계좌 tool은 앱키가 있어야 합니다.

문제 해결

증상

확인할 것

Desktop에 tool이 안 보임

command가 node 절대 경로인지, npm run build를 했는지, Desktop을 완전 종료 후 재실행했는지

환경설정이 없거나 잘못되었습니다

.env가 프로젝트 루트에 있는지, 필수 변수가 채워졌는지

키움 인증에 실패했습니다

앱키 종류(모의/실전)와 KIWOOM_MODE가 일치하는지, 포털에서 앱이 활성 상태인지

요청 한도를 초과했습니다

키움 레이트리밋(TR당 약 1초 1회). 서버가 자동 재시도한 뒤에도 초과한 경우이니 잠시 후 다시 시도

예수금과 D+2 추정예수금이 다름

미결제(D+2 정산) 매매가 있으면 정상입니다

개발

npm run dev         # tsx로 소스 직접 실행
npm run check       # 버전 5곳 동기화 · 카운트 · README 2종 tool 문서화 · server.ts 등록 누락
npm run check:write # 위 카운트를 실제 값으로 고쳐 씀 (버전은 안 건드림)
npm run typecheck   # tsc --noEmit -p tsconfig.test.json (src + tests)
npm test            # vitest
npm run build       # tsc → dist/

네 가지 모두 CI(.github/workflows/ci.yml, Node 22·24)에서 돌고, 거기에 npm audit --omit=dev --audit-level=high가 한 단계 더 붙습니다. 타입체크가 tsconfig.test.json을 쓰는 이유는 빌드용 tsconfig.json의 rootDir가 src라 테스트를 거기 넣으면 dist/ 레이아웃이 바뀌기 때문입니다 — 빌드는 그대로 tsconfig.json을 씁니다.

구조: src/kiwoom/(인증·HTTP·TR 계층) → src/tools/(MCP tool, 포맷터 분리) → src/isa/(과세유형 분류·실현손익 재구성·손익통산). 상세 규칙과 검증된 API 계약은 CLAUDE.md 참고.

라이선스

MIT

Available Tools

49 tools
get_account_balance계좌 잔고 조회A

view=summary(기본)는 계좌의 예수금(주문가능/출금가능 포함)과 총매입금액, 총평가금액, 총평가손익, 추정예탁자산, 당일/당월/누적 투자손익입니다 (키움 kt00001 + kt00018 + kt00004). view=settlement은 다음 결제일에 결제될 체결의 건별 명세입니다 (kt00008) — summary의 D+1/D+2 추정예수금이 왜 그 값인지를 종목·수량·수수료·제세금으로 쪼개 보여줍니다. 지난 결제 내역 전체는 get_transactions(kt00015), 보유 종목별 잔고는 get_account_holdings를 쓰세요.

Inputs: view.

get_account_holdings보유 종목 조회A

계좌의 보유 종목 목록을 조회합니다 — 종목별 수량, 평균단가, 현재가, 평가금액, 평가손익, 수익률, 보유비중 (키움 kt00018). 인자가 필요 없습니다.

Inputs: no named parameters.

get_account_today계좌 당일 현황 조회A

오늘 하루 계좌에 무슨 일이 있었는지를 한 장으로 조회합니다 (키움 kt00017) — 매도·매수 금액, 수수료·세금, 입출금·입출고, D+2 추정예수금·평가금액, 신용/대출 잔액. 종목별 실현손익은 get_trading_journal, 현재 보유 종목은 get_account_holdings, 예수금·총평가 요약은 get_account_balance를 쓰세요 — 당일 현금 흐름을 보는 것은 이 tool뿐입니다. 모의투자에서는 제공되지 않습니다(RC9000).

Inputs: no named parameters.

get_account_trend계좌 자산·수익률 추이 조회A

일별 추정예탁자산(예수금·대용금 포함) 추이와 기간 수익률·평가손익·입출금 요약을 조회합니다 (키움 kt00002 + kt00016). "내 계좌가 지난 한 달간 어떻게 변했나" 같은 질문에 사용하세요 (기본 30일, 최대 90일). 모의투자에서는 지원되지 않는 조회입니다.

Inputs: days.

get_after_hours시간외 단일가 조회A

장 종료 후 시간외 단일가 매매(16:00~18:00 KST) 정보를 조회합니다 (키움 ka10087/ka10098). stock_code를 지정하면 해당 종목의 시간외 단일가 시세와 5단 호가를, 생략하면 시장 전체 등락률 순위를 보여줍니다. 대비·등락률은 전일이 아니라 당일 종가 기준입니다. 순위는 sort(up_rate 상승률 기본/up_amount 상승폭/down_rate 하락률/down_amount 하락폭/unchanged 보합), market(all 기본/kospi/kosdaq), min_volume(거래량 하한)으로 조절합니다. 정규장 호가는 get_orderbook을 쓰세요.

Inputs: top, sort, market, min_volume, +1 more.

get_broker_activity거래원 동향 조회A

증권사 창구별 매매 동향을 조회합니다 (키움 ka10002/ka10102/ka10037/ka10038/ka10053). stock_code를 주면 그 종목의 당일 거래원 상위 5개사(매수/매도)이고, 외국계 창구에는 🌐를 붙입니다. 같은 종목을 view=broker_rank로 부르면 전 거래원 50개사의 누적 순위를 순매수/순매도로 갈라 보고, view=dropout이면 당일 상위에서 빠진 창구와 그 시각을 봅니다(누가 언제 발을 뺐는지). stock_code를 생략하면 시장 전체에서 외국계 창구 순매매가 큰 종목 순위입니다 (direction: net_buy 기본/net_sell/all, days: 1·5·10일 누적). 둘 다 창구 기준이라 투자자 주체별 순매수와는 다릅니다 — 외국인 순매수 자체는 get_investor_trend나 get_foreign_intraday를 쓰세요.

Inputs: top, days, sort, view, +3 more.

get_credit_trend신용융자·대주 잔고 추이 조회A

특정 종목의 신용융자(빚내서 산 물량) 또는 대주(빌려서 판 물량) 신규·상환·잔고 추이를 조회합니다 (키움 ka10013). 신용잔고가 쌓이면 하락 시 반대매매 압력이, 대주 잔고가 쌓이면 하락 베팅이 늘었다는 신호입니다. 기관·외국인의 대차거래 잔고는 get_stock_lending, 공매도 체결량 추이는 get_short_selling을 쓰세요 — 개인 신용거래를 보는 것은 이 tool뿐입니다.

Inputs: stock_code (required), count, base_date, credit_type.

get_daily_trading일별 거래·수급 상세 조회A

종목의 일자별 거래를 한 번의 호출로 조회합니다 (키움 ka10086/ka10015). view=flow(기본)는 종가·등락률·거래량·거래대금과 함께 개인/기관/외국인 순매수, 프로그램, 신용비율을 한 행에 묶어 줍니다 — '이 종목을 최근 누가 사고팔았나'를 볼 때 첫 번째로 쓰는 tool입니다. view=session은 같은 일자별로 장전/장중/장후 거래 분포를 보여줍니다. 가격 캔들만 필요하면 get_stock_chart, 투자자 주체를 증권·투신·연기금까지 세분해 보려면 get_investor_trend, 외국인 보유비중 추이는 get_foreign_holding을 쓰세요.

Inputs: stock_code (required), unit, view, count, +1 more.

get_equal_net_trade기관·외국인 동시 순매매 조회A

기관과 외국인이 같은 방향으로 동시에 순매매한 종목 순위를 조회합니다 (키움 ka10062). 두 주체의 방향이 겹치는 종목과 각각의 추정 평균단가를 함께 주는 건 이 tool뿐입니다 — 현재가와 평단을 비교하면 누가 물려 있고 누가 이익 구간인지 볼 수 있습니다. direction: net_buy(동시 순매수, 기본)/net_sell(동시 순매도). 주체별로 따로 보려면 get_net_buy_rank(마감 후 12주체)나 get_investor_trend(종목별)를 쓰세요.

Inputs: top, sort, market, direction, +1 more.

get_etf_infoETF 정보 조회A

ETF의 추적지수, 과세유형, 현재 시세, NAV·괴리율을 조회합니다 (키움 ka40002+ka10001+ka40009). 종목코드를 모르면 search_stock으로 먼저 찾으세요.

Inputs: stock_code (required).

get_etf_rankETF 전체시세 스크리너 (시장 전체)A

상장 ETF 전 종목(약 1,150개)을 한 번에 훑어 괴리율·등락률·거래량·추적오차로 정렬합니다 (키움 ka40004). 'NAV보다 비싸게 거래되는 ETF', '거래량 많은 ETF', '추적오차가 큰 ETF'처럼 종목을 아직 고르지 않은 상태에서 찾을 때 쓰세요. 종목을 이미 정했다면 get_etf_info(추적지수·과세유형·NAV)나 get_etf_returns(기간 수익률)가 낫고, ETF가 아닌 일반 주식 스크리닝은 get_valuation_rank·get_ranking을 쓰세요.

Inputs: top, sort, manager, tax_type, +2 more.

get_etf_returnsETF 수익률·NAV 추이 조회A

ETF의 성과를 세 각도로 조회합니다 (키움 ka40001/ka40003/ka40008). view=period(기본)는 기간별(1주/1개월/6개월/1년) 수익률을 비교지수 수익률과 나란히 보여줍니다 — 이 비교지수는 benchmark_index_code로 직접 고르는 국내 지수이고 ETF의 추적지수와 자동으로 맞춰지지 않습니다(지정하지 않으면 201 KOSPI200이 그대로 들어갑니다). 코드는 get_market_index의 '코드' 값(001 코스피 종합, 101 코스닥 종합 등)이라 해외지수(나스닥100·S&P500 등)를 추종하는 ETF는 비교 지수를 맞출 수 없습니다 — 그때는 ETF 수익률만 읽고 지수 비교는 제공되지 않는다고 답하세요(추종 성과는 view=daily의 추적오차율). view=daily는 일별 NAV와 괴리율·추적오차 추이입니다 — 'ETF가 제값에 거래되고 있나', '지수를 잘 따라가고 있나'를 물을 때 씁니다(get_etf_info는 최신 1점만 보여줍니다). view=investor는 일자별 외국인·기관 순매수량입니다(period는 기간 합계라 해상도가 다릅니다). 종목코드를 모르면 search_stock으로 먼저 찾으세요.

Inputs: stock_code (required), days, view, benchmark_index_code.

get_execution_strength체결강도 추이 조회A

종목의 체결강도(매수 체결량 ÷ 매도 체결량 × 100) 추이를 조회합니다 (키움 ka10046/ka10047). 100이 균형이며, 그보다 높으면 매수세가 우세합니다. view=daily(기본)는 최근 60거래일, view=intraday는 최근 60분(1분 간격) 흐름을 보여주고 5/20/60 이동평균이 함께 옵니다. '이 종목에 매수세가 붙고 있나'를 볼 때 씁니다. 정규장 호가는 get_orderbook, 투자자 주체별 수급은 get_investor_trend를 쓰세요.

Inputs: stock_code (required), view, count.

get_expected_execution예상체결 순위 조회 (동시호가)A

예상체결가 기준 순위를 조회합니다 (키움 ka10029). 예상체결가는 '지금 체결된다면 이 값'이라 동시호가(개장 전 08:3009:00, 마감 전 15:2015:30)에 오늘의 시초가·종가 방향을 미리 볼 때 특히 유용합니다. 키움이 예상체결을 산출하지 않는 시간대에는 빈 결과가 돌아옵니다(오류가 아닙니다). 실제로 체결된 결과의 등락률·거래량 순위는 get_ranking, 신고가·상한가·급등 같은 특이 종목은 get_market_movers, 시간외 단일가는 get_after_hours를 쓰세요.

Inputs: top, sort, market.

get_foreign_holding외국인 보유 추이 조회A

외국인 보유(한도) 동향을 조회합니다 (키움 ka10008/ka10036/ka10034/ka10035). stock_code를 주면 그 종목의 일자별 추이 — 종가·거래량·외국인 순변동수량·보유주식수·보유비중·한도소진률. stock_code 없이 rank를 주면 시장 전체 순위입니다: limit_surge(한도소진율이 가장 많이 오른 종목)/period_net(기간 누적 순매매 상위)/streak(3일 연속 같은 방향으로 순매매한 종목 — 누적 크기가 아니라 방향의 지속성을 볼 때). 이 tool은 전부 외국인 보유·한도 계열이라, 투자자 매매 기준인 get_net_buy_rank·get_investor_trend·get_foreign_intraday와는 데이터 소스가 다릅니다(같은 종목에서 부호가 반대일 수 있음).

Inputs: top, days, rank, limit, +3 more.

get_foreign_intraday장중 주체별 순매수 상위 (실시간)A

정규장 중 어떤 주체가 지금 사고 있는 종목을 전 종목에서 뽑습니다 (키움 ka10063/ka10065). '오늘 외국인이 뭘 담고 있나', '장중 연기금 순매수 상위'처럼 실시간 수급을 볼 때 쓰세요. investor로 외국인(기본)·기관계·보험·투신·연기금등·기타법인을 고릅니다 — 개인·금융투자는 거래소가 장중에 공개하지 않아 조회할 수 없습니다. 값은 1,000주 단위 잠정치라 마감 후 확정치와 다릅니다(부호가 반대일 수도 있음) — 마감된 거래일 기준은 get_net_buy_rank, 종목을 이미 정했다면 get_investor_trend를 쓰세요.

Inputs: top, unit, market, investor, +1 more.

get_gold_priceKRX 금현물 시세 조회A

KRX 금시장(금현물) 시세를 조회합니다 (키움 ka50010/ka50012). instrument: 1kg(금 99.99_1Kg, 기본)/100g(미니금 99.99_100g) — 상장 종목은 이 둘뿐입니다. mode: daily(일별추이 + 기관·개인 순매수, 기본)/ticks(당일 틱 체결 + 체결강도·최우선호가). 금 실물 가격(g당 원)을 볼 때 쓰며, 금 ETF·ETN은 종목이므로 get_stock_price를 쓰세요. 종목코드는 입력하지 않습니다 — 금현물에는 종목 마스터가 없어 search_stock으로 찾을 수 없습니다.

Inputs: mode, rows, base_date, instrument.

get_institution_trend기관·외국인 추정평균단가 조회A

특정 종목을 기관·외국인이 대략 얼마에 담았는지(추정평균단가)와 일별·기간누적 순매수를 조회합니다 (키움 ka10045). 현재가와 추정단가를 비교하면 두 주체의 평가손익 구간을 가늠할 수 있습니다. 투자자 주체를 더 잘게(개인·금융투자·보험·투신·연기금 등) 보려면 get_investor_trend를, 외국인 보유주식수·한도소진률 추이는 get_foreign_holding을 쓰세요 — 단가를 주는 것은 이 tool뿐입니다.

Inputs: stock_code (required), count, to_date, from_date.

get_investor_rank외국인·기관 순매매 상위 / 연속매매 현황A

외국인과 기관이 많이 사고판 종목을 조회합니다 (키움 ka90009/ka10131). view: daily(일자별 순매수·순매도 상위, 기본) / streak(N일 연속 순매수 상위). "오늘 외국인이 뭘 샀나", "외국인이 며칠째 사는 종목" 질문에 사용하세요. daily는 market all/kospi/kosdaq, streak는 kospi/kosdaq만 지원합니다. 여기서 말하는 순매수·연속은 매매 기준입니다 — 외국인 보유주식수·한도소진률 기준의 연속 순매매는 get_foreign_holding(rank=streak)이고 데이터 소스가 달라 같은 종목에서 부호가 반대일 수 있습니다. 연기금·투신처럼 12주체를 고르려면 get_net_buy_rank를 쓰세요.

Inputs: date, days, unit, view, +2 more.

get_investor_trend투자자별 매매동향 조회A

종목의 개인/외국인/기관 순매수 동향을 조회합니다 (키움 ka10059+ka10061). 기간 합계와 최근 거래일별 내역을 함께 보여줍니다. unit: amount(금액, 백만원, 기본)/quantity(수량, 주). 같은 일자에 종가·거래량·프로그램·신용비율까지 한 행으로 묶어 보려면 get_daily_trading(view=flow), 기관·외국인이 담은 추정평균단가는 get_institution_trend, 주체를 정해 종목을 찾을 때는 get_net_buy_rank를 쓰세요. 종목코드를 모르면 search_stock으로 먼저 찾으세요.

Inputs: stock_code (required), unit, to_date, from_date.

get_market_index시장 지수 조회A

코스피/코스닥 종합지수와 업종별 지수를 조회합니다 (키움 ka20003). 첫 행이 시장 종합지수, 이후는 업종 지수입니다. 각 행의 '코드'는 get_sector_price / get_sector_stocks의 sector_code로 사용할 수 있습니다.

Inputs: market.

get_market_movers시장 특이 종목 조회A

시장 특이 종목을 조회합니다 (키움 ka10016/ka10017/ka10019/ka10023/ka10024). signal: new_high(신고가)/new_low(신저가)/upper_limit(상한가)/lower_limit(하한가)/surge(급등)/plunge(급락)/volume_surge(거래량급증)/volume_renew(거래량갱신). market: all(전체, 기본)/kospi/kosdaq. 신고/신저는 days(5/10/20/60/250일, 기본 5일) 기준, 급등/급락과 거래량급증은 전일 대비입니다 (거래량급증은 급증량 순, 5천주 이상). volume_renew는 직전 cycle거래일(5/10/20/60/120, 기본 20) 중 최대 거래량을 오늘 갱신한 종목으로, 전일 하루만 보는 volume_surge보다 긴 호흡의 거래량 돌파를 찾을 때 씁니다.

Inputs: signal (required), top, days, cycle, +1 more.

get_net_buy_rank투자자 주체별 순매수 상위 (시장 전체)A

시장 전 종목을 훑어 투자자 주체별 순매수 상위를 뽑습니다 (키움 ka10066). '연기금이 어제 뭘 담았나', '투신 순매도 상위', '사모펀드가 산 코스닥 종목'처럼 주체를 정하고 종목을 찾을 때 쓰세요. 개인·외국인·기관계 외에 금융투자·보험·투신·은행· 연기금등·사모펀드·기타금융·국가·기타법인까지 12주체를 고를 수 있습니다. 종목을 이미 정했다면 get_investor_trend(종목 1개의 주체별 시계열)가 낫고, 외국인·기관만 빠르게 보려면 get_investor_rank(상위 25종목)가 가볍습니다. market(kospi 또는 kosdaq)은 필수이고 전체 시장을 한 번에 보는 옵션은 없습니다. 수치는 직전 완료 거래일 기준이며, 장중 실시간은 get_foreign_intraday(외국인 한정)를 쓰세요.

Inputs: market (required), subject (required), top, side, +2 more.

get_orderbook호가 조회A

종목의 10단계 매도/매수 호가와 잔량을 KRX+넥스트레이드(NXT) 통합 기준으로 조회합니다 (키움 ka10007). 지금 어느 가격에 대기 물량이 얼마나 쌓였는지, 매수·매도 어느 쪽이 두꺼운지 볼 때 씁니다. 호가는 체결이 아니라 대기 주문이므로, 실제 체결 쪽 힘은 get_execution_strength(체결강도)를 보세요 — 계좌의 체결 내역은 get_order_executions이고, 여러 종목의 현재가를 한 번에 볼 때가 get_stock_quotes입니다. 종목코드를 모르면 search_stock으로 먼저 찾으세요.

Inputs: stock_code (required).

get_orderbook_rank호가잔량 순위 조회 (시장 전체)A

시장 전체에서 호가 잔량이 두껍거나 급증한 종목을 조회합니다 (키움 ka10020/ka10021/ka10022). view=balance(기본)는 총매수/매도 잔량과 순매수 잔량 상위, view=surge는 최근 N분간 잔량 수량이 급증한 종목, view=ratio_surge는 매수/매도 잔량 비율이 급격히 기운 종목입니다. 정규장(09:00~15:30) 중에만 산출되며 그 밖의 시간에는 비어 있거나 잔량이 0으로 옵니다. 특정 종목 하나의 10단 호가는 get_orderbook, 체결 쪽 힘은 get_execution_strength를 쓰세요.

Inputs: top, side, sort, view, +3 more.

get_order_executions체결 내역 조회A

계좌의 최근 체결(실제로 체결된 주문) 내역을 조회합니다 — 지난 일자의 체결은 나오지 않습니다. 주문번호, 종목, 매수/매도 구분, 주문상태, 주문/체결 수량, 주문/체결 가격, 당일 수수료·세금, 주문시각 (키움 ka10076). stock_code·side·order_no로 좁힐 수 있습니다. 기간 파라미터가 없어 조회 범위는 키움이 정합니다 (모의 실측 2026-08-19: 6일 전 체결이 0행). 과거 일자의 체결 기록은 get_transactions에 남지만 그쪽 일자는 결제일(D+2) 기준이라 최근 2거래일 체결분은 아직 없습니다 — 그래서 '어제 체결가'처럼 지난 일자를 물으면 이 tool을 부르지 마세요. 결제가 끝난 뒤 get_transactions에서 보이므로 그전에는 조회되지 않는다고 답하면 됩니다. 아직 체결되지 않은 주문은 get_pending_orders, 당일 종목별 집계는 get_trading_journal입니다. 조회 전용이며 주문 실행 기능은 제공하지 않습니다.

Inputs: side, order_no, stock_code.

get_pending_orders미체결 주문 조회A

계좌의 미체결(아직 체결되지 않은) 주문 목록을 조회합니다 — 주문번호, 종목, 매수/매도 구분, 주문상태, 주문수량, 미체결수량, 주문가격, 현재가 (키움 ka10075). stock_code로 특정 종목만 필터링할 수 있습니다. 조회 전용이며 주문 실행 기능은 제공하지 않습니다.

Inputs: stock_code.

get_program_trading프로그램 매매 조회A

프로그램 매매 상위 종목과 추이를 조회합니다 (키움 ka90003/ka90004/ka90010/ka90005/ka90013/ka90008/ka90006). view: top(당일 순매수/순매도 상위 종목, 기본) / date_rank(지정한 날짜의 순매수/순매도 상위 종목 — top과 달리 과거 날짜를 볼 수 있고 매수·매도 금액과 '거래비중'(그 종목 거래에서 프로그램이 차지한 비율)까지 나옵니다. 당일 순위는 top이 서버 집계라 더 정확합니다) / market_daily(시장 전체 일자별 추이) / market_intraday(당일 시간대별 누적 추이) / stock_daily(특정 종목의 일자별 추이 — stock_code 필수) / stock_intraday(특정 종목의 시간대별 누적 추이 — stock_code 필수, 초 단위이며 순매수 '수량'까지 나옵니다. 최근 거래일만 제공되어 base_date가 적용되지 않습니다) / arbitrage_balance(차익거래 잔고 추이 — 매매가 아니라 미청산 보유 물량이라 다른 view로는 알 수 없습니다). 한 종목의 프로그램 수급이 장중 언제 뒤집혔는지를 보려면 stock_intraday, 날짜별 흐름은 stock_daily입니다. direction은 top·date_rank에, unit은 view=top에만, market은 top·date_rank·market_daily·market_intraday에만 적용됩니다 (종목 단위 view와 arbitrage_balance에는 적용되지 않습니다). market: kospi(기본)/kosdaq — 전체(all) 옵션이 없습니다. 추이 금액 단위는 백만원입니다.

Inputs: top, unit, view, market, +3 more.

get_ranking시장 순위 조회A

당일 시장 순위를 조회합니다 (키움 ka10027/ka10030/ka10032/ka10028/ka10033). type: rise(상승률)/fall(하락률)/volume(거래량)/value(거래대금)/open_rise(시가대비 상승률)/open_fall(시가대비 하락률)/credit_ratio(신용비율). market: all(전체, 기본)/kospi/kosdaq. rise·fall은 전일 종가 기준이고 open_rise·open_fall은 오늘 시가 기준이라, 갭으로 뜬 뒤 밀렸는지 장중에 밀어올렸는지를 가릅니다(체결강도 컬럼 포함). 시가대비 두 종류는 시장 전 종목을 훑어야 해서 market이 kospi 또는 kosdaq여야 하고, min_volume(거래량 하한, 기본 1만주)으로 모수를 좁힙니다. credit_ratio는 신용융자 잔고비율이 높은 종목으로, 반대매매 압력이 쌓인 곳을 찾을 때 씁니다 — 특정 종목의 신용잔고 시계열은 get_credit_trend를 쓰세요.

Inputs: type (required), top, market, min_volume.

get_sector_chart업종 지수 차트 조회 (일/주/월/년/분/틱봉)A

업종(섹터) 지수의 캔들 차트를 조회합니다 (키움 ka20004~ka20008/ka20019). period: day(일봉, 기본)/week(주봉)/month(월봉)/year(년봉)/minute(분봉)/tick(틱봉). sector_code는 get_market_index의 업종 코드이거나 업종명입니다 (001 코스피 종합, 002 코스피 대형주, 101 코스닥 종합, 201 KOSPI200 등).

Inputs: sector_code (required), count, period, tick_scope, +1 more.

get_sector_flow업종별 투자자 순매수 조회A

시장 전체 업종의 투자자 주체별 순매수를 한 번에 조회합니다 (키움 ka10051). '오늘 돈이 어느 섹터로 갔나'를 볼 때 쓰는 tool로, 업종마다 개인/외국인/기관계와 증권·투신·연기금·사모 순매수를 지수 등락률과 함께 보여줍니다. 종목 단위 수급은 get_investor_trend, 종목별 순매수 상위는 get_investor_rank, 특정 업종의 지수 상세와 구성 종목은 get_sector_price / get_sector_stocks를 쓰세요.

Inputs: top, sort, unit, market, +1 more.

get_sector_price업종 현재가 조회A

업종(섹터) 지수의 현재가 상세를 조회합니다 (키움 ka20001) — 지수·시/고/저가·거래량·상승/하락 종목수·52주 고저·시간대별 추이. sector_code는 get_market_index가 보여주는 업종 코드이며(001 코스피 종합, 002 코스피 대형주, 101 코스닥 종합, 201 KOSPI200 등) '증권'처럼 업종명을 그대로 넣어도 됩니다.

Inputs: sector_code (required).

get_sector_stocks업종별 종목 시세 조회A

특정 업종(KRX 표준 분류)에 속한 종목들의 시세를 조회합니다 (키움 ka20002). 종목코드순 정렬이며 첫 페이지(최대 100종목)만 가져옵니다. sector_code는 get_market_index의 업종 코드이거나 업종명이며 테마명은 받지 않습니다 — 사용자가 '테마'라고 물었으면 get_theme_groups로 코드를 찾아 get_theme_stocks를 쓰세요('반도체'처럼 이름이 겹칩니다).

Inputs: sector_code (required), limit.

get_short_selling공매도 추이 조회A

특정 종목의 일자별 공매도 추이를 조회합니다 — 종가, 등락률, 거래량, 공매도량, 공매도비중, 공매도평균가 (키움 ka10014). 기본 조회 기간은 최근 30일이며 from_date/to_date로 변경할 수 있습니다.

Inputs: stock_code (required), to_date, from_date.

get_stock_chart주식 차트 조회 (일/주/월/년/분/틱봉)A

종목의 캔들 차트 데이터를 조회합니다 (키움 ka10079~ka10083/ka10094, 수정주가 반영). period: day(일봉, 기본)/week(주봉)/month(월봉)/year(년봉)/minute(분봉)/tick(틱봉). 분봉은 minute_scope로 분 단위를, 틱봉은 tick_scope로 캔들당 틱 수를 지정합니다. 종목코드를 모르면 search_stock으로 먼저 찾으세요.

Inputs: stock_code (required), count, period, tick_scope, +1 more.

get_stock_lending대차거래 추이 조회A

대차거래(주식 대여) 정보를 조회합니다 (키움 ka10068/ka20068/ka90012). view=trend(기본)은 일자별 추이 — 체결·상환·증감 주수와 대차잔고, 잔고금액을 시계열로 보여줍니다. stock_code를 지정하면 해당 종목, 생략하면 시장 전체 집계이고 기본 기간은 최근 30일입니다. view=balance_rank는 특정 하루의 대차잔고가 가장 많은 종목 순위입니다 — '어느 종목에 대차 물량이 쌓여 있나'를 물을 때 쓰고, 한 종목의 시간 흐름은 trend를 쓰세요. balance_rank는 시장 전체 횡단면이라 stock_code·from_date를 받지 않으며(주면 무시하고 각주로 알립니다), 기준일은 to_date로 지정하되 생략하는 쪽이 안전합니다 — 당일 집계는 장 마감 후 저녁 늦게(20시 무렵) 열려서, 오늘을 직접 지정하면 그전까지 빈 결과이고 생략하면 최신 집계일로 자동으로 물러섭니다. 공매도 흐름과 함께 보려면 get_short_selling을 참고하세요.

Inputs: top, view, to_date, from_date, +1 more.

get_stock_price종목 현재가 조회A

6자리 종목코드로 국내 주식/ETF의 현재가, 등락률, 거래량과 기본 지표(PER·EPS·PBR·시가총액)를 조회합니다 (키움 ka10001). 배당수익률·배당금은 키움 REST API에 조회 TR이 없어 제공하지 않습니다. 업종·상장일과 거래정지/관리종목/투자경고 같은 투자유의 상태도 함께 표시됩니다. 종목명만 알고 있다면 search_stock으로 먼저 코드를 찾으세요.

Inputs: stock_code (required).

get_stock_quotes여러 종목 일괄 시세 조회A

여러 종목의 현재가·등락률·거래량·거래대금·시가총액을 한 번의 호출로 조회합니다 (키움 ka10095). 보유 종목이나 관심 종목처럼 2개 이상 종목의 시세가 필요할 때 get_stock_price를 반복 호출하는 대신 사용하세요 (최대 30종목). 거래정지/관리종목/투자경고 같은 투자유의 상태도 비고에 표시됩니다.

Inputs: stock_codes (required).

get_supply_concentration매물대집중 종목 조회 (시장 전체)A

최근 N일 거래가 특정 가격대(매물대)에 몰린 종목을 조회합니다 (키움 ka10025). 매물대는 반등 시 저항·하락 시 지지로 읽히므로, 현재가 위아래 어디에 물량이 뭉쳐 있는지 확인할 때 씁니다. 특정 종목 하나의 호가 잔량은 get_orderbook, 거래량 급증 종목은 get_market_movers를 쓰세요 — 가격대별 거래 분포를 보는 것은 이 tool뿐입니다.

Inputs: top, market, min_ratio, zone_count, +2 more.

get_theme_groups테마 그룹 조회A

키움 테마 그룹 목록을 조회합니다 — 테마명, 종목수, 등락률, 상승/하락 종목수, 기간수익률(10일), 주요종목 (키움 ka90001). 기본은 등락률 상위 테마를 보여주며, stock_code를 주면 해당 종목이 편입된 테마를 검색합니다. 테마명으로 찾는 파라미터는 없어 이름을 알고 있어도 목록에서 골라야 하고(기본 30개는 등락률 상위라 원하는 테마가 없으면 limit을 100까지 올리세요). '반도체'처럼 테마명과 업종명이 겹치는 이름이 있는데, 사용자가 '테마'라고 물었으면 여기가 맞고 get_sector_stocks는 KRX 표준 업종 분류입니다 — 사용자가 쓴 말을 따르세요. 특정 테마의 구성종목은 get_theme_stocks로 조회하세요.

Inputs: limit, stock_code.

get_theme_stocks테마 구성종목 조회A

특정 테마 그룹의 구성종목과 시세를 조회합니다 — 종목별 현재가, 전일대비, 등락률, 거래량, 기간수익률 (키움 ka90002). theme_code는 get_theme_groups가 돌려주는 '코드' 값입니다.

Inputs: theme_code (required).

get_trading_journal당일매매일지 조회A

특정일의 당일매매일지를 조회합니다 — 종목별 매수/매도 평균가·수량, 손익금액, 수익률과 총손익·총수익률 (키움 ka10170). base_date를 생략하면 오늘 기준이며, 최근 2개월 이내 날짜만 조회할 수 있습니다.

Inputs: base_date.

get_transactions계좌 거래내역 조회A

계좌의 거래내역(매수/매도 등)을 기간별로 조회합니다 (키움 kt00015). 기본 조회 기간은 최근 30일이며 from_date/to_date로 변경, stock_code로 특정 종목만 필터링할 수 있습니다. 일자는 결제일(D+2) 기준이라 최근 2거래일 체결분은 아직 잡히지 않습니다 — 당일 체결가·체결시각은 get_order_executions(과거 일자는 조회되지 않습니다), 당일 종목별 손익은 get_trading_journal을 쓰세요. 그래서 '어제 체결가'처럼 결제 전 구간은 어느 tool로도 조회되지 않고, 결제가 끝나면 여기에 잡힙니다.

Inputs: to_date, from_date, stock_code.

get_valuation_rankPER·PBR·ROE 순위 조회 (시장 전체)A

시장 전체를 PER·PBR·ROE 중 한 가지 기준으로 줄 세운 상위 100종목을 조회합니다 (키움 ka10026). 지표를 조합해 거르지는 못하므로 '저PER 저PBR'은 metric을 바꿔 두 번 부릅니다. 저PER·저PBR은 가치주 스크리닝, 고ROE는 자본효율이 높은 기업 찾기, 고PBR·저ROE는 과열·부실 점검에 씁니다. 거래량·등락률 기준 순위는 get_ranking, 특정 종목 하나의 PER·PBR은 get_stock_price를 쓰세요 — 밸류에이션으로 시장을 훑는 것은 이 tool뿐입니다.

Inputs: top, metric.

get_vi_stocksVI 발동 종목 조회A

당일 변동성완화장치(VI)가 발동된 종목을 조회합니다 — 발동가격·괴리율·시가대비등락률·발동/해제 시각·발동횟수 (키움 ka10054). market: all(기본)/kospi/kosdaq, direction: all(기본)/up(상승)/down(하락), vi_type: all(기본)/static(정적)/dynamic(동적). stock_code를 지정하면 해당 종목의 당일 발동 내역만 조회하며, 이때 market은 무시됩니다(종목의 시장과 어긋나면 결과가 비므로 전체 기준으로 봅니다).

Inputs: top, market, vi_type, direction, +1 more.

get_watchlist관심종목 그룹 상세A

관심종목 그룹에 담긴 종목 목록을 조회합니다 (키움 ka01301, 읽기 전용). 그룹코드(예: '000') 또는 그룹명(예: 'etf')을 넘기세요. 그룹을 모르면 get_watchlist_groups로 먼저 확인하세요. 종목명·전일종가·시장과 거래정지/관리종목 같은 투자유의 상태를 종목 마스터에서 보강해 함께 표시합니다.

Inputs: group (required).

get_watchlist_groups관심종목 그룹 목록A

영웅문(HTS)에 저장한 관심종목 그룹 목록(그룹코드+그룹명)을 조회합니다 (키움 ka01300, 읽기 전용). 특정 그룹의 종목은 get_watchlist로 조회하세요. 그룹 편집(추가/삭제)은 키움 REST API가 지원하지 않아 조회만 가능합니다.

Inputs: no named parameters.

pingPingA

Health check for the Kiwoom MCP server. Takes no arguments and returns a fixed message. Use this to verify the server is connected.

Inputs: no named parameters.

search_stock종목 검색 (이름→코드)A

종목명(부분 일치)이나 6자리 코드로 코스피/코스닥 상장 종목(ETF/ETN 포함)을 검색해 종목코드를 찾습니다 (키움 ka10099). 다른 tool에 넘길 종목코드를 모를 때 먼저 사용하세요. 거래정지·관리종목·투자경고 같은 투자유의 상태는 비고 컬럼에 표시됩니다. 첫 호출은 종목 마스터를 내려받아 몇 초 걸리고, 이후 12시간 동안 캐시됩니다.

Inputs: query (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 49 tools

    Disambiguation4/5

    Tools are generally well-separated by resource (account, stock, order, market, sector, theme, ETF, gold) and specific action (holdings, trend, today, balance, transactions, pending orders, executions, etc.). Some potential confusion exists among the many market data tools (e.g., get_daily_trading vs get_investor_trend vs get_execution_strength) but descriptions explicitly cross-reference each other to clarify boundaries.

    Naming Consistency3/5

    Naming follows a mixed but mostly readable convention: 'get_' plus noun_qualifier (e.g., get_account_holdings, get_stock_quotes, get_orderbook_rank). Some inconsistency: get_ping vs ping, and get_account_today vs get_account_balance (vs get_account_trend) — the pattern is not uniform. Also 'get_trading_journal' vs 'get_transactions' are semantically distinguishable but naming doesn't strongly hint at the difference.

    Tool Count2/5

    49 tools is far above the typical well-scoped range of 3-15, and even above the generous 16-25 heavy range. However, the server covers a broad domain (Korean stock market, accounts, orders, market data, ETF, gold) and each tool maps to specific Kywoom API TR codes, so the count is justified by the domain's complexity, but it still feels overwhelming for an agent to select from.

    Completeness4/5

    The tool surface is extensive: account queries (mostly read-only, no order placement), market data with many screening tools, and special asset classes (ETF, gold, derivatives). Major gaps: there is no tool to place or cancel orders (despite pending orders being viewable), and no options or futures. Also, some account tools are not available in simulation mode. However, for a read-heavy analysis server, the coverage is strong.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that enables natural language control of Kiwoom Securities accounts through Claude Desktop. It provides tools for stock price lookup, buying and selling stocks, and analyzing portfolios or trade history via the Kiwoom REST API.
      11
      2
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that wraps the Kiwoom Securities REST API to provide read-only access to Korean stock market information. It enables LLMs to query real-time prices, charts, investor trends, and account balances directly.
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides Korean stock market data (KOSPI, KOSDAQ, KONEX) including prices, fundamentals, investor trading, short selling, and indices via MCP protocol, enabling natural language queries from AI agents like ChatGPT and Claude.
      73 PyPI
      3
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      MCP server wrapping Toss Securities Open API, enabling stock price queries and trading for Korean and US stocks via natural language.
      36
      265 npm
      MIT