Skip to main content
Glama
toss-invest-mcp

toss-invest-mcp

by kimdoogi

toss-invest-mcp

토스증권 Open API(guide.json, OpenAPI 3.1)를 기반으로 만든 로컬 stdio MCP 서버입니다. Claude Code / Claude Desktop에 붙여서 시세 조회, 계좌 조회, 주문까지 자연어로 사용할 수 있습니다.

제공 툴 (28개)

그룹

툴

시세

get_prices, get_orderbook, get_trades, get_price_limits, get_candles, get_rankings

종목/시장 정보

get_stocks, get_stock_warnings, get_exchange_rate, get_market_calendar

시장 지표

get_market_indicator_prices, get_market_indicator_candles, get_investor_trading

계좌/자산

get_accounts, get_holdings, get_buying_power, get_sellable_quantity, get_commissions

주문 ⚠️

list_orders, get_order, create_order, modify_order, cancel_order

조건주문 ⚠️

create_conditional_order, list_conditional_orders, get_conditional_order, modify_conditional_order, cancel_conditional_order

⚠️ 주문 관련 툴은 실제 주문이 접수/변경/취소됩니다.

Related MCP server: TossInvest MCP

설치 및 빌드

npm install
npm run build

환경변수

변수

필수

설명

TOSS_CLIENT_ID

✅

OAuth2 클라이언트 ID

TOSS_CLIENT_SECRET

✅

OAuth2 클라이언트 시크릿

TOSS_ACCOUNT_SEQ

계좌 툴에서 accountSeq 생략 시 사용할 기본 계좌 (get_accounts로 확인)

TOSS_BASE_URL

