spring-ai-playground

description: Default Tools - Korea reference. 21 Korea-locale tools - Upbit, Bithumb, Naver, Kakao, KMA, KOFIC, KRX, data.go.kr keychain.

Default Tools - Korea

The 21 tools in default-tool-specs-kr.json are Korea-locale services - crypto exchanges (Upbit, Bithumb), search and local discovery (Naver, Kakao, K-pop iTunes, K-beauty, Korea Tourism), government open-data services (data.go.kr keychain, Seoul Open Data Plaza), and Korea-specific finance and disaster feeds (KAMIS, KOFIC, KRX, MOLIT, MFDS, MOIS).

Most return Korean text in their response payloads - names, addresses, codenames - so a chat agent calling them should be locale-aware. Eight are no-key (Upbit endpoints, Bithumb endpoints, iTunes K-pop, Open Beauty Facts), the other thirteen need provider-issued keys. Provider keys live in the tool’s static variables as ${ENV_VAR} placeholders that resolve at runtime from the JVM environment - they are not committed to the spec.

Like the global network tools, every fetch runs through the SSRF four-layer guard in the default host-allowlist egress mode.

Browse the 21 services { #browse-the-services }

Crypto markets (6, no key) · Search & local (5, mixed) · Finance & data (4, mixed) · Weather & disaster (3, mixed) · Government dispatcher (2 + 1 generic). All run at sandbox L3 with host-allowlist egress.

getUpbitTicker 🆓
:material-currency-btc:
web · korea · finance L3
Fetches the current KRW ticker(s) from Upbit, a major Korean crypto exchange (no auth). `markets` is comma-separated, e.g. 'KRW-BTC,KRW-ETH'. Returns an array of { market, tradePrice, openingPrice, highPrice, lowPrice, change, changeRate, accTradeVolume24h, timestamp }.
**Params**   `markets`
**Env**       -
Click for full reference · params · sandbox · JS source
getUpbitOrderbook 🆓
:material-chart-box-outline:
web · korea · finance L3
Fetches Upbit live orderbook (bids/asks) for one or more KRW markets (no auth). `markets` is comma-separated like 'KRW-BTC,KRW-ETH'. Optional `level` controls price aggregation upstream. Returns an array of { market, timestamp, totalAskSize, totalBidSize, units:[{askPrice,bidPrice,askSize,bidSize}] }.
**Params**   `markets` · `level`
**Env**       -
Click for full reference · params · sandbox · JS source
getUpbitCandles 🆓
:material-chart-line:
web · korea · finance L3
Fetches Upbit OHLCV candles for a market (no auth). `interval` accepts 'days' (default), 'weeks', 'months', or 'minutes/N' where N is one of 1, 3, 5, 10, 15, 30, 60, 240. `count` is capped at 200 upstream. Returns an array (most recent first) of { market, candleDateTimeKst, candleDateTimeUtc, openingPrice, highPrice, lowPrice, tradePrice, candleAccTradeVolume, candleAccTradePrice }.
**Params**   `market` · `interval` · `count`
**Env**       -
Click for full reference · params · sandbox · JS source
listUpbitMarkets 🆓
:material-format-list-bulleted:
web · korea · finance L3
Lists all tradable markets on Upbit (no auth). Pass `quote` (e.g. 'KRW', 'BTC', 'USDT') to filter by quote currency. Returns { count, markets: [{ market, koreanName, englishName }] }.
**Params**   `quote`
**Env**       -
Click for full reference · params · sandbox · JS source
getBithumbTicker 🆓
:material-currency-btc:
web · korea · finance L3
Fetches the current KRW ticker for a symbol from Bithumb (no auth). Used as an Upbit alternative or for cross-exchange checks. Returns: { symbol, openingPrice, closingPrice, minPrice, maxPrice, unitsTraded24h, accTradeValue24h, change24h, changeRate24h, fluctate24h, fluctateRate24h }.
**Params**   `symbol`
**Env**       -
Click for full reference · params · sandbox · JS source
getBithumbOrderbook 🆓
:material-chart-box-outline:
web · korea · finance L3
Fetches Bithumb public orderbook depth for a KRW pair (no auth). `count` defaults to 5, max 30. Returns { symbol, paymentCurrency, orderCurrency, timestamp, bids:[{price,quantity}], asks:[{price,quantity}] }.
**Params**   `symbol` · `count`
**Env**       -
Click for full reference · params · sandbox · JS source
searchNaver 🔑 × 2
:simple-naver:
web · korea · search L3
Naver Search API (KR; key required). Searches across blog, news, webkr, encyc, book, image, shop, kin, or cafearticle. Issue Client-Id + Client-Secret at https://developers.naver.com/apps/ and set NAVER_CLIENT_ID + NAVER_CLIENT_SECRET on the tool's staticVariables, or inject as env vars. Returns: { type, total, start, display, items:[{title, description, link, pubDate, bloggerName, author}] }.
**Params**   `query` · `type` · `display` · `start`
**Env**       `NAVER_CLIENT_ID` · `NAVER_CLIENT_SECRET`
Click for full reference · params · sandbox · JS source