このMCPでできること
Provides Korean DART corporate disclosure search, financial statements, audit information, corporate events, filings, and valuation data.
ツール
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['rcept_no'], 'properties': {'find': {'anyOf': [{'type': 'string', 'maxLength': 200, 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 8, 'minItems': 2}], 'description': 'Full-text search over EVERY 원문 XML in the ZIP (본문+별도/연결 감사보고서). Returns `find` (표 단위 발췌 bundles + 나머지 매치 위치 locations) INSTEAD of content — 전문을 나르지 않는다. Several expressions in the same filing → ONE call with an array (최대 8개, OR 검색: ["차등","포기","주주평등"]) — the document is converted once; splitting into parallel calls repeats that work. 배열이면 여러 검색어가 함께 나오는 블록이 먼저 오고 bundles[].terms·per_term 이 붙는다. A single string is ONE literal term (쉼표로 나열해도 나뉘지 않는다). Case-insensitive, 리터럴 매칭(정규식 아님 — `(주)카카오` 를 그대로 넣어도 된다). 0건이면 표기를 자간 띄운 형태(`핵 심 감 사 사 항`)로 한 번 더 찾는다. doc_index 를 함께 주면 그 문서 하나로 좁힌다(범위 밖이면 좁히지 않고 전 문서를 검색하고 notes 로 알린다 — 전문 조회의 index-0 폴백과 다르다: 잘못된 index 로 좁히면 답이 있는데 0건이 나간다). format=markdown 에서만 쓸 수 있다.'}, 'format': {'enum': ['markdown', 'raw', 'text'], 'type': 'string', 'default': 'markdown', 'description': 'Output format. markdown=DART XML → 마크다운, raw=original XML, text=tags stripped (table structure is lost)'}, 'all_docs': {'type': 'boolean', 'default': False, 'description': 'Convert every 원문 XML in the ZIP and return them as documents[] — the 사업보고서 본문 plus 별도/연결 감사보고서 in one call.'}, 'rcept_no': {'type': 'string', 'pattern': '^\\d{14}$', 'description': '14-digit 접수번호 (the rcept_no from search_disclosures). Hyphens and spaces are stripped.'}, 'doc_index': {'type': 'integer', 'minimum': 0, 'description': 'Selects one 원문 XML inside the ZIP (0-based; 0=본문 when omitted). Use the index from the documents list. The 감사보고서 body is usually index 1~2 (별도/연결). An out-of-range value silently falls back to the main body WITH a note in `notes` — check it.'}, 'truncate_at': {'type': 'integer', 'maximum': 2000000, 'minimum': 1000, 'description': 'Max text length (the excess is cut). Default 300,000 chars; out-of-range values are clamped to the bound. With all_docs=true the budget is divided across the documents (the per-document share comes back as per_doc_truncate_at). Ignored when find is set (no content is returned).'}, 'find_max_bytes': {'type': 'integer', 'maximum': 60000, 'minimum': 1000, 'description': "발췌 본문 합계의 UTF-8 **바이트** 상한 (기본 12,000). 문자수가 아니라 바이트인 이유: 한글은 자당 3바이트라 '12,000자' 로 재면 응답이 36,000B 가 된다(실측). 단일 발췌가 이 값을 넘으면 표 행 단위로 잘리고 clipped=true 가 붙는다(제목행·구분행은 보존)."}, 'find_max_bundles': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Max 발췌 bundles (기본 5). 나머지 매치는 locations 로 위치만 나열된다. 바이트 예산(find_max_bytes)이 먼저 차면 이 수에 못 미칠 수 있다.'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Max candidates to return (default 10, max 50)'}, 'query': {'type': 'string', 'minLength': 1, 'description': '회사명 (한/영), 6-digit 종목코드, or 8-digit corp_code'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['rcept_no'], 'properties': {'mode': {'enum': ['list', 'text', 'images'], 'type': 'string', 'default': 'list', 'description': 'list: the attachment list only — nothing is downloaded, so it is the cheap call. text: the document body as 마크다운 via the 뷰어 원문 (XML→HTML) path — it skips PDF conversion, so text and tables are lossless and it is hundreds of times lighter. The primary path for sibling documents (정관·영업보고서·운영보고서 etc.) and the route to take whenever body text is what you want. images: return embedded images (도장·스캔본·차트 and other raster that text cannot capture). With NO filename/index it takes the 뷰어 원본 JPEG route (manifest.source="viewer": originals in document order, per-section eleId); with filename or index it scans THAT attachment PDF instead (source="pdf": decoded PNGs, largest area first, with page numbers; pages narrows it). The two routes return different field shapes. There is no file-parsing mode: an attachment file itself is reached through download_url, never parsed server-side.'}, 'index': {'type': 'integer', 'minimum': 0, 'description': '0-based index of the attachment to scan, in images mode (filename takes precedence). Like filename it picks the PDF-scan route; omit both to get the 뷰어 임베드 원본 JPEG.'}, 'pages': {'type': 'string', 'description': 'Page filter for images mode (1-based, PDF-scan path only). e.g. "3", "1-5", "2,4,7-9". It narrows pages WITHIN the attachment picked by filename/index, so it requires one of them. Unset on a filename/index call = a scan of only that PDF\'s FIRST 40 pages. At most 2000 pages per call — a wider span is rejected, not silently trimmed.'}, 'dcm_no': {'type': 'string', 'pattern': '^\\d+$', 'description': "Target 문서번호(dcmNo). Defaults to the 본문 document. One 공시(rcept_no) carries, besides the 본문, sibling documents (감사보고서·내부회계관리제도운영보고서·영업보고서·정관 etc.) each with its own dcmNo; take sibling_documents[].dcm_no from a list result to read that document (list its attachments, or mode=text/images). A sibling's attachments are invisible without it — always list first, then pass sibling_documents[].dcm_no."}, 'filename': {'type': 'string', 'description': "Exact filename of the attachment to scan, in images mode (no partial-match fallback). Giving it PICKS the PDF-scan route — omit both filename and index to get the document's 뷰어 임베드 원본 JPEG instead. An EXACT match is required; on failure the error lists the available names."}, 'rcept_no': {'type': 'string', 'pattern': '^\\d{14}$', 'description': '14-digit 접수번호 (separators are stripped automatically)'}, 'sections': {'type': 'array', 'items': {'type': 'integer', 'minimum': 0}, 'maxItems': 24, 'description': 'Which sections to fetch, in mode="text" — the **sections[] array index** (0-based). NOT the eleId: in these documents eleId runs "1".."8", so eleId happens to equal index+1 and is easy to confuse. e.g. to read the 3rd and 6th entries of sections[], pass [2, 5]. Unset = the previous behavior (the first 24 sections, all fetched). [] = 목차 only — zero body calls, sections[] carries just the titles (md_chars all 0); read them, then call again with the indices you want (2-pass). The pick happens BEFORE the 24-node ceiling, so it reaches sections 25~158 of a 사업보고서 본문 that are otherwise unreachable at any truncate_at. Max 24 picks; out-of-range indices are dropped with a note in `notes` (all-out-of-range is rejected). In this mode every sections[] entry carries its own index — check it against what you asked for (an off-by-one that stays in range otherwise returns a neighbouring section silently).'}, 'image_from': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Start offset in document order for the 뷰어 원본 JPEG route (0-based, default 0). Channels with a response cap fit only ~1 scan page per call, so this is how you reach later pages — e.g. the 자금부정통제 표 is usually the 2nd page of an 운영실태보고서, so image_from=1. The response carries `from` and a note telling you the next offset. PDF-scan route uses pages instead.'}, 'max_images': {'type': 'integer', 'default': 12, 'maximum': 40, 'minimum': 1, 'description': 'Max images returned in images mode (largest area first). Default 12.'}, 'truncate_at': {'type': 'integer', 'maximum': 2000000, 'minimum': 1000, 'description': 'Max length of the mode=text 마크다운 (default 100,000 chars; out-of-range values are clamped to the bound)'}, 'min_dimension': {'type': 'integer', 'default': 24, 'minimum': 1, 'description': 'In images mode, an image whose shorter side is under this many pixels is treated as decoration (아이콘·괘선) and dropped. Default 24. Lower it to catch small 도장/서명. It filters the PDF-scan path only (source:"pdf") — 뷰어 원본 JPEG images pass through unfiltered.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['corp', 'year'], 'properties': {'corp': {'type': 'string', 'minLength': 1, 'description': '회사명/종목코드/corp_code'}, 'year': {'type': 'integer', 'minimum': 2015, 'description': "결산 사업연도 (회계연도, fiscal year) — the number you pass IS the 사업연도=회계연도=결산연도. Do NOT subtract it; pass it as-is. Only tools where year is optional auto-select the latest published year when omitted (if year is required in the tool you are calling, it cannot be omitted — confirm the year actually used via the response `year` field).e.g. 'FY2025'·'2025년 재무제표'·'2025 사업보고서'·'2025 회계연도' → all 2025 (결산일 2025-12-31). Convert ONLY when the user explicitly names the 공시(제출)연도, as in '○○년에 공시된 보고서': a 12월 결산법인 files by the end of March of the following year.(e.g. '2026년에 공시된 사업보고서' → 2025). Otherwise the input is ALWAYS on a 사업연도=회계연도=결산연도 basis. Relative expressions ('최근 N개년'·'작년' and the like) count back from the most recent PUBLISHED 사업연도 as of today: a 사업보고서 is filed within about 90 days after 결산 (12월 결산 법인 → March of the following year), so from April the latest is last year, and in Jan~Mar it is the year before last. e.g. if today is 2026-06 the latest is FY2025 → '최근 5개년'=2021~2025 (NOT 2020~2024). Supported floor is FY2015 (the range OpenDART's structured APIs cover) — 2014 and earlier are rejected. A 비12월 결산 (3·6·9월) 법인 may have its latest 사업연도 equal to the calendar year (e.g. a 3월 결산 company from July onward)."}, 'light': {'type': 'boolean', 'default': False, 'description': 'Skip 원문 parsing (structured JSON APIs only — omits 실사, the fs_div split, and fees.headcount, which comes from the 실사 source; fast)'}, 'refresh': {'type': 'boolean', 'default': False, 'description': 'Bypass the cache and re-collect'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'corp': {'type': 'string', 'description': '회사명/종목코드/corp_code (required when rcept_no is absent). corp+year auto-locates the 사업보고서, falling back to the 감사보고서 F 단독공시 for unlisted companies; results on that path are cached'}, 'year': {'type': 'integer', 'minimum': 2015, 'description': "결산 사업연도 (회계연도, fiscal year) — the number you pass IS the 사업연도=회계연도=결산연도. Do NOT subtract it; pass it as-is. Only tools where year is optional auto-select the latest published year when omitted (if year is required in the tool you are calling, it cannot be omitted — confirm the year actually used via the response `year` field).e.g. 'FY2025'·'2025년 재무제표'·'2025 사업보고서'·'2025 회계연도' → all 2025 (결산일 2025-12-31). Convert ONLY when the user explicitly names the 공시(제출)연도, as in '○○년에 공시된 보고서': a 12월 결산법인 files by the end of March of the following year.(e.g. '2026년에 공시된 사업보고서' → 2025). Otherwise the input is ALWAYS on a 사업연도=회계연도=결산연도 basis. Relative expressions ('최근 N개년'·'작년' and the like) count back from the most recent PUBLISHED 사업연도 as of today: a 사업보고서 is filed within about 90 days after 결산 (12월 결산 법인 → March of the following year), so from April the latest is last year, and in Jan~Mar it is the year before last. e.g. if today is 2026-06 the latest is FY2025 → '최근 5개년'=2021~2025 (NOT 2020~2024). Supported floor is FY2015 (the range OpenDART's structured APIs cover) — 2014 and earlier are rejected. A 비12월 결산 (3·6·9월) 법인 may have its latest 사업연도 equal to the calendar year (e.g. a 3월 결산 company from July onward)."}, 'fs_div': {'enum': ['both', 'CFS', 'OFS'], 'type': 'string', 'description': 'both (default — 연결+별도 both)/연결(CFS)/별도(OFS). Aliases consolidated/separate·연결/별도 also accepted. With both, reports[] holds 2 entries — reading only the first drops an axis.'}, 'refresh': {'type': 'boolean', 'default': False, 'description': 'Bypass the cache and re-collect (corp+year path only)'}, 'rcept_no': {'type': 'string', 'pattern': '^\\d{14}$', 'description': '접수번호 given directly (instead of corp/year) — parses that filing live (never cached) and returns resolved/applicability as null. A 감사보고서제출(F) 단독공시 works too.'}, 'sections': {'anyOf': [{'enum': ['full', 'summary'], 'type': 'string'}, {'type': 'array', 'items': {'enum': ['opinion', 'basis', 'going_concern', 'kam', 'emphasis', 'other_matter', 'other_information', 'mgmt_resp', 'auditor_resp', 'other_reporting'], 'type': 'string'}, 'maxItems': 10}], 'description': 'Which section BODIES to include. full (default) = every section. summary = the paragraphs that carry a finding — 의견(opinion)·KAM·강조(emphasis)·기타(other_matter)·계속기업(going_concern), plus 의견근거(basis) ONLY when the opinion is not 적정 (for 적정 that paragraph is boilerplate: p50 575 bytes with almost no variance across 27,067 reports; for 한정/부적정/의견거절 it is the reason itself, 2.5~3.1x longer). Or pass an explicit key array, e.g. ["opinion","kam"]; [] = 목차만. Keys: opinion·basis·going_concern·kam·emphasis·other_matter·other_information·mgmt_resp·auditor_resp·other_reporting. Unselected sections are NOT dropped — they stay as {key, heading, char_count, body_omitted:true} so you can re-request them. The structured fields (opinion·kam.matters titles·emphasis·other_matters·going_concern_mentioned) are ALWAYS returned regardless of this argument.'}, 'truncate_at': {'type': 'integer', 'maximum': 500000, 'minimum': 500, 'description': 'Max length per section body (default 8,000 chars; the excess is cut, out-of-range values are clamped to the bound). On truncated=true check char_count and re-call with a higher value. Applies only to sections whose body is included — see `sections`.'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['corp'], 'properties': {'corp': {'type': 'string', 'minLength': 1, 'description': '회사명/종목코드/corp_code'}, 'year': {'type': 'integer', 'minimum': 2015, 'description': "회계연도 that applicability.data_location (where 재무·감사 data lives) is judged against. Defaults to the latest (marked 잠정). Matters only for 비상장사 — a 상장사 is always 사업보고서(JSON), so it is reported as listed without probing. For non-December closers this year follows the 시작연도 convention shared with the audit tools, while the financial JSON tools (get_financials 등) address the same fiscal period as year+1 — the response's fiscal_year_note spells the mapping out."}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['corp'], 'properties': {'end': {'type': 'string', 'description': 'End date (YYYY-MM-DD / YYYYMMDD). Defaults to today'}, 'corp': {'type': 'string', 'minLength': 1, 'description': '회사명/종목코드/corp_code'}, 'mode': {'enum': ['single', 'timeline'], 'type': 'string', 'default': 'single', 'description': 'single: query one event_type. timeline: query the 자본 관련 events in parallel (25 types by default) and merge them into one date-descending list'}, 'limit': {'type': 'integer', 'default': 100, 'maximum': 2000, 'minimum': 1, 'description': 'Cap on timeline rows returned (default 100, date descending). The excess is cut and flagged via truncated=true, with total_events carrying the real count — a company with frequent 자본거래 yields hundreds over a 3-year window. Narrowing the period is more precise.'}, 'start': {'type': 'string', 'description': 'Start date (YYYY-MM-DD / YYYYMMDD). Defaults to 3 years ago — an omitted bound is flagged as period.defaulted:true in the response'}, 'event_type': {'anyOf': [{'enum': ['major_holding_5pct', 'executive_holding', 'default_occurrence', 'business_suspension', 'rehabilitation_filing', 'dissolution_cause', 'bank_management_start', 'bank_management_stop', 'litigation', 'rights_offering', 'bonus_issue', 'rights_bonus_combo', 'capital_reduction', 'cb_issuance', 'bw_issuance', 'eb_issuance', 'cocobond_issuance', 'treasury_acquisition', 'treasury_disposal', 'treasury_trust_contract', 'treasury_trust_cancel', 'stock_exchange', 'company_split_merger', 'company_split', 'company_merger', 'asset_transfer_etc', 'tangible_asset_transfer', 'tangible_asset_acquisition', 'other_corp_stock_transfer', 'other_corp_stock_acquisition', 'business_transfer', 'business_acquisition', 'bond_with_stock_right_acquisition', 'bond_with_stock_right_transfer', 'overseas_listing_decision', 'overseas_delisting_decision', 'overseas_listing', 'overseas_delisting'], 'type': 'string'}, {'type': 'array', 'items': {'enum': ['major_holding_5pct', 'executive_holding', 'default_occurrence', 'business_suspension', 'rehabilitation_filing', 'dissolution_cause', 'bank_management_start', 'bank_management_stop', 'litigation', 'rights_offering', 'bonus_issue', 'rights_bonus_combo', 'capital_reduction', 'cb_issuance', 'bw_issuance', 'eb_issuance', 'cocobond_issuance', 'treasury_acquisition', 'treasury_disposal', 'treasury_trust_contract', 'treasury_trust_cancel', 'stock_exchange', 'company_split_merger', 'company_split', 'company_merger', 'asset_transfer_etc', 'tangible_asset_transfer', 'tangible_asset_acquisition', 'other_corp_stock_transfer', 'other_corp_stock_acquisition', 'business_transfer', 'business_acquisition', 'bond_with_stock_right_acquisition', 'bond_with_stock_right_transfer', 'overseas_listing_decision', 'overseas_delisting_decision', 'overseas_listing', 'overseas_delisting'], 'type': 'string'}, 'minItems': 1}], 'description': "38 selectable events (36 주요사항 + 지분공시 2종) — **a single string OR an array**. A string queries that one event (mode=single); an array queries them in parallel and merges them into one date-descending timeline (mode switches to timeline automatically). When unset in timeline mode, every 자본 관련 event (capital=true) is selected; 소송·부도·회생·해외상장·지분공시 are NOT in that default set, so name them here. Group aliases expand to their members — 'capital' (자본거래 25종, the timeline default) and 'holdings' (지분공시 2종). The legacy key `event_types` is accepted."}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'corp': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Company — **a single string OR an array** (회사명·종목코드·corp_code). With scope=summary: 1 (single) or 2+ (multi-company comparison). scope=full takes EXACTLY 1 — give 2 or more and only the first is returned, the rest are dropped (there is no multi-company full-statement API) and the drop is reported in `notes`. Compare several companies with scope=summary. A comma list ("삼성전자,SK하이닉스") or a bare number (259630) is absorbed too; the legacy key `corps` is accepted. Names/codes that fail to resolve are dropped with a note as long as at least one resolves (all-unresolved still errors). Omit when querying one specific filing by rcept_no instead.'}, 'year': {'type': 'integer', 'minimum': 2015, 'description': '결산 사업연도 (회계연도). When omitted, the most recently PUBLISHED 사업연도 is selected automatically — this absorbs the validation error that used to occur when the caller left year out for a question that never named a year. Confirm the year actually used via year/year_defaulted in the response.'}, 'scope': {'enum': ['summary', 'full'], 'type': 'string', 'description': 'summary (default): 주요계정, 8~10 rows (fast). full: the whole 재무제표 (BS/IS/CF/CIS/SCE), hundreds~1k rows'}, 'format': {'type': 'string', 'description': 'REMOVED (구 get_xbrl) — any value is rejected. markdown/markdown_full → items[] replaces them (omit this arg); raw → discontinued.'}, 'fs_div': {'enum': ['CFS', 'OFS'], 'type': 'string', 'description': 'With scope=full, selects 연결(CFS)/별도(OFS) (default CFS). The response echoes the basis ACTUALLY used, not the requested one — a CFS→OFS auto-fallback is flagged by fs_div_note. Ignored by scope=summary — summary responses carry no top-level fs_div because consolidation is per-row there. Aliases consolidated/separate·연결/별도 also accepted.'}, 'report': {'enum': ['q1', 'half', 'q3', 'annual'], 'type': 'string', 'default': 'annual', 'description': 'q1/half/q3/annual'}, 'sj_div': {'type': 'array', 'items': {'enum': ['BS', 'IS', 'CF', 'CIS', 'SCE'], 'type': 'string'}, 'minItems': 1, 'description': 'With scope=full, filters 재무제표 종류 (when unset: BS+IS+CIS — a company using the \'단일 포괄손익계산서\' presentation reports 손익 in CIS only, not IS, so CIS is included by default). BS=재무상태표, IS=손익계산서, CF=현금흐름표, CIS=포괄손익계산서, SCE=자본변동표. To get everything, state ["BS","IS","CF","CIS","SCE"] explicitly. A bare string ("BS") or comma list ("BS,IS") is absorbed into an array.'}, 'rcept_no': {'type': 'string', 'pattern': '^\\d{14}$', 'description': '14-digit 접수번호 — serves that filing AS FILED (구 get_xbrl 흡수). corp+year serves the LATEST version instead; the two can differ after a [기재정정]. **연차(사업보고서) rcept 전용** — 분·반기 XBRL 은 기간 구조(누계·단독)가 달라 corp+report 로 조회하세요(no_data 가 라우팅). Accepts fs_div·sj_div (구 sections 는 sj_div 로 흡수); corp·year·scope must be omitted. Adds 합산 검증(validations) to the response.'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['corp', 'year'], 'properties': {'corp': {'type': 'string', 'minLength': 1, 'description': '회사명/종목코드/corp_code'}, 'year': {'type': 'integer', 'minimum': 2015, 'description': "결산 사업연도 (회계연도, fiscal year) — the number you pass IS the 사업연도=회계연도=결산연도. Do NOT subtract it; pass it as-is. Only tools where year is optional auto-select the latest published year when omitted (if year is required in the tool you are calling, it cannot be omitted — confirm the year actually used via the response `year` field).e.g. 'FY2025'·'2025년 재무제표'·'2025 사업보고서'·'2025 회계연도' → all 2025 (결산일 2025-12-31). Convert ONLY when the user explicitly names the 공시(제출)연도, as in '○○년에 공시된 보고서': a 12월 결산법인 files by the end of March of the following year.(e.g. '2026년에 공시된 사업보고서' → 2025). Otherwise the input is ALWAYS on a 사업연도=회계연도=결산연도 basis. Relative expressions ('최근 N개년'·'작년' and the like) count back from the most recent PUBLISHED 사업연도 as of today: a 사업보고서 is filed within about 90 days after 결산 (12월 결산 법인 → March of the following year), so from April the latest is last year, and in Jan~Mar it is the year before last. e.g. if today is 2026-06 the latest is FY2025 → '최근 5개년'=2021~2025 (NOT 2020~2024). Supported floor is FY2015 (the range OpenDART's structured APIs cover) — 2014 and earlier are rejected. A 비12월 결산 (3·6·9월) 법인 may have its latest 사업연도 equal to the calendar year (e.g. a 3월 결산 company from July onward)."}, 'fs_div': {'enum': ['CFS', 'OFS'], 'type': 'string', 'description': '연결(CFS)/별도(OFS), default CFS. Falls back to 별도 automatically when 연결 is absent (the response fs_div reports the basis actually used). Aliases consolidated/separate·연결/별도 also accepted.'}, 'refresh': {'type': 'boolean', 'default': False, 'description': 'Bypass the cache and re-collect'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['corp', 'year'], 'properties': {'corp': {'type': 'string', 'minLength': 1, 'description': '회사명/종목코드/corp_code'}, 'year': {'type': 'integer', 'minimum': 2015, 'description': "결산 사업연도 (회계연도, fiscal year) — the number you pass IS the 사업연도=회계연도=결산연도. Do NOT subtract it; pass it as-is. Only tools where year is optional auto-select the latest published year when omitted (if year is required in the tool you are calling, it cannot be omitted — confirm the year actually used via the response `year` field).e.g. 'FY2025'·'2025년 재무제표'·'2025 사업보고서'·'2025 회계연도' → all 2025 (결산일 2025-12-31). Convert ONLY when the user explicitly names the 공시(제출)연도, as in '○○년에 공시된 보고서': a 12월 결산법인 files by the end of March of the following year.(e.g. '2026년에 공시된 사업보고서' → 2025). Otherwise the input is ALWAYS on a 사업연도=회계연도=결산연도 basis. Relative expressions ('최근 N개년'·'작년' and the like) count back from the most recent PUBLISHED 사업연도 as of today: a 사업보고서 is filed within about 90 days after 결산 (12월 결산 법인 → March of the following year), so from April the latest is last year, and in Jan~Mar it is the year before last. e.g. if today is 2026-06 the latest is FY2025 → '최근 5개년'=2021~2025 (NOT 2020~2024). Supported floor is FY2015 (the range OpenDART's structured APIs cover) — 2014 and earlier are rejected. A 비12월 결산 (3·6·9월) 법인 may have its latest 사업연도 equal to the calendar year (e.g. a 3월 결산 company from July onward)."}, 'fs_div': {'enum': ['both', 'CFS', 'OFS'], 'type': 'string', 'description': 'both (default — 연결+별도 both)/연결(CFS)/별도(OFS). ICFR normally exists for 별도(OFS) only; 연결(CFS) ICFR 감사 applies only to 전기말 별도자산 2조↑ filers from FY2023. 별도(OFS) falls back to a standalone ICFR 공시 when the 감사보고서 embeds none, while 연결(CFS) never falls back. Aliases consolidated/separate·연결/별도 also accepted.'}, 'refresh': {'type': 'boolean', 'default': False, 'description': 'Bypass the cache and re-collect'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['corp', 'report_type'], 'properties': {'corp': {'type': 'string', 'minLength': 1, 'description': '회사명/종목코드/corp_code'}, 'year': {'type': 'integer', 'minimum': 2015, 'description': '결산 사업연도 (회계연도) — the FISCAL year, NOT the filing year. When omitted, the most recently PUBLISHED year is selected automatically, based on 결산월(acc_mt) and report type. Confirm the year actually used via year/year_defaulted in the response.'}, 'report': {'enum': ['q1', 'half', 'q3', 'annual'], 'type': 'string', 'default': 'annual', 'description': 'Report type'}, 'max_items': {'type': 'integer', 'default': 150, 'maximum': 2000, 'minimum': 1, 'description': 'Cap on rows returned per section (default 150). The excess is cut and flagged via truncated=true, and total_count then carries the real row count — this keeps responses from bloating on row-heavy, prose-heavy sections such as 임원현황·타법인출자·채무증권.'}, 'report_type': {'anyOf': [{'enum': ['largest_shareholder', 'largest_shareholder_changes', 'minority_shareholders', 'total_stocks', 'executives', 'employees', 'outside_director_changes', 'executive_compensation_total', 'executive_compensation_individual', 'individual_pay_top5', 'unregistered_executive_comp', 'director_total_comp_approval', 'director_total_comp_by_type', 'auditor_opinion', 'audit_service_contract', 'non_audit_service_contract', 'capital_increase_decrease', 'dividends', 'treasury_stock', 'private_placement_fund_use', 'public_offering_fund_use', 'other_company_investment', 'debt_securities_issuance', 'cp_unredeemed', 'short_term_bond_unredeemed', 'corp_bond_unredeemed', 'hybrid_capital_unredeemed', 'contingent_capital_unredeemed'], 'type': 'string'}, {'type': 'array', 'items': {'enum': ['largest_shareholder', 'largest_shareholder_changes', 'minority_shareholders', 'total_stocks', 'executives', 'employees', 'outside_director_changes', 'executive_compensation_total', 'executive_compensation_individual', 'individual_pay_top5', 'unregistered_executive_comp', 'director_total_comp_approval', 'director_total_comp_by_type', 'auditor_opinion', 'audit_service_contract', 'non_audit_service_contract', 'capital_increase_decrease', 'dividends', 'treasury_stock', 'private_placement_fund_use', 'public_offering_fund_use', 'other_company_investment', 'debt_securities_issuance', 'cp_unredeemed', 'short_term_bond_unredeemed', 'corp_bond_unredeemed', 'hybrid_capital_unredeemed', 'contingent_capital_unredeemed'], 'type': 'string'}, 'minItems': 1}], 'description': "28 sections — **a single string OR an array** (an array is collected in parallel and returned as sections[]). Families: 주주 4 (largest_shareholder etc.) / 임직원 3 (executives etc.) / 보수 6 (executive_compensation_* etc.) / 회계감사 3 (auditor_opinion etc.) / 자본 3 (dividends·treasury_stock etc.) / 자금사용 2 (*_fund_use) / 타법인출자 1 / 채무증권 6 (*_unredeemed etc.). See the enum list for exact value names (the name IS the meaning). Group aliases expand to their members too — 'shareholders' (주주 4) and 'executive_compensation' (보수 6)."}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['corp'], 'properties': {'end': {'type': 'string', 'description': '조회 종료일(YYYY-MM-DD / YYYYMMDD). 기본 오늘'}, 'corp': {'type': 'string', 'minLength': 1, 'description': '회사명/종목코드/corp_code — DS006 은 corp_code 필수라 회사 없는 전수 조회는 불가'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': '반환할 신고서 건수 상한(rcept_no 단위, 접수일 최신순 — 기본 10). 초과분은 잘리고 truncated=true·total_filings 로 표시된다. 인수인 그룹이 신고서당 수십 행이라 행이 아니라 신고서 단위로 자른다'}, 'start': {'type': 'string', 'description': '조회 시작일(YYYY-MM-DD / YYYYMMDD) — **신고서 최초접수일** 기준. 기본값은 데이터 하한인 2015-01-01(전기간)이며 생략 시 period.defaulted:true. 증권신고서는 드문 이벤트라 창을 좁히면 오히려 놓친다 — DS006 은 페이징이 없어 창을 넓혀도 호출 비용이 같다'}, 'statement_type': {'anyOf': [{'enum': ['equity', 'debt', 'depositary', 'merger', 'stock_exchange', 'division'], 'type': 'string'}, {'type': 'array', 'items': {'enum': ['equity', 'debt', 'depositary', 'merger', 'stock_exchange', 'division'], 'type': 'string'}, 'minItems': 1}], 'description': "신고서 종류 — 단일 값 또는 배열, **미지정 시 6종 전부 병렬 조회**(DART 6콜 고정). equity=지분증권(유상증자·IPO) / debt=채무증권(회사채) / depositary=증권예탁증권(DR) / merger=합병 / stock_exchange=주식의포괄적교환·이전 / division=분할. 묶음 별칭 'offering'(공모 3종)·'restructuring'(구조조정 3종)과 한글명(회사채·합병·분할 등)도 수용"}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['kind'], 'properties': {'kd': {'type': 'number', 'description': '[wacc] Kd given directly (annual %, 세전) — overrides credit_rating·kd_tenor'}, 'yq': {'type': 'string', 'description': '[wacc·peers] 평가기준 분기 (e.g. 2026Q2 — lowercase q accepted). Default: latest snapshot'}, 'end': {'type': 'string', 'description': '[market] End date (default: latest 적재일). 구 `to` 도 받는다'}, 'mrp': {'type': 'number', 'description': '[wacc] MRP override (decimal, e.g. 0.08). Default 0.08 = midpoint of the 한국공인회계사회 가이던스 range (7~9%)'}, 'srp': {'type': 'number', 'description': '[wacc] SRP override (decimal) — bypasses 분위 판정'}, 'corp': {'type': 'string', 'description': '회사명·종목코드·corp_code. market=individual 종목 시세 (kind=market requires exactly one of corp | index | rate_series), wacc=REQUIRED (the subject company), peers=target (동업종 auto-selected). The legacy keys `code`/`stock_code` are absorbed into this argument'}, 'freq': {'enum': ['daily', 'weekly', 'monthly'], 'type': 'string', 'description': '[market] Resampling frequency of the series — daily (default)·weekly (금요일 마감)·monthly (월말). Resampled rows drop flt_rt and carry period_return_pct instead (flt_rt compounded over the bucket, %), so returns still come from that field, never from close deltas'}, 'kind': {'enum': ['market', 'wacc', 'peers'], 'type': 'string', 'description': 'What to fetch — market=시세·지수·금리 time series / wacc=WACC components + CAPM build-up / peers=동업종(KSIC) peer multiples·무차입β·자본구조. Each kind takes a different argument set; an argument that does not apply is reported as an error naming every argument that kind DOES accept, never silently ignored. An unrecognized key is rejected the same way (additionalProperties:false), so a typo surfaces instead of being dropped.'}, 'ksic': {'type': 'string', 'description': "[peers] KSIC 업종코드 given directly (instead of corp — useful for 비상장 targets). e.g. '26410'"}, 'index': {'type': 'string', 'description': '[market] 시장지수 — kospi·kosdaq (aliases such as KOSPI/코스피 accepted). Mutually exclusive with corp·rate_series'}, 'limit': {'type': 'number', 'description': '[market·peers] Return cap — market default 600 (1~3000), peers default 15 (3~50)'}, 'start': {'type': 'string', 'description': '[market] Start date YYYYMMDD·YYYY-MM-DD (default: one year before `end`). 구 `from` 도 받는다'}, 'exclude': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': '[peers] Exclusion rules — spac·reit (default)·loss(LTM 순손실)·financial(KSIC 64~66). A bare string is also accepted'}, 'kd_tenor': {'enum': ['1y', '2y', '3y', '5y', '7y', '10y'], 'type': 'string', 'description': '[wacc] Kd(타인자본비용) tenor (default 5y)'}, 'rf_tenor': {'enum': ['3y', '5y', '10y'], 'type': 'string', 'description': '[wacc] Rf(무위험이자율) tenor (default 10y)'}, 'tax_rate': {'type': 'number', 'description': '[wacc·peers] 한계법인세율 (default 0.264 = 24%×1.1)'}, 'beta_spec': {'enum': ['2w', '5m'], 'type': 'string', 'description': '[wacc] β spec — 2w=2년 주간 (default, 실무 관행), 5m=5년 월간'}, 'size_band': {'type': 'number', 'description': "[peers] Multiple range around the target's 시총 (e.g. 10 = 1/10~10x; min 2). Only honoured when corp is given"}, 'target_de': {'type': 'number', 'description': "[wacc] Target 자본구조 D/E (시가). If omitted, the snapshot's 실측 value is used"}, 'srp_scheme': {'enum': ['quintile', 'tercile', 'none'], 'type': 'string', 'description': '[wacc] 규모위험 프리미엄(SRP) 분위체계 (default quintile)'}, 'rate_series': {'enum': ['ktb1y', 'ktb2y', 'ktb3y', 'ktb5y', 'ktb10y', 'ktb20y', 'ktb30y', 'ktb50y', 'corp_aa_3y', 'corp_aa_pyeong_3y', 'corp_bbb_3y', 'cd91'], 'type': 'string', 'description': '[market] 시장금리 — ktb1y~ktb50y(국고채)·corp_aa_3y·corp_bbb_3y(회사채 3년)·cd91. Mutually exclusive with corp·index'}, 'equity_basis': {'enum': ['listed', 'outstanding', 'outstanding_plus_nci'], 'type': 'string', 'description': '[wacc] Definition of E(자기자본 시가) (default outstanding_plus_nci)'}, 'include_pref': {'type': 'boolean', 'description': '[wacc] Add 우선주 시총 into E (default true)'}, 'credit_rating': {'enum': ['AAA', 'AA+', 'AA0', 'AA-', 'A+', 'A0', 'A-', 'BBB+', 'BBB0', 'BBB-'], 'type': 'string', 'description': '[wacc] 신용등급 used to derive Kd (무보증 공모회사채, 금투협 시가평가 전 등급). Mid-notches are written with 0, NOT bare: AA0·A0·BBB0. If omitted the 정기보고서 공시등급 is picked up automatically; where none is disclosed Kd is left uncomputed rather than assumed'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year'], 'properties': {'kam': {'type': 'boolean', 'description': 'Whether 핵심감사사항(KAM) are present'}, 'year': {'anyOf': [{'type': 'integer', 'minimum': 2015, 'description': "결산 사업연도 (회계연도, fiscal year) — the number you pass IS the 사업연도=회계연도=결산연도. Do NOT subtract it; pass it as-is. Only tools where year is optional auto-select the latest published year when omitted (if year is required in the tool you are calling, it cannot be omitted — confirm the year actually used via the response `year` field).e.g. 'FY2025'·'2025년 재무제표'·'2025 사업보고서'·'2025 회계연도' → all 2025 (결산일 2025-12-31). Convert ONLY when the user explicitly names the 공시(제출)연도, as in '○○년에 공시된 보고서': a 12월 결산법인 files by the end of March of the following year.(e.g. '2026년에 공시된 사업보고서' → 2025). Otherwise the input is ALWAYS on a 사업연도=회계연도=결산연도 basis. Relative expressions ('최근 N개년'·'작년' and the like) count back from the most recent PUBLISHED 사업연도 as of today: a 사업보고서 is filed within about 90 days after 결산 (12월 결산 법인 → March of the following year), so from April the latest is last year, and in Jan~Mar it is the year before last. e.g. if today is 2026-06 the latest is FY2025 → '최근 5개년'=2021~2025 (NOT 2020~2024). Supported floor is FY2015 (the range OpenDART's structured APIs cover) — 2014 and earlier are rejected. A 비12월 결산 (3·6·9월) 법인 may have its latest 사업연도 equal to the calendar year (e.g. a 3월 결산 company from July onward)."}, {'type': 'array', 'items': {'type': 'integer', 'minimum': 2015, 'description': "결산 사업연도 (회계연도, fiscal year) — the number you pass IS the 사업연도=회계연도=결산연도. Do NOT subtract it; pass it as-is. Only tools where year is optional auto-select the latest published year when omitted (if year is required in the tool you are calling, it cannot be omitted — confirm the year actually used via the response `year` field).e.g. 'FY2025'·'2025년 재무제표'·'2025 사업보고서'·'2025 회계연도' → all 2025 (결산일 2025-12-31). Convert ONLY when the user explicitly names the 공시(제출)연도, as in '○○년에 공시된 보고서': a 12월 결산법인 files by the end of March of the following year.(e.g. '2026년에 공시된 사업보고서' → 2025). Otherwise the input is ALWAYS on a 사업연도=회계연도=결산연도 basis. Relative expressions ('최근 N개년'·'작년' and the like) count back from the most recent PUBLISHED 사업연도 as of today: a 사업보고서 is filed within about 90 days after 결산 (12월 결산 법인 → March of the following year), so from April the latest is last year, and in Jan~Mar it is the year before last. e.g. if today is 2026-06 the latest is FY2025 → '최근 5개년'=2021~2025 (NOT 2020~2024). Supported floor is FY2015 (the range OpenDART's structured APIs cover) — 2014 and earlier are rejected. A 비12월 결산 (3·6·9월) 법인 may have its latest 사업연도 equal to the calendar year (e.g. a 3월 결산 company from July onward)."}, 'maxItems': 10, 'minItems': 1}], 'description': "결산 사업연도 (회계연도, fiscal year) — the number you pass IS the 사업연도=회계연도=결산연도. Do NOT subtract it; pass it as-is. Only tools where year is optional auto-select the latest published year when omitted (if year is required in the tool you are calling, it cannot be omitted — confirm the year actually used via the response `year` field).e.g. 'FY2025'·'2025년 재무제표'·'2025 사업보고서'·'2025 회계연도' → all 2025 (결산일 2025-12-31). Convert ONLY when the user explicitly names the 공시(제출)연도, as in '○○년에 공시된 보고서': a 12월 결산법인 files by the end of March of the following year.(e.g. '2026년에 공시된 사업보고서' → 2025). Otherwise the input is ALWAYS on a 사업연도=회계연도=결산연도 basis. Relative expressions ('최근 N개년'·'작년' and the like) count back from the most recent PUBLISHED 사업연도 as of today: a 사업보고서 is filed within about 90 days after 결산 (12월 결산 법인 → March of the following year), so from April the latest is last year, and in Jan~Mar it is the year before last. e.g. if today is 2026-06 the latest is FY2025 → '최근 5개년'=2021~2025 (NOT 2020~2024). Supported floor is FY2015 (the range OpenDART's structured APIs cover) — 2014 and earlier are rejected. A 비12월 결산 (3·6·9월) 법인 may have its latest 사업연도 equal to the calendar year (e.g. a 3월 결산 company from July onward). Accepts a single year OR an array (e.g. [2024, 2025], max 10) for a multi-year query — rows then carry their own bsns_year and `coverage` returns a per-year breakdown (coverage.years[])."}, 'limit': {'type': 'integer', 'default': 200, 'maximum': 500, 'minimum': 1, 'description': 'Cap on **rows** returned (SQL LIMIT applies to rows, not companies — with the default fs_div=both a company can occupy 2 rows, so the number of distinct companies shown is smaller than this cap). When the list is cut here, truncated=true while count still reports the full row count. To count companies, dedupe companies[] by corp_code — and if truncated=true that count is a floor, not the answer: narrow the scope (market·fs_div·asset_bucket) until truncated=false.'}, 'fields': {'enum': ['full', 'brief'], 'type': 'string', 'default': 'full', 'description': 'Field width of each company row. full(default)=every field, incl. the 본문 산문 (의견근거·강조·기타·계속기업 text, KAM 제목 배열, ICFR 근거·취약점, applicability) — averages ~3,957 bytes/row. brief=list axis only, the same set as the 뷰어 스크리너 표: corp_name·corp_code·stock_code·bsns_year·market·fs_div·auditor·audit_opinion·going_concern·emphasis·other_matter·icfr{type,opinion}·kam_count·rcept_no (~318 bytes/row, 12x smaller — a whole 목록 fits in one response). Use brief for list/count asks and switch to full (or get_audit_report/get_internal_control) once a company is picked. coverage·breakdown·count·truncated are identical in both.'}, 'fs_div': {'enum': ['both', 'CFS', 'OFS'], 'type': 'string', 'description': '재무제표 구분. CFS=연결, OFS=별도 (aliases consolidated/separate·연결/별도 also accepted). 별도 and 연결 are SEPARATE rows (의견·강조·KAM·ICFR are all held per 별도/연결). both = both (up to 2 rows per company), so row count ≠ company count — dedupe by corp_code when counting companies.'}, 'market': {'enum': ['kospi', 'kosdaq', 'konex', 'all'], 'type': 'string', 'description': '시장구분. Default all = every 상장사 (유가 kospi·코스닥 kosdaq·코넥스 konex are all loaded). Uppercase (KOSDAQ) and 한글 (코스닥/유가증권/코넥스/전체) aliases accepted.'}, 'auditor': {'type': 'string', 'description': 'Partial match on 감사인명 (e.g. 삼정/한영/안진/삼일)'}, 'opinion': {'enum': ['unqualified', 'qualified', 'adverse', 'disclaimer', 'modified'], 'type': 'string', 'description': '감사의견 filter. unqualified=적정, qualified=한정, adverse=부적정, disclaimer=의견거절, modified=변형의견 (everything other than 적정: 한정/부적정/의견거절). 한글 values (적정·의견거절 etc.) also accepted.'}, 'emphasis': {'type': 'boolean', 'description': 'Presence of 강조사항(EoM)'}, 'industry': {'enum': ['financial', 'non_financial'], 'type': 'string', 'description': '업종 — financial=금융 (KSIC 64~66: 은행·보험·금융지주 etc.), non_financial=비금융. The 주석 XBRL and ICFR 운영의무 thresholds differ between them. 한글 values (금융·비금융) also accepted.'}, 'asset_bucket': {'enum': ['gte_2tn', 'gte_500bn', 'gte_100bn', 'lt_100bn'], 'type': 'string', 'description': 'Size bucket by 전기말 자산총액(별도). gte_2tn=2조이상, gte_500bn=5천억이상, gte_100bn=1천억이상, lt_100bn=1천억미만. 한글 values also accepted.'}, 'icfr_opinion': {'enum': ['adverse', 'disclaimer', 'modified'], 'type': 'string', 'description': '내부회계관리제도 의견. adverse=부적정, disclaimer=의견거절 (covers both 감사 의견거절 and 검토 검토결론 불표명 — use icfr_type to tell 감사 from 검토), modified=변형 (everything other than 적정). 한글 values also accepted.'}, 'kam_required': {'type': 'boolean', 'description': 'Whether KAM disclosure was mandatory by 규모·연도·시장 (적용시기 rules). kam=false & kam_required=true & kam_none_declared=false = suspected omission'}, 'other_matter': {'type': 'boolean', 'description': 'Presence of 기타사항(OM)'}, 'going_concern': {'type': 'boolean', 'description': '계속기업 불확실성 mentioned in the 감사보고서'}, 'xbrl_required': {'type': 'boolean', 'description': 'Whether 재무제표 주석 XBRL was mandatory for that year (적용시기 rules). Populated only after the backfill'}, 'include_reference': {'type': 'boolean', 'default': False, 'description': 'Whether to include the 적용시기 참조표 (full phase-in schedule for KAM·ICFR·XBRL 주석·자금부정통제, about 4.8KB). Each company row already carries its own verdict in the applicability field, so set true ONLY when you need the 법령 근거 text behind that verdict.'}, 'kam_none_declared': {'type': 'boolean', 'description': "Whether the 감사보고서 explicitly declares '보고할 핵심감사사항 없음'. true=declared (kam_count=0 is then normal), false=undeclared or unknown. Combine with kam_count=0 to separate a genuine suspected omission from a declared absence"}, 'icfr_material_weakness': {'type': 'boolean', 'description': 'A 내부회계관리제도 중요한 취약점 exists'}}}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'end': {'type': 'string', 'description': 'End date (defaults to today)'}, 'corp': {'type': 'string', 'description': '회사명/종목코드/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.'}, 'days': {'type': 'integer', 'maximum': 730, 'minimum': 1, 'description': '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'}, 'kind': {'enum': ['periodic', 'major', 'issuance', 'holdings', 'other', 'audit', 'fund', 'abs', 'exchange', 'ftc'], 'type': 'string', 'description': '공시유형: periodic/major/issuance/holdings/audit/other/fund/abs/exchange/ftc'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': '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.'}, 'size': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Page size (page mode)'}, 'limit': {'type': 'integer', 'default': 500, 'maximum': 3000, 'minimum': 1, 'description': 'Cap on rows finally returned in batch mode (preset given or all_pages=true)'}, 'start': {'type': 'string', 'description': '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.)'}, 'preset': {'enum': ['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'], 'type': 'string', 'description': '주요사항보고 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.'}, 'all_pages': {'type': 'boolean', 'default': False, 'description': '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.'}, 'final_only': {'type': 'boolean', 'default': False, 'description': '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.'}, 'concurrency': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1, 'description': "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."}, 'include_corrections': {'type': 'boolean', 'default': False, 'description': '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.'}}}
最近のツール変更
類似のMCPサーバー
The Stall
Provides pay-per-call tools for YouTube keyword research and research on stocks, crypto, DeFi, options, and macroeconomic data.
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
Provides point-in-time SEC EDGAR fundamentals, filings, ownership signals, financial analysis, valuation models, research reports…
equibles
Provides equity and market research tools covering SEC filings, company financials, portfolios, prices, options, macroeconomic da…
tollbooth
Provides paid OSINT, web intelligence, security threat and vulnerability lookups, prediction-market analysis, financial data, leg…
EventTrader Research (read-only)
Offers read-only research on funds, event markets, order books, arena markets, crypto pools, backtests, and related financial ana…
World Monitor
Delivers live geopolitical, conflict, country-risk, market, energy, climate, aviation, supply-chain, and macroeconomic intelligen…
Slacking.biz — SEC Financial Data + US Economics + Demographics + FX
Provides financial, economic, demographic, foreign-exchange, regulatory, and company research data from public sources.