Skip to main content
Glama
dongkyucho17

krx-etf-mcp

by dongkyucho17

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KRX_ETF_API_KEYNoAlternative environment variable for the same service key. The key is read from DATA_GO_KR_API_KEY, or KRX_ETF_API_KEY if you prefer to scope it.
DATA_GO_KR_API_KEYNoYour data.go.kr service key. The key is read from DATA_GO_KR_API_KEY, or KRX_ETF_API_KEY if you prefer to scope it.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
latest_trading_dayA

Resolve the most recent date that actually has ETF data.

The portal publishes with a lag, so "today" is often empty. Call this before assuming any date is usable.

Args: on_or_before: YYYYMMDD to search back from. Defaults to today.

search_etfA

Find ETFs by name fragment, issuer, index and/or classification.

The main lookup tool. Filters combine with AND. Classification is derived from the product name (see list_filters) because the upstream feed has no category field.

Args: query: Substring of the ETF name, or an exact 6-digit ticker. asset_class: e.g. 채권혼합, 채권, 주식, 원자재, 부동산, 통화, 멀티에셋. region: e.g. 국내, 미국, 중국, 일본, 인도, 유럽, 신흥국, 글로벌. strategy: e.g. 커버드콜, 레버리지, 인버스, 액티브, 배당, 환헤지, TR. issuer: Brand prefix, e.g. KODEX, TIGER, RISE, ACE, PLUS, SOL. Former brand names (KBSTAR, ARIRANG, KINDEX, KOSEF) resolve too. index_name: Exact underlying index, e.g. "코스피 200". Use list_indices to see what exists. exclude: Drop results whose name contains this substring. min_market_cap: Minimum market cap in KRW. min_volume: Minimum share volume on the base date. sort_by: market_cap (default), volume, trade_value, close, change_pct, nav_premium_pct, name, or code. ascending: Sort ascending instead of descending. base_date: YYYYMMDD; resolved backwards to a day with data. limit: Max rows to return.

get_etf_quoteA

Full one-day detail for a single ETF, looked up by code, ISIN or name.

Returns every field the feed carries -- OHLC, volume, trade value, market cap, NAV, net assets, listed shares, underlying index and its close -- plus the NAV premium/discount, which the feed does not compute.

If a partial name matches several products, no quote is returned; instead candidates lists the matches so you can pick one.

Args: code_or_name: "069500", "KR7069500007", "KODEX 200", or "반도체". base_date: YYYYMMDD; resolved backwards to a day with data.

find_similar_etfA

List every ETF tracking the same underlying index as the given one.

Answers "which of these should I hold?" -- 25 ETFs track 코스피 200 and 24 track S&P 500, and picking between them comes down to size, liquidity and NAV premium, which are all returned side by side here.

Args: code_or_name: The reference ETF: code, ISIN or name. sort_by: market_cap (default), volume, trade_value, close, change_pct, nav_premium_pct, name, or code. base_date: YYYYMMDD; resolved backwards to a day with data. limit: Max peers to return.

list_indicesA

List underlying indices and how many ETFs track each.

A map of the market: use it to find the exact index_name string that search_etf and find_similar_etf expect.

Args: query: Substring filter on the index name, e.g. "코스피". min_etf_count: Only indices tracked by at least this many ETFs. base_date: YYYYMMDD; resolved backwards to a day with data. limit: Max indices to return, most-tracked first.

get_etf_historyA

Daily closing-price history for one ETF.

Args: code: 6-digit short code. start_date: YYYYMMDD. Defaults to months before the end date. end_date: YYYYMMDD. Defaults to the latest day with data. months: Lookback used when start_date is omitted.

rank_etf_returnA

Rank ETFs by price return over a period, within an optional filter set.

Both endpoints are resolved to days that actually have data, then joined by ticker. ETFs missing a price at either end are reported separately in excluded rather than dropped silently.

Args: months: Lookback when start_date is omitted. top: How many rows to return. query: Name substring filter, e.g. "채권혼합". asset_class: Classification filter, e.g. 채권혼합. region: Classification filter, e.g. 미국. strategy: Classification filter, e.g. 커버드콜. issuer: Brand prefix filter, e.g. KODEX, TIGER, RISE. exclude: Drop names containing this substring. min_market_cap: Minimum market cap in KRW, to skip illiquid tickers. min_volume: Minimum share volume on the end date. start_date: YYYYMMDD override for the period start. end_date: YYYYMMDD override for the period end. worst: Rank ascending (biggest losers first) instead of descending.

compare_etfA

Compare price returns of specific ETFs over one shared period.

Args: codes: 6-digit short codes to compare. months: Lookback when start_date is omitted. start_date: YYYYMMDD override for the period start. end_date: YYYYMMDD override for the period end.

list_filtersB

List the values accepted by the filter and sort arguments.

explain_classificationA

Show which keywords drove the classification of an ETF name.

Use this to audit a filter result that looks wrong.

Args: name: The ETF product name, e.g. "KODEX 삼성전자채권혼합".

server_infoA

Version, data source, and known limitations of this server.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dongkyucho17/krx-etf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server