Skip to main content
Glama

download_document

Read-onlyIdempotent

MyDART MCP의 download_document 도구는 공시 원문을 마크다운으로 읽고 검색합니다(heading·표 구조 보존). 사업보고서 ZIP 안의 감사보고서 선택 포함.

[Purpose]

  • Full disclosure text; audit analysis (감사의견·KAM): get_audit_report.

  • 비상장 non-filers: the F 감사보고서 rcept IS the route to 재무제표·주석.

  • HWP·PDF attachments·sibling docs (정관·내부회계 운영실태보고서): get_attachments. XBRL: get_financials(rcept_no).

[Usage]

  1. "이 사업보고서 원문 읽어줘" → rcept_no="20260310002820"

  2. "연결 감사보고서 본문" → documents[].role=consolidated_audit → doc_index

  3. "본문이 잘렸어, 전체로" → truncate_at=2000000

  4. "원문에서 횡령 찾아줘" → find="횡령"

[Response]

  • role: main_body / separate_audit / consolidated_audit / internal_control

  • documents[]: metadata only — content ONLY with all_docs=true

[Rules]

  • A 사업보고서 ZIP holds MULTIPLE docs — 감사의견·KAM·내부회계 live in the 별도(_00760)/연결(_00761) sub-docs, not index 0: check documents[].role first.

  • find returns 표 단위 발췌 for EVERY doc in the ZIP, not content. 0 matches ≠ absent — 스캔 이미지 표는 get_attachments(mode=images).

  • If truncated=true, raise truncate_at (compare char_count).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
findNoFull-text search over EVERY 원문 XML in the ZIP (본문+별도/연결 감사보고서). Returns `find` (표 단위 발췌 bundles + 나머지 매치 위치 locations) INSTEAD of content — 전문을 나르지 않는다. Case-insensitive, 리터럴 매칭(정규식 아님 — `(주)카카오` 를 그대로 넣어도 된다). 0건이면 표기를 자간 띄운 형태(`핵 심 감 사 사 항`)로 한 번 더 찾는다. doc_index 를 함께 주면 그 문서 하나로 좁힌다(범위 밖이면 좁히지 않고 전 문서를 검색하고 notes 로 알린다 — 전문 조회의 index-0 폴백과 다르다: 잘못된 index 로 좁히면 답이 있는데 0건이 나간다). format=markdown 에서만 쓸 수 있다.
formatNoOutput format. markdown=DART XML → 마크다운, raw=original XML, text=tags stripped (table structure is lost)markdown
all_docsNoConvert every 원문 XML in the ZIP and return them as documents[] — the 사업보고서 본문 plus 별도/연결 감사보고서 in one call.
rcept_noYes14-digit 접수번호 (the rcept_no from search_disclosures). Hyphens and spaces are stripped.
doc_indexNoSelects 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_atNoMax 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_bytesNo발췌 본문 합계의 UTF-8 **바이트** 상한 (기본 12,000). 문자수가 아니라 바이트인 이유: 한글은 자당 3바이트라 '12,000자' 로 재면 응답이 36,000B 가 된다(실측). 단일 발췌가 이 값을 넘으면 표 행 단위로 잘리고 clipped=true 가 붙는다(제목행·구분행은 보존).
find_max_bundlesNoMax 발췌 bundles (기본 5). 나머지 매치는 locations 로 위치만 나열된다. 바이트 예산(find_max_bytes)이 먼저 차면 이 수에 못 미칠 수 있다.

TDQS

A4.8/5.0
Behavior5/5

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

Beyond readOnlyHint/destructiveHint annotations, the description discloses non-obvious behavior: a ZIP contains multiple documents and audit sub-docs are not index 0, all_docs=true is required for content, find returns excerpts rather than full text, out-of-range doc_index silently falls back, and truncation clamps. These caveats materially affect how an agent interprets results.

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?

The description is long but organized into Purpose/Usage/Response/Rules with dense, front-loaded information. A few statements overlap with schema descriptions, but the structure keeps the length justified for an 8-parameter tool with no output schema.

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?

Given no output schema, it provides the response roles, the metadata-only behavior of documents[], the truncation signal, and the find-result semantics including excerpts, locations, byte budgets, and clipped flag. It also covers failure/fallback notes, making the tool callable correctly by an agent without needing to guess.

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 strong; the description adds value with query-to-parameter examples, role→doc_index selection, and cross-parameter caveats such as find ignoring truncate_at and all_docs dividing the budget. It does not need to restate schema details because those are already complete.

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?

Opens with a clear verb+resource statement: reads and searches disclosure full text in markdown while preserving headings/tables, and explicitly includes choosing the audit report inside a business-report ZIP. It names sibling tools like get_audit_report, get_attachments, and get_financials so an agent can distinguish this full-text reader from report-specific tools.

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?

Has a dedicated Purpose section routing each alternative: audit opinions/KAM → get_audit_report, HWP/PDF attachments → get_attachments, XBRL → get_financials. Usage examples translate natural-language requests into concrete parameter values, and Rules state when not to rely on this tool (scanned-image tables → get_attachments(mode=images)).

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.

TDQS

A4.7/5.0
Disambiguation5/5

Every tool targets a distinct aspect of the DART disclosure domain: full text, attachments, financial figures, audit facts, audit narrative, ICFR, going concern, company profile, events, periodic report sections, XBRL, valuation, usage stats, and two search entry points. Overlaps are resolved by explicit cross-references and clear purpose statements (e.g., get_audit_profile vs get_audit_report vs get_internal_control). No ambiguity remains.

Naming Consistency5/5

All 16 tools follow a consistent snake_case verb_noun pattern, with get_ for data retrieval, search_ for list queries, find_ for ID resolution, and download_ for the one document fetch. There is no mixing of camelCase, action words, or stylistic inconsistency. The pattern is immediately predictable.

Tool Count5/5

16 tools is slightly above the typical 3–15 range but fully justified by the breadth of DART (Korea's electronic disclosure system) – covering company lookup, filings, financials, audit reports, internal control, going concern, events, periodic reports, attachments, XBRL, valuation, and usage stats. Each tool address a distinct functional need, and no tool feels redundant or extraneous. The scope is comprehensive yet not bloated.

Completeness5/5

The tool surface covers the full lifecycle of disclosure data access: finding entities (find_corp_code), locating filings (search_disclosures), retrieving financials (get_financials, get_xbrl), reading full text (download_document), fetching attachments (get_attachments), and drilling into audit-related details (get_audit_profile, get_audit_report, get_internal_control, get_going_concern). Periodic report sections (28 types) and corporate events cover governance and capital changes. No obvious dead ends or missing critical operations for a read-only disclosure access server.

Resources