Skip to main content
Glama

search_disclosures

Read-only

MyDART MCP의 search_disclosures 도구는 DART 공시 목록에서 접수번호(rcept_no)를 찾습니다 — download_document·get_attachments 진입점.

[Purpose]

  • 사업보고서 섹션 데이터는 get_periodic_report, 동명 회사는 find_corp_code 로 corp_code 확정.

[Usage]

  1. "삼성전자 최근 한 달 공시" → corp="삼성전자", days=30

  2. "작년 유상증자 결정 전부" → preset="rights_offering", start="2025-01-01", end="2025-12-31"

  3. "CB 발행만(매도·만기전취득 제외)" → preset="cb_issuance" (CB 관련 전부는 "cb")

[Response]

  • corp_cls: Y=코스피, K=코스닥, N=코넥스, E=기타(비상장).

  • report_nm [기재정정]/[첨부정정]/[첨부추가] prefix = 정정공시; [발행조건확정]=정정본(kept), [정정제출요구]=원본.

[Rules]

  • Always pass corp when a company is named — corp-less searches split the period (batch: by month), request budget 60; with corp: 1 request.

  • Counters nest: total_available ≥ total_fetched ≥ matched ≥ returned; matched > returned = cut by limit, incomplete=true = partial (see incomplete_note). collected_periods = the only ranges queried; counters scope to them, the rest is unchecked, not zero.

  • Preset batch drops 정정공시; page mode·bare all_pages keep them.

Input Schema

