국내 주식·채권 MCP (Korea Stocks & Bonds)
Server Details
Korean stocks & bonds: DART filings, segment trends, earnings drivers, dividends, prices, bonds.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 14 tools
Most tools have distinct scopes, including clear separation between bond discovery, bond detail, and payment schedules. There is some overlap among company, earnings, financials, business_trend, and filing, but their descriptions distinguish overview, single-quarter analysis, financial history, operating trends, and report-level reading.
All names use concise lowercase snake_case, with intuitive pairs such as bond/bonds and search/search_filings. The convention is not fully uniform because resource nouns, plural nouns, and action-style names are mixed, and calendar is less explicit than bond_calendar.
Fourteen tools are appropriate for a combined Korean equity and bond research server. Each tool supports a recognizable research task without fragmenting the surface into excessive single-purpose operations.
The surface covers instrument discovery, prices, company overviews, financial and operating trends, earnings explanations, filings, cross-sectional rankings, dividends, ownership, and shareholder returns. Bonds also have screening, detailed terms and history, and payment schedules, leaving no obvious dead end for read-only investment research.
Available Tools
14 toolsbond채권 상세ARead-onlyIdempotentInspect
채권 한 종목 상세 — 발행조건(순위·옵션·보증·금리·이자주기), 평가사별 등급, 일별 시세(가격·수익률·체결액면), 원리금 지급 내역과 예정일, 같은 발행사 다른 채권. 금융위원회 공공데이터 기반.
| Name | Required | Description | Default |
|---|---|---|---|
| bond | Yes | ISIN(KR6…) 또는 종목명 | |
| price_days | No | 최근 시세 일수 (기본 60) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive behavior, so the safety profile is covered. The description adds real behavioral value beyond that: it discloses the upstream data source (FSC public data) and enumerates the returned sections, which effectively serves as a return contract given there is no output schema. It omits any note on rate limits or how much history is returned.
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?
One front-loaded sentence led by the resource and scope, then a compact enumeration of returned data, ending with a provenance note. Nothing is repeated and every clause carries information an agent would otherwise have to discover by calling.
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 with full schema coverage and no output schema, the description supplies exactly the missing piece: what the response contains. An agent can decide to call this and know what to expect without further inference.
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 coverage is 100%, with both `bond` (ISIN or name) and `price_days` (default 60, max 1000) already documented in the schema. The description's mention of 'daily quotes' loosely maps to `price_days` but adds no format or interpretation detail beyond the schema, so the baseline of 3 applies.
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 names a specific verb and resource (single bond issue detail) and then enumerates the exact payload: issuance terms (seniority, options, guarantee, coupon, payment cycle), agency ratings, daily quotes (price, yield, traded face value), principal/interest schedules, and same-issuer bonds. This clearly separates it from the list-oriented sibling `bonds` and the date-oriented `bond_calendar`.
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 '한 종목' (one issue) framing implies this is the detail lookup after finding a bond elsewhere, but the description never names an alternative tool or states when not to use it. Usage is inferable from scope rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond_calendar채권 이자 일정BRead-onlyIdempotentInspect
기간 내 채권 이자·원금 지급 일정. 오늘 이전은 실제 지급(actual=1), 이후는 예정(계산값, 공휴일 미반영). per_10k = 액면 1만원당 이자(원).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | Yes | ||
| bonds | No | ISIN 목록 | |
| stock | No | 종목코드(6자리) 또는 종목명. 예: '005930', '삼성전자' | |
| min_grade | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, but the description adds genuinely important data-quality context: past dates are actual payments (actual=1) while future dates are projected calculated values that do not account for holidays. That caveat materially changes how an agent should present results; only return formatting/pagination is left unaddressed.
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?
Three short, front-loaded sentences with no filler; purpose comes first, then the actual-vs-projected caveat, then the unit definition. The 'per_10k = ...' clause appears without being framed as a response field, which costs a little clarity but not much length.
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?
There is no output schema, and the description helpfully explains the key per_10k unit and the actual/projected distinction, which is more than most definitions offer. However, for a 5-parameter tool it leaves min_grade and the meaning/filtering behavior of bonds and stock entirely unexplained, so an agent cannot confidently use the optional filters.
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 only 40%, so the description should compensate, but it says nothing about from/to formatting, the bonds ISIN list, the stock code/name parameter, or min_grade. The 'per_10k' explanation actually describes a response field, not an input parameter, so it does not close the parameter gap (min_grade is undocumented in both schema and description).
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 names a specific resource and verb: a bond interest and principal payment schedule within a date range ('기간 내 채권 이자·원금 지급 일정'). An agent can tell it apart from generic siblings like calendar or bond without opening the schema, though it never explicitly contrasts itself with bond/bonds/calendar.
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 only usage signal is the implicit 'within the period' framing from the required from/to dates. There is no statement of when to prefer this over sibling tools such as bonds, bond, or calendar, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bonds회사채 찾기ARead-onlyIdempotentInspect
장내 회사채·금융채 찾기 (KRX 상장, 만기 전). 발행사·종목명, 상장사 종목, 수익률·표면이율·잔존기간·등급·후순위·지급월·유동성 조건. 결과: 표면이율(coupon %), 이자주기(cycle_m)·지급일·지급월, 1만원당 1회 이자(coupon_10k), 다음 이자일, 만기·잔존년수, 등급, 마지막 체결 가격(액면 1만원당)·수익률, 최근 20거래일 체결일수 — 체결이 드문 종목의 수익률은 극단값일 수 있음.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| rank | No | ||
| sort | No | ||
| limit | No | ||
| query | No | 종목명·발행사명·ISIN 일부 | |
| stock | No | 상장 발행사 — 그 회사 채권만 | |
| cycle_m | No | 이자 주기(개월): 1=매월 이자, 3=분기 | |
| ascending | No | ||
| max_years | No | 잔존 기간(년) 상한 | |
| max_yield | No | ||
| min_grade | No | 이 등급 이상만 | |
| min_years | No | ||
| min_yield | No | ||
| no_option | No | 콜·풋 옵션·영구채·조건부자본(상각형)·주식 관련 사채(CB·BW·EB) 제외 | |
| pay_month | No | 이 달에 이자를 주는 채권 | |
| min_coupon | No | ||
| min_trade_days_20 | No | 최근 20거래일 중 체결일 수 하한 (유동성) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe, read-only, idempotent, closed-world query, so the bar is lower, and the description still adds real behavior: it discloses the result fields (coupon %), cycle, coupon_10k per KRW 10k face, next coupon date, last trade price/yield, and 20-day trade count, plus the important caveat that yields for thinly traded names can be extreme outliers. It omits defaults for sort/limit, which keeps it from a 5.
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?
Two densely packed sentences: the first front-loads scope and filter axes, the second enumerates return fields and ends with the outlier caveat. Nothing is redundant, though the long comma-separated field list is harder to scan than a short structured block would be.
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?
With 17 optional parameters and no output schema, the description carries the burden well by describing the returned metrics and the data-quality caveat. Gaps remain around default sort order, result cap behavior (limit max 300), and the meaning of the truncation/rank ordering, but an agent can call it correctly from what is given.
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 coverage is 47%, so the description must compensate, and it does map many of the 17 parameters onto the listed filter axes (issuer/query, stock, yield, coupon, years, grade, rank, pay month, liquidity, kind, no_option). It still leaves sort, ascending, and limit undocumented in prose, and does not clarify set semantics like whether min_grade is inclusive-level or band.
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?
"장내 회사채·금융채 찾기 (KRX 상장, 만기 전)" gives a concrete verb (찾기) plus the resource, venue (KRX listed) and universe bound (pre-maturity), so an agent knows this is a screening tool over listed bonds. It does not explicitly contrast itself with the sibling `bond` (single-bond detail) or `bond_calendar`, so it stops short of a 5.
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 is implied through the enumerated filter dimensions (issuer, yield, coupon, remaining term, grade, subordination, pay month, liquidity), which tells the agent what this tool is good for. There is no explicit statement of when to prefer it over `bond` or `bond_calendar`, and no note that all filters are optional / results are a ranked screen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
business_trend사업 지표 추이ARead-onlyIdempotentInspect
사업 지표 추이 — 여러 정기보고서를 이어 붙인 분기/연간 시계열 (분기 값이 없으면 누적에서 계산). topic: segment(부문 매출·영업이익) · product_sales(제품별 매출) · region_sales(지역별) · main_products(주요 제품 비중) · capacity/production/utilization(생산능력·실적·가동률) · capex(시설투자) · rnd(연구개발비) · market_share(점유율) · inventory(재고) · cost_by_nature(비용 성격별) · sga(판관비) · raw_materials(원재료 매입) · material_prices(원재료·제품 가격) · backlog(수주) · channel(판매경로). topic 을 비우면 그 회사에 있는 topic 목록.
| Name | Required | Description | Default |
|---|---|---|---|
| dim | No | 부문·제품·지역 이름 필터 (예: 'DS', 'HBM', '미주') | |
| freq | No | Q=분기(기본), FY=연간 | |
| item | No | 항목 필터 (예: '매출액', '영업이익', '가동률') | |
| stock | Yes | 종목코드(6자리) 또는 종목명. 예: '005930', '삼성전자' | |
| topic | No | ||
| periods | No | 최근 몇 기간 (기본 분기 9 / 연간 6) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, non-destructive, closed-world), and the description adds genuinely useful behavior beyond them: the series is stitched together from several periodic reports, and missing quarterly figures are computed from cumulative values, which tells the agent the data is derived rather than reported. It still says nothing about output shape or how gaps/partial history are represented.
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?
Front-loaded with the core operation and the derived-data caveat, then the long topic list, which is justified because it supplies the missing topic parameter documentation. The dense bullet-style enumeration is efficient, though the single-sentence run-on makes it slightly harder to scan.
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 6-parameter read-only analytical tool with no output schema and strong annotation coverage, the description covers what the tool produces, the topic space, and the discovery fallback. What remains (exact return shape) is acceptable to omit given there is no output schema to defer to and the tool is read-only and idempotent.
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 coverage is 83%, so the baseline is 3, but the description goes further by supplying the semantics of the otherwise undocumented 'topic' parameter through a full value taxonomy and by explaining the empty-topic mode switch. Example values for dim (DS, HBM, 미주) and freq behavior add a bit more, though the description does not clarify how dim/item interact with topic.
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 and resource: a quarterly/annual time series built by concatenating multiple periodic reports, with quarterly values derived from cumulative figures when absent. The enumerated topic taxonomy (segment, product_sales, region_sales, capacity/production/utilization, capex, rnd, market_share, inventory, cost_by_nature, sga, raw_materials, material_prices, backlog, channel) makes it unmistakable versus siblings like financials or earnings.
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?
Gives a concrete discovery path: leaving topic empty returns the list of topics available for that company, which tells the agent how to explore before querying. It does not explicitly state when to prefer financials or earnings over this tool, so the routing guidance is strong but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar일정ARead-onlyIdempotentInspect
배당 일정 — 배당기준일·배당지급·주주명부기준일(DART 공시 기준, 공시 링크 포함). 종목 생략 시 시장 전체.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | 종료일 | |
| from | No | 시작일 (기본 오늘) | |
| kinds | No | ||
| limit | No | ||
| stock | No | 종목코드(6자리) 또는 종목명. 예: '005930', '삼성전자' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive, closed-world query, so the description does not need to repeat that. Instead, it adds useful information beyond the annotations: the data source is DART disclosures, and the results include disclosure links. This context helps set expectations for trust in the data and for what the response will contain.
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 consists of two compact clauses, with the core identity (dividend schedule) stated up front and the scoping rule attached. There is no filler. However, the parenthetical DART note compresses several distinct facts, while information that actually matters for correct calling, such as the broader kinds enum, is left out.
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 tool has five parameters, no output schema, and no required fields, so the description needs to carry considerable context, and it does cover the data source, the output link feature, and the default scope. It is still incomplete in one important way: the schema supports AGM, EGM, and earnings events, while the description presents the tool as strictly dividend-focused. Nothing explains limit or result ordering.
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 description adds real meaning to the stock parameter by stating that omitting it returns results for the entire market, which the schema does not say. However, it does not explain the non-dividend values in the kinds enum (정기주총, 임시주총, 실적발표), and it does not explain limit at all; together with 60% schema description coverage, a baseline 3 is appropriate.
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 that this tool returns a dividend calendar covering record dates, payment dates, and shareholder-registry dates sourced from DART disclosures, which is a specific verb-plus-resource statement. However, the schema kinds enum also permits 정기주총, 임시주총, and 실적발표 (AGM, EGM, earnings release), and the description never mentions these events. The description therefore makes this tool look narrower than it really is, though it still avoids confusion with siblings such as bond_calendar and earnings.
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?
'종목 생략 시 시장 전체' gives one concrete usage rule, namely that omitting stock broadens the query to the whole market. Beyond that, the description gives no explicit guidance on when to choose this tool over sibling tools such as earnings, shareholders, or bond_calendar, even though these siblings overlap with this tool's scope. The intended usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company종목 한눈에ARead-onlyIdempotentInspect
종목 한눈에 — 특정 종목 질문은 여기서 시작. 최근 정기보고서로 본 사업부문 구성(매출·영업이익·비중), 분기 실적 추이, 회사가 밝힌 최근 실적 변동 이유(원문 인용 + DART 링크), 사업 개요, 배당·자사주, 다가오는 배당 기준일. 모두 DART 공시 기반.
| Name | Required | Description | Default |
|---|---|---|---|
| stock | Yes | 종목코드(6자리) 또는 종목명. 예: '005930', '삼성전자' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety behavior is covered. The description contributes provenance and freshness ("최근 정기보고서", "모두 DART 공시 기반", original-text quotes with DART links), which is genuinely useful, but it says nothing about behavior when a ticker is unknown, when a company has no recent report, or about response size/latency.
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 routing cue is front-loaded in the first clause, followed by a compact enumeration of outputs and a source note. It is one dense sentence with no filler, though the parenthetical asides make it slightly heavy on first read.
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?
There is no output schema, so the description must carry the return-value burden — and it does, naming each returned block (segments, quarterly trend, cited earnings-change reasons with links, overview, dividends, record date). What is missing is data-freshness granularity (which quarter's report) and empty/error behavior, but for a single-parameter read tool this is nearly complete.
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 100% and the single `stock` parameter is fully documented in the schema with format and examples ('005930', '삼성전자'). The description adds no additional meaning about ticker resolution (e.g., market prefix, name ambiguity), so the baseline 3 applies.
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 the resource (a single stock) and that this is the entry point, and then enumerates the concrete payload (segment breakdown, quarterly trend, stated reasons for earnings changes, business overview, dividends/buybacks, upcoming record date). It is unambiguously about one company, but it never contrasts itself with the many overlapping siblings (financials, earnings, business_trend, shareholders), which is the only thing keeping it from a 5.
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?
"특정 종목 질문은 여기서 시작" is a real when-to-use cue for single-stock questions, and the DART-source note bounds the domain. However, there is no when-NOT-to-use and no routing to alternatives such as earnings for detailed quarterly figures or price for quotes, so the agent must infer boundaries by inspecting sibling names itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
earnings실적 변동 이유ARead-onlyIdempotentInspect
실적이 왜 바뀌었나 — 한 분기 실적 분석(DART 정기보고서 기반). 연결 매출·영업이익·순이익의 YoY·QoQ, 부문별 매출·영업이익 증감, 회사가 정기보고서에 쓴 변동 이유(원문 문장 + 출처 [S#] + DART 링크). '영업이익이 왜 늘었어?' 같은 질문에 사용.
| Name | Required | Description | Default |
|---|---|---|---|
| stock | Yes | 종목코드(6자리) 또는 종목명. 예: '005930', '삼성전자' | |
| period | No | 기간. 분기 '2026Q2'(또는 '2Q26'), 월 '2026.06', 연간 '2025'. 생략하면 최신 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a read-only, idempotent, closed-world operation, so the safety profile is fully covered. The description adds real context on provenance (DART periodic reports) and on how the company-stated causes are returned as original sentences with [S#] source markers and DART links. It does not cover behavior when a quarter lacks segment data or stated reasons, or any limits on history 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?
It is front-loaded with the core question ('실적이 왜 바뀌었나') and then compactly lists the returned content in one dense sentence. Nothing is redundant, though the list of metrics and citation mechanics is packed tightly enough that a reader has to parse carefully.
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?
With no output schema, the description carries the burden of describing return values, and it does so concretely: the metrics, the period-over-period comparisons, the segment breakdowns, and the citation format with source tags and links. The data source is also disclosed. Only edge-case behavior (no data, missing segment disclosure, non-periodic filers) is left unstated.
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 100%; both 'stock' and 'period' are documented in the schema with concrete format examples ('005930', '2026Q2', '2026.06'). The description adds only the implicit notion of '한 분기' granularity and the default-to-latest behavior is stated in the schema, not the description, so this is the baseline case where the schema does the work.
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 verb and resource: a single-quarter earnings analysis based on DART periodic reports, and it enumerates the concrete contents (consolidated revenue, operating profit, net income, YoY/QoQ, segment breakdowns, stated change reasons). The scope is unambiguous, but it never names or contrasts itself with the closest sibling, 'financials', so an agent must infer the boundary on its own.
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?
It gives a concrete triggering question ('영업이익이 왜 늘었어?') that maps directly to the tool's intent, which is strong context for selection. It stops short of explicit exclusions, saying nothing about when to prefer 'financials' for raw statement figures or 'filing'/'search_filings' for the underlying document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
filing정기보고서 읽기ARead-onlyIdempotentInspect
정기보고서(사업·반기·분기) 공시 정리본 읽기 — 표준 양식으로 정리된 표·회사 설명·실적 변동 이유, 모든 숫자에 출처 [S#]. sections 로 필요한 부분만: drivers(변동 이유), segment, product_sales, region_sales, cost_by_nature, sga, inventory, raw_materials, capacity, production, utilization, capex, rnd, market_share, backlog, texts(회사 설명·MD&A), check(검증). list=true 면 정리된 보고서 목록.
| Name | Required | Description | Default |
|---|---|---|---|
| list | No | ||
| stock | Yes | 종목코드(6자리) 또는 종목명. 예: '005930', '삼성전자' | |
| period | No | 기간. 분기 '2026Q2'(또는 '2Q26'), 월 '2026.06', 연간 '2025'. 생략하면 최신 | |
| sections | No | ||
| max_chars | No | 최대 글자 수 (기본 40000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description still adds real behavioral context the annotations cannot: every figure carries a source marker [S#], output is a normalized/curated rendering rather than raw disclosure, and check provides validation. It stops short of describing truncation behavior or failure modes in prose.
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?
Front-loaded with the resource and the value proposition, and every clause earns its place, including the long section enumeration which is functionally necessary. The single run-on paragraph with em-dashes makes it denser than ideal, but nothing is wasteful.
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?
With no output schema, the description carries the burden of describing returns and does so: normalized tables, company narrative, change drivers, per-number citations, and a size cap. Remaining gaps are minor – the semantics of the check section and what happens with an invalid section name are not explained.
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 coverage is 60% and the biggest gap is sections, which is a free-string array with no enum; the description compensates by enumerating the accepted section values (drivers, segment, sga, backlog, texts, check, etc.), which is substantial meaning beyond the schema. It also explains list=true, while stock, period and max_chars are already fully documented in the 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?
States a specific verb and resource: reading normalized periodic disclosure reports (annual/half/quarterly) rendered in a standard template, including tables, company narrative and change drivers. An agent can tell this is a structured report reader rather than a raw filing search, though it never names the sibling it should be preferred over (search_filings).
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?
Gives useful in-tool routing: use sections to fetch only the parts needed, and list=true to get the report list instead of content. But it offers no guidance on when to choose this over siblings such as search_filings, financials or earnings, and no prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
financials재무 추이ARead-onlyIdempotentInspect
재무 추이 (억원, DART 정기보고서 주요계정 2015~). freq=A: 연간 매출·영업이익·순이익·성장률·이익률·자산·부채·자본·부채비율·ROE. freq=Q: 분기 매출·영업이익·순이익의 YoY·QoQ(4분기는 연간 − 3분기 누적).
| Name | Required | Description | Default |
|---|---|---|---|
| freq | No | A=연간(기본), Q=분기 | |
| stock | Yes | 종목코드(6자리) 또는 종목명. 예: '005930', '삼성전자' | |
| years | No | ||
| statement | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and non-destructive annotations, it discloses the DART source, units in KRW 100 million, coverage beginning in 2015, and the derived nature of Q4 figures. These details help the agent interpret the data and its 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 description is compact, front-loaded with source, units, and coverage, then efficiently organized by frequency. The dense metric lists and parenthetical Q4 explanation all convey useful invocation or interpretation 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?
It covers the outputs unusually well for a definition without an output schema, making basic calls with stock and freq straightforward. However, two optional parameters remain semantically incomplete, and the lack of sibling differentiation leaves some tool-selection ambiguity.
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 description substantially expands on freq beyond its short schema description, but adds nothing about years or statement. In particular, statement's IS/BS/CF effect on the returned metrics and the role or default of years remain unclear.
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 identifies financial trends from DART periodic reports and enumerates the annual and quarterly metrics supplied. It also specifies units and historical coverage, but does not explicitly distinguish the tool from siblings such as earnings or business_trend.
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 separate freq=A and freq=Q sections give clear guidance for choosing annual versus quarterly output and explain the Q4 calculation. There is no guidance on when related sibling tools would be preferable or when the optional statement parameter should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price주가 흐름ARead-onlyIdempotentInspect
주가·지수 흐름 — 일별 종가 기준 기간 수익률, 지수 대비 초과수익, 최대낙폭(MDD), 변동성, 고저 + 봉 데이터 [날짜,시가,고가,저가,종가,거래량]. index 로 KOSPI/KOSDAQ/KOSPI200. 출처 금융위원회 공공데이터(KRX), 다음 영업일 반영(장중 실시간 아님). 분할·병합은 보정.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | 종료일 | |
| from | No | 시작일 | |
| index | No | ||
| limit | No | 최근 N봉 (기본 120) | |
| stock | No | 종목코드(6자리) 또는 종목명. 예: '005930', '삼성전자' | |
| interval | No | d=일(기본), w=주, m=월 — 1년 넘으면 w·m 권장 | |
| intraday | No | 이 날짜 1분봉 (YYYY-MM-DD) | |
| realtime | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so safety needs no restating. The description adds genuinely non-obvious behavior: the KRX/Financial Services Commission provenance, T+1 freshness (not intraday), and that splits/mergers are adjusted — the last being critical for interpreting historical returns. It loses a point for leaving the `realtime` flag's behavior unexplained while simultaneously asserting the data is not 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?
A single dense paragraph that front-loads the metrics produced, then tacks on index values, source/freshness caveats, and the adjustment note. Every clause carries information an agent needs; nothing is 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 an 8-parameter tool with zero required parameters and no output schema, the description does well on return shape (it lists the output columns and metrics). However, it does not resolve the key ambiguities an agent faces: whether stock and index are mutually exclusive, what makes a valid call with no arguments, and how `realtime` interacts with the stated non-real-time guarantee.
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 coverage is 75%, so the schema already documents from/to/limit/interval/intraday and the index enum. The description reinforces the index values and enumerates the candle fields, but adds no syntax or selection logic for `stock` vs `index`, and says nothing about what `realtime: true` would do.
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 names a specific resource (stock/index price series) and enumerates the derived metrics it returns — period return, excess return vs index, MDD, volatility, high/low, and OHLCV candles. That is far more specific than the title '주가 흐름' alone. It falls short of a 5 because it never names or contrasts a sibling (e.g. financials, company, rank) that an agent might otherwise pick for price-adjacent questions.
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 rather than stated: '다음 영업일 반영(장중 실시간 아님)' tells the agent this is end-of-day data, which effectively rules out intraday use cases. But there is no explicit when-to-use / when-not-to-use routing, and no guidance on the stock-vs-index choice despite both parameters existing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank순위ARead-onlyIdempotentInspect
순위 — 전 종목을 한 지표로 줄 세우기: 시가총액·배당수익률·주당배당·배당성향·자사주 소각/매입(최근 1년)·주주환원수익률·매출·영업이익·순이익·영업이익률·ROE·성장률·부채비율·PER·PBR·주가 수익률. 시장·업종·테마(예: '방산', '2차전지')로 좁힐 수 있음. '배당 많이 주는 회사', '자사주 소각 많이 한 회사', 'ROE 높은 회사' 같은 질문에.
| Name | Required | Description | Default |
|---|---|---|---|
| by | Yes | 줄 세울 지표 | |
| limit | No | ||
| theme | No | 테마 — 사업 설명에 그 말이 나오는 회사만 (예: '방산', '2차전지', 'HBM') | |
| market | No | ||
| max_per | No | PER 상한 | |
| min_opm | No | 영업이익률(%) 하한 | |
| min_roe | No | ROE(%) 하한 — 예: 'ROE 높고 PER 낮은' 은 by='per' + min_roe=15 | |
| industry | No | 업종 이름 일부 (예: '은행', '반도체') | |
| min_mcap | No | 시가총액 하한(억원). 기본: 비율·배당 순위는 1,000억 | |
| ascending | No | 낮은 순 (PER·PBR·부채비율은 기본 낮은 순) | |
| min_div_yield | No | 배당수익률(%) 하한 | |
| max_debt_ratio | No | 부채비율(%) 상한 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds that the scope is the full universe of stocks and that theme filtering matches on business-description text, but it says nothing about default result count, default sort direction, or what an empty result looks like.
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 clause is front-loaded and the example questions at the end are high-value. The middle sentence re-enumerates all eighteen metrics, largely duplicating the `by` enum; it doubles as terminology mapping, so it is not pure waste, but it is the longest and least necessary part.
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 12-parameter screening tool with no output schema, the description never says what comes back — rank order, whether each row carries the metric value and ticker, or how many rows by default. Default behaviors (min_mcap floor for ratio rankings, ascending defaults for PER/PBR/debt) exist only inside schema field descriptions, leaving a reader of the description alone under-informed.
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 coverage is 83%, so the baseline is 3, but the description earns a bump by translating opaque enum tokens into business meaning (cancel_12m = 자사주 소각 최근 1년, sh_yield = 주주환원수익률, payout = 배당성향). It also surfaces that market/industry/theme act as narrowing filters, which the bare schema does not frame.
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 and resource — rank all stocks ('전 종목을 한 지표로 줄 세우기') — and names the exact axis of ranking plus the narrowing dimensions (market, industry, theme). This clearly separates it from sibling lookup tools such as company, financials, and price, which return one entity rather than an ordered cross-section.
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 closing clause gives concrete trigger questions ('배당 많이 주는 회사', 'ROE 높은 회사'), which effectively tells the agent when this tool is the right choice. It stops short of naming alternatives or exclusions (e.g. 'use company for a single ticker'), so it is clear context rather than explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search종목 찾기ARead-onlyIdempotentInspect
종목 찾기 (이름·코드·업종·그룹명·테마). 종목코드를 모를 때 먼저. 테마어('방산', '2차전지')는 사업 설명에 그 말이 많이 나오는 회사 순.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | 검색어. 비우면 시총 상위 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely new behavioral information: theme queries are ranked by term frequency in business descriptions, which an agent could not infer from any structured field.
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?
Three short sentences with zero filler: purpose first, usage trigger second, non-obvious ranking behavior last. Every sentence carries distinct 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?
With no output schema, the description could say more about the result shape (e.g., that matches come back as stock entries with tickers), but for a simple two-parameter search it covers purpose, usage trigger, matching fields, and theme ranking adequately.
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 coverage is only 50% (only query is documented), but the description compensates by spelling out what query matches — name, code, sector, group name, theme — well beyond the schema's bare '검색어'. The optional limit parameter remains unexplained in both schema and description, which keeps it from a 5.
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 names a specific verb and resource (find stocks) and enumerates the matchable fields: name, ticker code, sector, group name, and theme. This clearly separates it from siblings like company (a single known ticker), rank, and search_filings, though it never names those alternatives outright.
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?
'종목코드를 모를 때 먼저' gives a concrete when-to-use trigger — reach for this before a ticker-keyed lookup tool like company. There is no explicit when-not or named alternative, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_filings공시 문장 검색ARead-onlyIdempotentInspect
전 종목 정기보고서 문장 검색 — 회사가 직접 쓴 실적 변동 이유(전 기간), MD&A, 최신 보고서의 사업·산업 설명. 예: 'HBM', '가동률 하락', '판가 인상', '환율 효과'. 어떤 회사들이 어떤 이유를 대는지 찾을 때.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | 기본: 실적 변동 이유는 최신순, 사업 설명은 관련도순 | |
| limit | No | ||
| query | Yes | 검색어 (3글자 이상이면 전문검색, 공백은 AND) | |
| since | No | 이 날짜 이후 기간 끝 (YYYY-MM-DD) | |
| stock | No | 이 종목만 | |
| topic | No | drivers=실적 변동 이유, mdna=경영진단, business=사업·산업 설명 | |
| metric | No | 실적 변동 이유 중 이 지표만 (예: '영업이익', '매출액') | |
| direction | No | 실적 변동 이유 중 이 방향만 (예: 원자재 가격 때문에 이익이 '감소') | |
| per_company | No | 회사당 최대 결과 수 (기본 2 — 한 회사가 결과를 다 차지하지 않게) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, closed-world behavior. The description adds useful temporal scope (drivers across all periods, business descriptions from latest reports) and sentence-level scope, but does not describe result structure, pagination behavior, or ranking beyond what the schema already says.
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?
Two compact sentences plus examples, front-loaded with the search scope and content types. There is no redundant filler; each element helps the agent decide whether and how to search.
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 9-parameter search tool with no output schema, the description gives enough purpose and scope to invoke it correctly, while schema descriptions cover parameter details. It could say more about returned sentence metadata and how results are organized, but those gaps are minor.
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 89%, so parameters such as topic, metric, direction, sort, and per_company are already well documented. The description adds example query terms ('HBM', '가동률 하락', '판가 인상') that help formulate the query parameter, but adds little semantics for the other filters. Baseline 3 is appropriate.
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 and resource: sentence search across all stocks' periodic reports, with enumerated content types (performance-change reasons, MD&A, business/industry descriptions). The examples and closing use case make it clearly distinguishable from generic search or filing retrieval siblings.
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?
Gives a clear use case: '어떤 회사들이 어떤 이유를 대는지 찾을 때' and explains that drivers cover all periods while business descriptions come from the latest reports. It does not explicitly name alternatives such as the generic search or filing tools, nor state when not to use this tool.
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.
14 tool updates
- First observed
bond - First observed
bond_calendar - First observed
bonds - First observed
business_trend - First observed
calendar - First observed
company - First observed
earnings - First observed
filing - First observed
financials - First observed
price - First observed
rank - First observed
search - First observed
search_filings - First observed
shareholders
Related MCP Connectors
Korean equities in English: DART filings, activist & foreign-holder classification, KRX news.
Korean company disclosures in English: DART filings, financial statements, segments, 13F.
DART — Korea's Data Analysis, Retrieval and Transfer System. The Korean equivalent of SEC EDGAR.…
Korean (DART/KIND) and US SEC filings with AI summaries, direction labels and market reaction.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered analysis of Korean stock market data and corporate disclosures using official DART and KRX APIs.198 npmISC
- FlicenseAqualityAmaintenanceAI-ready data for investors and stewardship specialists who wants to have easy access to agm & governance related disclosures for Korean stocks2545-
- AlicenseNot gradedqualityDmaintenanceProvides access to South Korea's DART (Data Analysis, Retrieval and Transfer System) financial disclosure system, enabling users to retrieve corporate information, financial statements, debt summaries, subsidiary investments, employee data, and stock information for Korean companies.6MIT
- FlicenseAqualityCmaintenanceEnables AI agents to analyze Korean corporate filings from DART with token-efficient footnote parsing, financial anomaly detection, and historical stock price correlation.4-
Glama MCP Gateway
Add one secure layer between your agents and this server.