Read access covers both Korean and US markets — prices, order books, candles, calendars — alongside your holdings, buying power and order history. Trading is a separate decision, and the design assumes you might not have meant it: toss_create_order, toss_modify_order and toss_cancel_order only appear with TOSSINVEST_ENABLE_TRADING=true, each call still needs confirmOrderAction: true, and sells and market orders stay blocked until TOSSINVEST_ALLOW_SELL_ORDERS and TOSSINVEST_ALLOW_MARKET_ORDERS are turned on. There is no paper-trading environment behind any of it.
A local server over the Toss Securities Open API. It runs on your own machine with your API key, covering market data and account reads; the order tools are not registered unless you enable them.
- Current prices for up to 200 comma-separated KRX or US symbols in one call, and master data for the same
- Order book, recent trades, and 1-minute or daily OHLCV candles for a single symbol
- Upper and lower price limits, and the buy warning flags on a symbol
- KRW/USD exchange rate, optionally at a given moment
- Korean and US market calendars with session hours for a given date
- Account reads: the accounts your credentials can see, holdings, buying power in KRW or USD, sellable quantity for a symbol, and commission rates
- Order history searched by status, symbol, date range and cursor, plus one specific order fetched by its ID
A Toss Securities account with Open API access: issue an API Key and Secret Key from the Open API screen in Toss WTS and pass them as TOSSINVEST_API_KEY and TOSSINVEST_SECRET_KEY — the server will not start without both. Your machine's public IP has to be on the allowed-IP list in the same screen, or every call fails. Node.js v20 or newer; run it with npx tossinvest-mcp from the npm package tossinvest-mcp, currently 0.2.0, over stdio. OAuth tokens are issued internally and refreshed 60 seconds before they expire. Account-scoped calls default to accountSeq 1; TOSSINVEST_ACCOUNT picks a different one. There is no sandbox environment for this API.
One command plus a key — npx tossinvest-mcp, then supply credentials