API 베이스 URL (기본: https://openapi.tossinvest.com)

액세스 토큰은 서버가 자동으로 발급·캐싱하며, 만료 60초 전 또는 401 응답 시 자동 재발급합니다.

Claude Code 등록

이 저장소의 .mcp.json이 프로젝트 스코프로 서버를 등록합니다. 셸 환경에 TOSS_CLIENT_ID / TOSS_CLIENT_SECRET를 export한 뒤 이 디렉터리에서 claude를 실행하면 됩니다.

다른 프로젝트에서도 쓰려면 user 스코프로 등록:

claude mcp add toss-invest --scope user \
  -e TOSS_CLIENT_ID=발급받은_ID \
  -e TOSS_CLIENT_SECRET=발급받은_시크릿 \
  -- node /Users/doogi/toss-mcp/dist/index.js

Claude Desktop 등록

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

{
  "mcpServers": {
    "toss-invest": {
      "command": "node",
      "args": ["/Users/doogi/toss-mcp/dist/index.js"],
      "env": {
        "TOSS_CLIENT_ID": "발급받은_ID",
        "TOSS_CLIENT_SECRET": "발급받은_시크릿"
      }
    }
  }
}

사용 예시

  • "삼성전자 현재가 알려줘" → get_prices(symbols=["005930"])

  • "코스피 거래대금 상위 10개" → get_rankings(type=MARKET_TRADING_AMOUNT, marketCountry=KR, duration=realtime, count=10)

  • "내 보유 종목 보여줘" → get_accounts → get_holdings

  • "삼성전자 10주 70,000원 지정가 매수" → create_order(...) ⚠️

Available Tools

28 tools
cancel_conditional_orderA

조건주문 취소. ⚠️ 실제 조건주문이 취소됩니다.

Inputs: conditionalOrderId (required), accountSeq.

cancel_orderA

주문 취소. ⚠️ 실제 주문이 취소됩니다.

Inputs: orderId (required), accountSeq.

create_conditional_orderA

조건주문 생성 (스탑로스/익절 등). ⚠️ 조건 충족 시 실제 주문이 실행됩니다. SINGLE: first만, OCO/OTO: first+second 필요.

Inputs: type (required), first (required), symbol (required), quantity (required), +6 more.

create_orderA

주문 생성 (매수/매도). ⚠️ 실제 주문이 접수됩니다. 수량 기반(quantity) 또는 금액 기반(orderAmount, US 시장가 전용) 중 하나를 사용하세요. 1억원 이상 주문은 confirmHighValueOrder=true 필요.

Inputs: side (required), symbol (required), orderType (required), price, +6 more.

get_accountsA

계좌 목록 조회. 다른 계좌 관련 툴에 필요한 accountSeq를 얻습니다.

Inputs: no named parameters.

get_buying_powerC

매수 가능 금액 조회.

Inputs: currency (required), accountSeq.

get_candlesC

종목 캔들 차트 조회. before로 페이지네이션 (응답의 nextBefore 사용).

Inputs: symbol (required), interval (required), count, before, +1 more.

get_commissionsC

매매 수수료 조회.

Inputs: accountSeq.

get_conditional_orderC

조건주문 상세 조회.

Inputs: conditionalOrderId (required), accountSeq.

get_exchange_rateD

환율 조회.

Inputs: baseCurrency (required), quoteCurrency (required), dateTime.

get_holdingsC

보유 주식 조회.

Inputs: symbol, accountSeq.

get_investor_tradingC

투자자별 매매대금 조회 (개인/외국인/기관, KOSPI·KOSDAQ만 지원).

Inputs: symbol (required), interval (required), count, until.

get_market_calendarC

장 운영 정보 조회 (개장 여부, 운영 시간).

Inputs: country (required), date.

get_market_indicator_candlesC

시장 지표 캔들 차트 조회.

Inputs: symbol (required), interval (required), count, before.

get_market_indicator_pricesC

시장 지표 현재가 조회 (KOSPI, KOSDAQ 등 지수).

Inputs: symbols (required).

get_orderB

주문 상세 조회 (체결 내역 포함).

Inputs: orderId (required), accountSeq.

get_orderbookC

종목 호가(orderbook) 조회.

Inputs: symbol (required).

get_price_limitsC

종목 상한가/하한가 조회.

Inputs: symbol (required).

get_pricesC

종목 현재가 조회. 여러 종목을 한 번에 조회할 수 있습니다.

Inputs: symbols (required).

get_rankingsC

주식 랭킹 조회 (거래대금/거래량/상승률/하락률 등).

Inputs: type (required), duration (required), marketCountry (required), count, +1 more.

get_sellable_quantityC

판매 가능 수량 조회.

Inputs: symbol (required), accountSeq.

get_stocksB

종목 기본 정보 조회 (이름, 시장, 통화 등). 여러 종목 동시 조회 가능.

Inputs: symbols (required).

get_stock_warningsC

종목 매수 유의사항 조회 (투자유의/거래정지 등).

Inputs: symbol (required).

get_tradesC

종목 최근 체결 내역 조회.

Inputs: symbol (required), count.

list_conditional_ordersC

조건주문 목록 조회.

Inputs: status (required), limit, cursor, symbol, +1 more.

list_ordersC

주문 목록 조회. status=OPEN(진행 중) 또는 CLOSED(완료/취소).

Inputs: status (required), to, from, limit, +3 more.

modify_conditional_orderB

조건주문 수정. ⚠️ 실제 조건주문이 변경됩니다. 타입 전환(SINGLE→OCO 등) 가능.

Inputs: type (required), first (required), quantity (required), orderType (required), +5 more.

modify_orderB

주문 정정 (가격/수량 변경). ⚠️ 실제 주문이 변경됩니다.

Inputs: orderId (required), orderType (required), price, quantity, +2 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 28 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific resource-action pairs. There is no ambiguity between tools like cancel_order and cancel_conditional_order, or create_order and create_conditional_order, as they handle different order types.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case (e.g., cancel_order, get_accounts, list_conditional_orders). The naming is predictable and reflects the action and resource clearly.

    Tool Count4/5

    With 28 tools, the count is slightly above the typical well-scoped range, but given the comprehensive nature of a trading platform covering orders, conditional orders, market data, and account management, each tool serves a necessary function. It is not excessive for the domain.

    Completeness5/5

    The tool set covers the full lifecycle of trading operations: account information, order placement and modification, conditional orders, market data (candles, orderbook, prices, rankings), and ancillary data (calendar, exchange rate, commissions). No obvious gaps exist for standard trading workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      C
      maintenance
      Enables Claude to trade Korean and overseas stocks, check balances, and search stock information through the Korea Investment & Securities Open API.
      12
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables querying Korean and US stock information, quotes, account assets, and order history via Toss Securities Open API. Optionally supports order placement with preview and confirmation safeguards.
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables Claude to call NH Investment & Securities Open API for Korean stock market data, quotes, and order execution through natural language.
      5
      5
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Self-hosted MCP server that wraps the Toss Securities Open API, enabling natural language queries for account balances, holdings, transactions, and stock prices via Claude.
      4
      MIT