Korean Stock Market Data
Server Details
Korean stock market data - prices, dividends, short selling, financial disclosures
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- SongT-50/korean-stock-mcp
- GitHub Stars
- 0
TDQS
Scored across 7 tools
Each tool targets a distinct data need: single-price snapshot, price trend, multi-stock comparison, dividends, market indices, keyword search, and popular-stock lookup. Potential overlaps between price-related tools are clearly resolved by their scope.
All tool names follow a consistent lowercase snake_case verb_noun pattern, using get_, compare_, and search_ prefixes. There are no mixed conventions or vague generic names.
Seven tools is a well-scoped size for a Korean stock market data server. Each tool adds a meaningful capability without redundancy or bloat.
The set covers the core data retrieval needs for Korean equities: current/dated quotes, historical trends, comparisons, dividends, index levels, and symbol discovery. There are no obvious gaps that would prevent an agent from accomplishing typical market data tasks.
Available Tools
7 toolscompare_stocksAInspect
여러 종목의 시세를 비교합니다.
Args:
stock_names: 비교할 종목명 (쉼표 구분, 예: "삼성전자,SK하이닉스,NAVER")
date: 조회일 (YYYY-MM-DD). 빈 문자열이면 최근 영업일.
Returns:
종목별 시세 비교 (종가, 등락률, 거래량, 시가총액)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| stock_names | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It transparently explains the read-style comparison behavior, the meaning of an empty date (most recent business day), and the output fields (close, change rate, volume, market cap). It does not explicitly state that it is non-mutating, but the comparison semantics make that clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: one purpose sentence, then Args and Returns sections. Every line adds useful information, and the content is front-loaded with the core purpose before parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only lookup tool, the description covers everything an agent needs: purpose, parameter format, date defaults, and return semantics. The presence of an output schema also reduces the need to explain return structure in more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates. It explains both parameters: stock_names should be comma-separated with examples, and date uses YYYY-MM-DD format with empty-string fallback behavior. This goes well beyond the bare schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: '여러 종목의 시세를 비교합니다' (compares market prices of multiple stocks). It also lists the returned metrics, making the tool's job unambiguous and distinguishing it from single-stock siblings like get_stock_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is clearly implied by '여러 종목' (multiple stocks), so an agent can infer this is for comparing several tickers at once. However, it never explicitly says when not to use it or names alternatives such as get_stock_price or get_price_trend, leaving the routing decision to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dividend_infoAInspect
주식 배당 정보를 조회합니다.
Args:
company_name: 회사명 (예: "삼성전자", "SK하이닉스")
year: 결산년도 (예: "2025"). 빈 문자열이면 최근.
num_results: 조회 건수 (기본 20, 최대 100)
Returns:
배당률, 배당금, 배당기준일, 배당지급일
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| num_results | No | ||
| company_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It provides useful details: year empty means latest, num_results default 20 and max 100, and lists return fields. However, it omits error behavior, data freshness, or any side effects (though a query is naturally read-only). The description adds some behavioral context but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, leading with the purpose and then listing parameters and returns in a clear block. Every part earns its place: the Korean opener, parameter explanations with examples, and return fields. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity and the presence of an output schema, the description covers the essential behavior: what it returns and how the parameters behave. It lacks explicit error handling or prerequisites, but for a simple query tool with all parameters optional, this is adequate. An agent can call it correctly with the given info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully explain parameters. It does so effectively: company_name with examples, year with the empty-string meaning 'latest', and num_results with default and maximum constraints. This adds meaning well beyond the schema's bare titles and defaults, making it easy to invoke correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states '주식 배당 정보를 조회합니다' (query stock dividend information), which is a clear verb+resource pair. It distinguishes itself from sibling tools like get_stock_price and get_price_trend by focusing specifically on dividend data, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus other stock-related tools. There is no mention of scenarios, prerequisites, or exclusions. The description only explains parameters, leaving usage context to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_indexAInspect
KOSPI, KOSDAQ 등 주요 시장 지수를 조회합니다.
Args:
index_name: 지수명 (예: "코스피", "코스닥"). 빈 문자열이면 주요 지수 전체.
date: 조회일 (YYYY-MM-DD). 빈 문자열이면 최근 영업일.
num_results: 조회 건수 (기본 20, 최대 100)
Returns:
지수 종가, 등락률, 거래량, 거래대금, 상장시가총액
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| index_name | No | ||
| num_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses empty-string defaults (all indices, latest business day), the num_results default and max, and the return fields. It does not mention caveats such as historical date limits or how num_results applies across multiple indices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A front-loaded one-sentence summary followed by a compact Args/Returns block. Every line adds useful information, with no repetition of schema titles or empty filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with three optional parameters and an output schema, the description covers all parameter semantics and the main return fields. Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates: each parameter gets a purpose, format examples (코스피/코스닥, YYYY-MM-DD), default, and maximum. An agent can fill all arguments correctly from the description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb '조회' (retrieve) and a specific resource '주요 시장 지수' (major market indices), naming KOSPI/KOSDAQ. This clearly differentiates it from sibling stock-level tools like get_stock_price and search_stock.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context that this tool is for market-index data, not individual stocks, which is enough to route an agent correctly. However, it does not explicitly name alternatives or state when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_popular_stocksAInspect
주요 인기 종목의 코드 목록을 조회합니다. 종목 코드를 모를 때 참고하세요.
Returns:
주요 종목명과 6자리 코드 목록
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It states the operation is a read-only list retrieval and describes the return content as major stock names and 6-digit codes. However, it does not disclose details like ordering, how 'popular' is determined, or whether the list is static or real-time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the main purpose, includes a usage hint, and separates the return information clearly. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with an output schema, the description is complete. It states what the tool does, when to use it, and what it returns, leaving no critical gap for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter details, but none are needed since the input schema is empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '조회합니다' (retrieves) and the resource '주요 인기 종목의 코드 목록' (list of major popular stock codes). It implies a distinction from search_stock by offering a curated list rather than a search, but it does not explicitly name or differentiate from the sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage trigger: '종목 코드를 모를 때 참고하세요' (refer to this when you don't know the stock code). This is clear context for when to use the tool, though it does not mention when not to use it or compare it to alternatives like search_stock.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_price_trendAInspect
종목의 최근 N일간 주가 추이를 조회합니다.
Args:
stock_name: 종목명 (예: "삼성전자", "NAVER")
stock_code: 종목 단축코드 6자리 (예: "005930"). stock_name과 둘 중 하나.
days: 조회 기간 (기본 7일, 최대 30일)
Returns:
일별 종가, 등락률, 거래량 추이 및 기간 수익률
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| stock_code | No | ||
| stock_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden; it does communicate a read-only lookup ('조회합니다'), the one-of identifier constraint, and the days default/max. However, it does not disclose what happens if both or neither identifier is supplied, whether one takes precedence, error behavior, or any rate/source limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded, followed by a compact Args list and a one-line Returns summary. There is no filler and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is nearly complete for a simple read tool: it identifies the required inputs, gives constraints, and summarizes outputs while an output schema exists to supply return typing. It falls slightly short by not clarifying precedence/behavior when both stock_name and stock_code are provided, and by not stating whether at least one is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully: it explains stock_name with examples, specifies stock_code's 6-digit format and the one-of relationship, and gives days' default (7) and maximum (30). This adds real meaning beyond the bare schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'queries the stock price trend over the most recent N days' and lists the daily close, change rate, volume, and period return, so an agent can tell what it does. It does not explicitly differentiate from siblings such as get_stock_price, although the phrase 'recent N-day trend' implies a historical series rather than a single snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when this tool should be chosen over get_stock_price, compare_stocks, or search_stock. The only usage-like information is the parameter relationship 'use either stock_name or stock_code', which concerns argument selection rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_priceAInspect
한국 주식 시세를 조회합니다. 종목명 또는 종목코드로 검색할 수 있습니다. 데이터는 전일 종가 기준입니다 (당일 실시간 아님).
Args:
stock_name: 종목명 (예: "삼성전자", "NAVER", "카카오")
stock_code: 종목 단축코드 6자리 (예: "005930"). stock_name과 둘 중 하나만 입력.
date: 조회일 (YYYY-MM-DD). 빈 문자열이면 최근 영업일.
market: 시장 구분 ("KOSPI", "KOSDAQ", "KONEX"). 빈 문자열이면 전체.
num_results: 조회 건수 (기본 20, 최대 100)
Returns:
종가, 시가, 고가, 저가, 거래량, 등락률, 시가총액 등
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| market | No | ||
| stock_code | No | ||
| stock_name | No | ||
| num_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states that data is based on the previous day's closing price, not real-time, and clarifies default date and market behavior. It does not cover ordering or error cases, but the most important non-obvious behavioral trait is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly organized with a lead sentence, a staleness caveat, an Args block, and a Returns line. Every sentence carries information, and nothing is wasted or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 5-parameter schema, zero annotations, and the presence of an output schema, the description covers all parameters and the key behavioral caveat. It could add sibling differentiation and result-ordering details, but nothing essential for invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates by explaining every parameter with concrete examples ('삼성전자', '005930'), defaults ('빈 문자열이면 최근 영업일'), and the mutual-exclusion rule for stock_name and stock_code. It adds meaning well beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves Korean stock prices ('한국 주식 시세를 조회합니다') and supports lookup by stock name or code. It is a specific verb+resource, but it does not explicitly differentiate itself from siblings like get_price_trend or search_stock.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool compared to siblings; alternatives are never mentioned. Parameter-level instructions are provided, but tool-selection context is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_stockAInspect
종목명 키워드로 KRX 상장종목을 검색합니다.
Args:
keyword: 검색 키워드 (예: "삼성", "바이오", "에너지")
market: 시장 구분 ("KOSPI", "KOSDAQ", "KONEX"). 빈 문자열이면 전체.
num_results: 조회 건수 (기본 20, 최대 100)
Returns:
종목코드, 종목명, 시장구분, 법인명, 법인등록번호
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | ||
| keyword | Yes | ||
| num_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It usefully discloses KRX scope, market-filter semantics ('empty string means all'), and result-count limits. Still, it does not describe matching behavior (partial vs. exact), no-result handling, uniqueness guarantees, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-line purpose followed by Args and Returns sections. Every line adds necessary information, with no filler or repetition beyond what is justified by the minimal schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and the presence of an output schema, the description covers the essential invocation details: keyword examples, valid markets, defaults, and returned fields. It is slightly incomplete in not explaining when to prefer this over sibling tools or what edge cases exist, but it is sufficient for correct basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate. It does: every parameter is explained with valid values, examples, defaults, and the max bound for num_results. This is strong, complete parameter documentation beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('search') and resource ('KRX listed stocks') via a stock-name keyword, which clearly conveys what the tool does. It does not explicitly name sibling tools to distinguish itself, but the keyword-search framing is clearly distinct from siblings like get_stock_price or compare_stocks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: an agent would use this when it needs to find or resolve KRX stocks by a name keyword. However, there are no explicit when-to-use/when-not-to-use rules or references to alternative sibling tools, leaving routing decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
compare_stocks - First observed
get_dividend_info - First observed
get_market_index - First observed
get_popular_stocks - First observed
get_price_trend - First observed
get_stock_price - First observed
search_stock
Related MCP Connectors
Search company disclosures and financial statements from the Korean market. Retrieve stock profile…
Korean equities in English: DART filings, activist & foreign-holder classification, KRX news.
Korean stock research MCP: DART financials, global filings, daily prices and research tools.
Korean equity research, analyst revisions, kimchi premium and news via x402.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides KOSPI/KOSDAQ stock data including ticker lookup, OHLCV, market capitalization, fundamentals, and trading volume by investor type.MIT
- FlicenseAqualityAmaintenanceAI-ready data for investors and stewardship specialists who wants to have easy access to agm & governance related disclosures for Korean stocks2526-
- AlicenseAqualityCmaintenanceProvides Korean stock market data, including DART electronic disclosures and KRX trading information, enabling users to query company profiles, financial statements, and stock trade details via MCP clients.9MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered analysis of Korean stock market data and corporate disclosures using official DART and KRX APIs.121ISC