NameRequiredDescriptionDefault
endNoEnd date (default today)
corpNo회사명/종목코드/corp_code. Omit = all companies; a batch then splits the period by month, spends up to 60 DART requests (incomplete=true when hit) and can take tens of seconds. With corp: 1 request, a few hundred ms.
daysNoTrailing N days from today, used when start is omitted; out-of-range values clamp. Default by preset: 사업·감사 460 / 반기 280 / 분기 180 / 수시·일반 90. Longer windows: start/end.
kindNo공시유형; omit = all types. Enum order = DART pblntf_ty A~J; that letter or the Korean name (정기공시…) also works.
pageNoPage number (page mode = no preset, all_pages=false). Page mode returns raw DART rows; batch rows drop stock_code·rm and add event (주요사항), corrected (= a later 정정 exists), withdrawn.
sizeNoPage size (page mode)
limitNoMax rows returned in batch mode (preset or all_pages)
startNoStart date YYYY-MM-DD. Omitted = `days` back from today; set it for older filings.
detailNo공시상세유형 (DART pblntf_detail_ty), narrower than kind: A001 사업보고서 · A002 반기 · A003 분기 · B001 주요사항보고서 · F001 감사보고서 · F002 연결감사보고서 … Not with preset.
marketNo법인구분 (DART corp_cls Y·K·N·E): kospi · kosdaq · konex · unlisted (기타). Omit or all = every market.
presetNoBatch filter; sets kind and collects every page. 주요사항보고 keys match the EXACT DART 보고 사유 (never a title substring) — one key per 사유 (cb_issuance · cb_treasury_resale …); group aliases capital_change · cb · bw · cps · bond_issuance · treasury · treasury_trust · restructuring · asset_deal · asset_transfer_etc · guarantee_debt · insolvency · overseas union several. large_holding_5pct = all 지분공시.
all_pagesNoBatch-collect the whole period without a preset (same set as page mode, 정정공시 included); limit replaces page/size.
final_onlyNoOne latest version per event: 원본 replaced by its latest 정정본 (정정공시 NOT excluded) — a duplicate-free set. Windowed by each event's LATEST version date: filed in window but corrected after end = absent.
concurrencyNoCollector workers. A server-wide cap sets real concurrency, so raising this rarely helps — to cut latency set corp, narrow the period or lower limit.
include_correctionsNoInclude 정정공시 ([기재정정] etc.) in preset batch; off avoids 원본+정정 double count. correction_all forces true; ignored with final_only. Page mode and bare all_pages always include them. Latest-only: final_only.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "공시상세유형 (DART pblntf_detail_ty), narrower than kind: A001 사업보고서 · A002 반기 · A003 분기 · B001 주요사항보고서 · F001 감사보고서 · F002 연결감사보고서 … Not with preset.",
      +  "pattern": "^[A-J]\\d{3}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / market
      Added value: +{
      +  "description": "법인구분 (DART corp_cls Y·K·N·E): kospi · kosdaq · konex · unlisted (기타). Omit or all = every market.",
      +  "enum": [
      +    "all",
      +    "kospi",
      +    "kosdaq",
      +    "konex",
      +    "unlisted"
      +  ],
      +  "type": "string"
      +}
  2. Changed13 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / all_pages / description
      Previous value: -"Collect the whole period in parallel even without a preset (정정공시 included — the same set as page mode). When true, limit applies instead of page/size."New value: +"Batch-collect the whole period without a preset (same set as page mode, 정정공시 included); limit replaces page/size."
    • changedInput schema / properties / concurrency / description
      Previous value: -"Collector workers in batch mode (1~10, default 5). **Effective concurrency is set by a server-wide cap, so raising this usually does NOT make it faster** — to cut latency, set corp (which removes the period split, leaving a single request), narrow the period, or lower limit. The response's dart_requests/cached_chunks report how many DART requests this call spent and how many chunks came from cache — read them when it feels slow."New value: +"Collector workers. A server-wide cap sets real concurrency, so raising this rarely helps — to cut latency set corp, narrow the period or lower limit."
    • changedInput schema / properties / corp / description
      Previous value: -"회사명/종목코드/corp_code. Omit for all companies — but a batch without corp splits the period into calendar months and sweeps every company: closed months fetched before are served from cache (cached_chunks), the rest cost DART requests up to the per-call budget (default 60, env SEARCH_MAX_REQUESTS) and can take tens of seconds; on reaching it collection is truncated and flagged incomplete=true. With corp the split disappears and the same query finishes in 1 request and a few hundred ms."New value: +"회사명/종목코드/corp_code. Omit = all companies; a batch then splits the period by month, spends up to 60 DART requests (incomplete=true when hit) and can take tens of seconds. With corp: 1 request, a few hundred ms."
    • changedInput schema / properties / days / description
      Previous value: -"Trailing N days from today instead of start (1~730; out-of-range values are clamped to the bound). When unset, the preset default applies: 사업·감사 460 / 반기 280 / 분기 180 / 수시·일반 90. For windows longer than 730 days use start/end"New value: +"Trailing N days from today, used when start is omitted; out-of-range values clamp. Default by preset: 사업·감사 460 / 반기 280 / 분기 180 / 수시·일반 90. Longer windows: start/end."
    • changedInput schema / properties / end / description
      Previous value: -"End date (defaults to today)"New value: +"End date (default today)"
    • changedInput schema / properties / final_only / description
      Previous value: -"One latest version per event — where a 정정 exists the 구본(원본) is dropped and the latest 정정본 is taken (this does NOT exclude 정정공시 themselves). Use when you need one duplicate-free set. DART windows these on each event's LATEST version date — an event first filed in the window but corrected after end is absent (it shows up in the window of its last 정정)."New value: +"One latest version per event: 원본 replaced by its latest 정정본 (정정공시 NOT excluded) — a duplicate-free set. Windowed by each event's LATEST version date: filed in window but corrected after end = absent."
    • changedInput schema / properties / include_corrections / description
      Previous value: -"Whether to include 정정공시 ([기재정정] etc.) — preset batch mode ONLY (default false, to avoid double-counting 원본+정정 of the same event; correction_all forces true; ignored when final_only=true since that already removes duplicates). Bare all_pages and page mode ALWAYS include them (raw DART) — for latest-only without duplicates use final_only."New value: +"Include 정정공시 ([기재정정] etc.) in preset batch; off avoids 원본+정정 double count. correction_all forces true; ignored with final_only. Page mode and bare all_pages always include them. Latest-only: final_only."
    • changedInput schema / properties / kind / description
      Previous value: -"공시유형: periodic/major/issuance/holdings/other/audit/fund/abs/exchange/ftc (= DART pblntf_ty A~J 순서 — 글자로 줘도 된다)"New value: +"공시유형; omit = all types. Enum order = DART pblntf_ty A~J; that letter or the Korean name (정기공시…) also works."
    • changedInput schema / properties / limit / description
      Previous value: -"Cap on rows finally returned in batch mode (preset given or all_pages=true)"New value: +"Max rows returned in batch mode (preset or all_pages)"
    • changedInput schema / properties / page / description
      Previous value: -"Page number (page mode — the default when neither preset nor all_pages is set). Row shape differs by mode: page mode items are raw DART list rows, batch mode items a 7-key projection (rcept_no·rcept_dt·corp_name·corp_code·corp_cls·report_nm·flr_nm) plus event on 주요사항 rows and corrected/withdrawn:true from DART rm (정 = a later 정정 exists, 철 = withdrawn), so any other field is only in page mode."New value: +"Page number (page mode = no preset, all_pages=false). Page mode returns raw DART rows; batch rows drop stock_code·rm and add event (주요사항), corrected (= a later 정정 exists), withdrawn."
    • changedInput schema / properties / preset / description
      Previous value: -"주요사항보고 presets match the EXACT DART 보고 사유 (never a title substring) — one key per 사유, named like get_corporate_event event_type (cb_issuance · cb_treasury_resale · cb_early_acquisition · cb_call_designation · cb_call_exercise_third_party · treasury_acquisition · company_merger · other_corp_stock_acquisition · guarantee_for_others …), plus group aliases that union them: capital_change · cb · bw · cps · bond_issuance · treasury · treasury_trust · restructuring · asset_deal · asset_transfer_etc · guarantee_debt · insolvency · overseas. Other presets: large_holding_5pct · annual_report/half_report/quarterly_report · audit_report · correction_all. Setting one applies kind and the filter automatically and collects every page in parallel. Old names (cb_issue · bw_issue · eb_issue · treasury_buy/sell · merger · split) are accepted as the exact 사유 they name."New value: +"Batch filter; sets kind and collects every page. 주요사항보고 keys match the EXACT DART 보고 사유 (never a title substring) — one key per 사유 (cb_issuance · cb_treasury_resale …); group aliases capital_change · cb · bw · cps · bond_issuance · treasury · treasury_trust · restructuring · asset_deal · asset_transfer_etc · guarantee_debt · insolvency · overseas union several. large_holding_5pct = all 지분공시."
    • changedInput schema / properties / start / description
      Previous value: -"Start date YYYY-MM-DD. When omitted, `days` back from today (and when that is unset, the preset default: 사업·감사 460 / 반기 280 / 분기 180 / 수시·일반 90) — set it explicitly for older filings. (The old parameter name begin is still accepted — unified with start/end in get_corporate_event.)"New value: +"Start date YYYY-MM-DD. Omitted = `days` back from today; set it for older filings."
  3. Changed1 schema field changed
    • changedInput schema / properties / corp / description
      Previous value: -"회사명/종목코드/corp_code. Omit for all companies — but a batch without corp splits the period into 90-day chunks and sweeps every company, spending up to the per-call request budget (default 60, env SEARCH_MAX_REQUESTS) and taking tens of seconds; on reaching it collection is truncated and flagged incomplete=true. With corp the split disappears and the same query finishes in 1 request and a few hundred ms."New value: +"회사명/종목코드/corp_code. Omit for all companies — but a batch without corp splits the period into calendar months and sweeps every company: closed months fetched before are served from cache (cached_chunks), the rest cost DART requests up to the per-call budget (default 60, env SEARCH_MAX_REQUESTS) and can take tens of seconds; on reaching it collection is truncated and flagged incomplete=true. With corp the split disappears and the same query finishes in 1 request and a few hundred ms."
  4. Changed2 schema fields changed
    • changedInput schema / properties / final_only / description
      Previous value: -"One latest version per event — where a 정정 exists the 구본(원본) is dropped and the latest 정정본 is taken (this does NOT exclude 정정공시 themselves). Use when you need one duplicate-free set."New value: +"One latest version per event — where a 정정 exists the 구본(원본) is dropped and the latest 정정본 is taken (this does NOT exclude 정정공시 themselves). Use when you need one duplicate-free set. DART windows these on each event's LATEST version date — an event first filed in the window but corrected after end is absent (it shows up in the window of its last 정정)."
    • changedInput schema / properties / page / description
      Previous value: -"Page number (page mode — the default when neither preset nor all_pages is set). Row shape differs by mode: page mode items are raw DART list rows, batch mode items a 7-key projection (rcept_no·rcept_dt·corp_name·corp_code·corp_cls·report_nm·flr_nm) plus event on 주요사항 rows, so any other field is only in page mode."New value: +"Page number (page mode — the default when neither preset nor all_pages is set). Row shape differs by mode: page mode items are raw DART list rows, batch mode items a 7-key projection (rcept_no·rcept_dt·corp_name·corp_code·corp_cls·report_nm·flr_nm) plus event on 주요사항 rows and corrected/withdrawn:true from DART rm (정 = a later 정정 exists, 철 = withdrawn), so any other field is only in page mode."
  5. Changed1 schema field changed
    • changedInput schema / properties / kind / description
      Previous value: -"공시유형: periodic/major/issuance/holdings/audit/other/fund/abs/exchange/ftc"New value: +"공시유형: periodic/major/issuance/holdings/other/audit/fund/abs/exchange/ftc (= DART pblntf_ty A~J 순서 — 글자로 줘도 된다)"
  6. Changed3 schema fields changed
    • changedInput schema / properties / page / description
      Previous value: -"Page number (page mode — the default when neither preset nor all_pages is set). Row shape differs by mode: page mode items are raw DART list rows, batch mode items a 7-key projection (rcept_no·rcept_dt·corp_name·corp_code·corp_cls·report_nm·flr_nm), so any field outside those 7 is only in page mode."New value: +"Page number (page mode — the default when neither preset nor all_pages is set). Row shape differs by mode: page mode items are raw DART list rows, batch mode items a 7-key projection (rcept_no·rcept_dt·corp_name·corp_code·corp_cls·report_nm·flr_nm) plus event on 주요사항 rows, so any other field is only in page mode."
    • changedInput schema / properties / preset / description
      Previous value: -"22 presets: treasury_buy/sell/trust · cb/bw/eb_issue · rights_offering/bonus_issue/capital_reduction · merger/split/stock_exchange · business_transfer/acquisition · large_holding_5pct · annual_report/half_report/quarterly_report · audit_report · correction_all · insolvency · litigation. Setting one applies kind and a keyword filter automatically and collects every page in parallel."New value: +"주요사항보고 presets match the EXACT DART 보고 사유 (never a title substring) — one key per 사유, named like get_corporate_event event_type (cb_issuance · cb_treasury_resale · cb_early_acquisition · cb_call_designation · cb_call_exercise_third_party · treasury_acquisition · company_merger · other_corp_stock_acquisition · guarantee_for_others …), plus group aliases that union them: capital_change · cb · bw · cps · bond_issuance · treasury · treasury_trust · restructuring · asset_deal · asset_transfer_etc · guarantee_debt · insolvency · overseas. Other presets: large_holding_5pct · annual_report/half_report/quarterly_report · audit_report · correction_all. Setting one applies kind and the filter automatically and collects every page in parallel. Old names (cb_issue · bw_issue · eb_issue · treasury_buy/sell · merger · split) are accepted as the exact 사유 they name."
    • changedInput schema / properties / preset / enum
      Previous value: -[
      -  "treasury_buy",
      -  "treasury_sell",
      -  "treasury_trust",
      -  "cb_issue",
      -  "bw_issue",
      -  "eb_issue",
      -  "rights_offering",
      -  "bonus_issue",
      -  "capital_reduction",
      -  "merger",
      -  "split",
      -  "stock_exchange",
      -  "business_transfer",
      -  "business_acquisition",
      -  "large_holding_5pct",
      -  "annual_report",
      -  "half_report",
      -  "quarterly_report",
      -  "audit_report",
      -  "correction_all",
      -  "insolvency",
      -  "litigation"
      -]New value: +[
      +  "capital_change",
      +  "cb",
      +  "bw",
      +  "cps",
      +  "bond_issuance",
      +  "treasury",
      +  "treasury_trust",
      +  "restructuring",
      +  "asset_deal",
      +  "asset_transfer_etc",
      +  "guarantee_debt",
      +  "insolvency",
      +  "overseas",
      +  "rights_offering",
      +  "bonus_issue",
      +  "rights_bonus_combo",
      +  "capital_reduction",
      +  "cb_issuance",
      +  "cb_treasury_resale",
      +  "cb_early_acquisition",
      +  "cb_call_designation",
      +  "cb_call_exercise_third_party",
      +  "bw_issuance",
      +  "bw_treasury_resale",
      +  "bw_early_acquisition",
      +  "bw_call_designation",
      +  "bw_call_exercise_third_party",
      +  "cps_call_designation",
      +  "cps_call_exercise_third_party",
      +  "eb_issuance",
      +  "cocobond_issuance",
      +  "hybrid_capital_issuance",
      +  "treasury_acquisition",
      +  "treasury_disposal",
      +  "treasury_trust_contract",
      +  "treasury_trust_cancel",
      +  "treasury_trust_extension",
      +  "company_merger",
      +  "company_split",
      +  "company_split_merger",
      +  "stock_exchange",
      +  "other_corp_stock_acquisition",
      +  "other_corp_stock_transfer",
      +  "tangible_asset_acquisition",
      +  "tangible_asset_transfer",
      +  "noncurrent_asset_acquisition",
      +  "noncurrent_asset_disposal",
      +  "business_acquisition",
      +  "business_transfer",
      +  "business_deal_legacy",
      +  "asset_deal_legacy",
      +  "business_lease_delegation",
      +  "business_lease_delegation_change",
      +  "asset_transfer_other",
      +  "putback_option_contract",
      +  "bond_with_stock_right_acquisition",
      +  "bond_with_stock_right_transfer",
      +  "guarantee_for_others",
      +  "collateral_for_others",
      +  "debt_assumption",
      +  "debt_forgiveness_granted",
      +  "debt_forgiveness_received",
      +  "donation",
      +  "donation_received",
      +  "default_occurrence",
      +  "business_suspension",
      +  "rehabilitation_filing",
      +  "rehabilitation_commencement",
      +  "rehabilitation_discontinuance",
      +  "dissolution_cause",
      +  "bank_management_start",
      +  "bank_management_stop",
      +  "bank_management_end",
      +  "litigation",
      +  "overseas_listing_decision",
      +  "overseas_listing",
      +  "overseas_delisting_decision",
      +  "overseas_delisting",
      +  "foreign_tender_offer",
      +  "foreign_trading_halt",
      +  "large_holding_5pct",
      +  "annual_report",
      +  "half_report",
      +  "quarterly_report",
      +  "audit_report",
      +  "correction_all"
      +]
  7. Changed1 schema field changed
    • changedInput schema / properties / corp / description
      Previous value: -"회사명/종목코드/corp_code. Omit for all companies — but a batch without corp splits the period into 90-day chunks and sweeps every company, so DART requests grow to tens~150 and it takes tens of seconds. With corp the split disappears and the same query finishes in 1 request and a few hundred ms (152× measured)."New value: +"회사명/종목코드/corp_code. Omit for all companies — but a batch without corp splits the period into 90-day chunks and sweeps every company, spending up to the per-call request budget (default 60, env SEARCH_MAX_REQUESTS) and taking tens of seconds; on reaching it collection is truncated and flagged incomplete=true. With corp the split disappears and the same query finishes in 1 request and a few hundred ms."
  8. Changed5 schema fields changed
    • changedInput schema / properties / concurrency / description
      Previous value: -"Collector workers in batch mode (1~10, default 5). **Effective concurrency is set by a server-wide cap, so raising this usually does NOT make it faster** — to cut latency, set corp (which removes the period split, leaving a single request), narrow the period, or lower limit."New value: +"Collector workers in batch mode (1~10, default 5). **Effective concurrency is set by a server-wide cap, so raising this usually does NOT make it faster** — to cut latency, set corp (which removes the period split, leaving a single request), narrow the period, or lower limit. The response's dart_requests/cached_chunks report how many DART requests this call spent and how many chunks came from cache — read them when it feels slow."
    • changedInput schema / properties / corp / description
      Previous value: -"회사명/종목코드/corp_code. Omit for all companies"New value: +"회사명/종목코드/corp_code. Omit for all companies — but a batch without corp splits the period into 90-day chunks and sweeps every company, so DART requests grow to tens~150 and it takes tens of seconds. With corp the split disappears and the same query finishes in 1 request and a few hundred ms (152× measured)."
    • changedInput schema / properties / limit / description
      Previous value: -"Cap on rows finally returned (batch mode)"New value: +"Cap on rows finally returned in batch mode (preset given or all_pages=true)"
    • changedInput schema / properties / page / description
      Previous value: -"Page number (page mode)"New value: +"Page number (page mode — the default when neither preset nor all_pages is set). Row shape differs by mode: page mode items are raw DART list rows, batch mode items a 7-key projection (rcept_no·rcept_dt·corp_name·corp_code·corp_cls·report_nm·flr_nm), so any field outside those 7 is only in page mode."
    • changedInput schema / properties / start / description
      Previous value: -"Start date YYYY-MM-DD. When omitted, `days` back from today (and when that is unset, the preset default: 사업·감사 460 / 반기 280 / 분기 180 / 수시·일반 90). (The old parameter name begin is still accepted — unified with start/end in get_corporate_event.)"New value: +"Start date YYYY-MM-DD. When omitted, `days` back from today (and when that is unset, the preset default: 사업·감사 460 / 반기 280 / 분기 180 / 수시·일반 90) — set it explicitly for older filings. (The old parameter name begin is still accepted — unified with start/end in get_corporate_event.)"
  9. Changed12 schema fields changed
    • changedInput schema / properties / all_pages / description
      Previous value: -"preset 없이도 기간 전체를 병렬 수집(정정공시 포함 — 페이지 모드와 동일 집합). true 시 page/size 대신 limit 적용."New value: +"Collect the whole period in parallel even without a preset (정정공시 included — the same set as page mode). When true, limit applies instead of page/size."
    • changedInput schema / properties / concurrency / description
      Previous value: -"배치 모드 수집 워커 수(1~10, 기본 5). **실효 동시성은 서버 전역 상한이 정하므로 이 값을 올려도 대개 빨라지지 않는다** — 지연을 줄이려면 corp 지정(기간 분할이 사라져 요청 1건)·기간 축소·limit 축소가 효과적이다."New value: +"Collector workers in batch mode (1~10, default 5). **Effective concurrency is set by a server-wide cap, so raising this usually does NOT make it faster** — to cut latency, set corp (which removes the period split, leaving a single request), narrow the period, or lower limit."
    • changedInput schema / properties / corp / description
      Previous value: -"회사명/종목코드/corp_code. 생략 시 전체"New value: +"회사명/종목코드/corp_code. Omit for all companies"
    • changedInput schema / properties / days / description
      Previous value: -"start 대신 오늘 기준 과거 N일(1~730, 벗어나면 경계로 보정). 미지정 시 preset별 기본: 사업·감사 460·반기 280·분기 180·수시/일반 90. 730일보다 긴 기간은 start/end 로 지정하세요"New value: +"Trailing N days from today instead of start (1~730; out-of-range values are clamped to the bound). When unset, the preset default applies: 사업·감사 460 / 반기 280 / 분기 180 / 수시·일반 90. For windows longer than 730 days use start/end"
    • changedInput schema / properties / end / description
      Previous value: -"종료일 (생략 시 오늘)"New value: +"End date (defaults to today)"
    • changedInput schema / properties / final_only / description
      Previous value: -"이벤트당 최신본 1본만 — 정정이 있으면 구본(원본)을 빼고 최신 정정본을 채택한다(정정공시 자체를 제외하는 게 아님). 중복 없는 한 벌이 필요할 때 사용."New value: +"One latest version per event — where a 정정 exists the 구본(원본) is dropped and the latest 정정본 is taken (this does NOT exclude 정정공시 themselves). Use when you need one duplicate-free set."
    • changedInput schema / properties / include_corrections / description
      Previous value: -"정정공시([기재정정] 등) 포함 여부 — preset 배치 모드 전용(기본 false: 같은 이벤트의 원본+정정 중복 집계 방지, correction_all 은 자동 true, final_only=true 면 이미 중복이 없어 무시). preset 없는 all_pages·페이지 모드는 항상 포함(DART 원본 그대로) — 중복 없이 최신본만 원하면 final_only."New value: +"Whether to include 정정공시 ([기재정정] etc.) — preset batch mode ONLY (default false, to avoid double-counting 원본+정정 of the same event; correction_all forces true; ignored when final_only=true since that already removes duplicates). Bare all_pages and page mode ALWAYS include them (raw DART) — for latest-only without duplicates use final_only."
    • changedInput schema / properties / limit / description
      Previous value: -"배치 모드 최종 반환 개수 상한"New value: +"Cap on rows finally returned (batch mode)"
    • changedInput schema / properties / page / description
      Previous value: -"페이지 모드 시 페이지 번호"New value: +"Page number (page mode)"
    • changedInput schema / properties / preset / description
      Previous value: -"프리셋 22종: treasury_buy/sell/trust · cb/bw/eb_issue · rights_offering/bonus_issue/capital_reduction · merger/split/stock_exchange · business_transfer/acquisition · large_holding_5pct · annual_report/half_report/quarterly_report · audit_report · correction_all · insolvency · litigation. 지정 시 kind·키워드 자동 + 전량 페이지 병렬 수집."New value: +"22 presets: treasury_buy/sell/trust · cb/bw/eb_issue · rights_offering/bonus_issue/capital_reduction · merger/split/stock_exchange · business_transfer/acquisition · large_holding_5pct · annual_report/half_report/quarterly_report · audit_report · correction_all · insolvency · litigation. Setting one applies kind and a keyword filter automatically and collects every page in parallel."
    • changedInput schema / properties / size / description
      Previous value: -"페이지 모드 시 페이지 크기"New value: +"Page size (page mode)"
    • changedInput schema / properties / start / description
      Previous value: -"시작일 YYYY-MM-DD. 생략 시 days(미지정이면 preset별 기본: 사업·감사 460·반기 280·분기 180·수시/일반 90)일 전. (구 파라미터명 begin 도 허용 — get_major_holdings·get_corporate_event 의 start/end 와 통일)"New value: +"Start date YYYY-MM-DD. When omitted, `days` back from today (and when that is unset, the preset default: 사업·감사 460 / 반기 280 / 분기 180 / 수시·일반 90). (The old parameter name begin is still accepted — unified with start/end in get_corporate_event.)"
  10. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only, non-destructive profile, but the description goes well beyond them: request budget (60 without corp, 1 with), latency expectations, incomplete=true when the budget is hit, the nested counter semantics (total_available ≥ total_fetched ≥ matched ≥ returned), and the crucial caveat that collected_periods are the ONLY ranges queried so unqueried ranges are unchecked rather than zero. It also discloses that preset batch drops 정정공시 while page mode and bare all_pages keep them. Only gap: it never states the tool actually returns rows vs. just receipt numbers in each mode beyond the response-field notes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the one-line purpose, then clearly sectioned [Purpose]/[Usage]/[Response]/[Rules], which makes it scannable despite length. It loses a point for duplicating schema content — the corp batch-vs-single-request tradeoff and the correction-handling rules are already spelled out in the corp and include_corrections parameter descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 15 parameters, three enums, and no output schema, the description compensates by decoding return fields (corp_cls Y/K/N/E, report_nm [기재정정]/[발행조건확정]/[정정제출요구] prefixes) and by explaining how to interpret truncated or partial results via the counter nesting and incomplete_note. An agent has everything needed to call it and to reason about whether the result set is trustworthy.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics the schema does not: preset keys match the EXACT DART 보고 사유 rather than title substrings, one key per 사유, and which group aliases union several keys. It also explains the final_only/include_corrections interaction and the counter scoping rule that governs how to read limit-truncated results.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — finds rcept_no in the DART disclosure list — and immediately frames itself as the entry point to download_document and get_attachments. The [Purpose] block also names what it is NOT: get_periodic_report for periodic-report sections and find_corp_code for disambiguating company names, so an agent can pick it apart from siblings without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Three concrete intent-to-parameter mappings ("삼성전자 최근 한 달" → corp + days=30, 작년 유상증자 → preset rights_offering with explicit dates, CB 발행만 → preset cb_issuance vs group alias cb) show exactly when to use which knob. Rules add a hard directive — always pass corp when a company is named — plus the cost consequence (60 requests, tens of seconds vs 1 request) that drives the choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources