Skip to main content
Glama

get_periodic_report

Read-onlyIdempotent

MyDART MCP의 get_periodic_report 도구는 사업보고서 세부 섹션 28종을 정형 데이터로 조회합니다 — 한 섹션 또는 여러 섹션 동시.

[Purpose]

  • Section tables: 배당·자기주식·최대주주·소액주주·임원보수·회계감사인·회사채 미상환 등.

  • 재무제표 figures: get_financials. auditor_opinion is one word — KAM·내부회계·강조사항: get_audit_profile / get_audit_report.

[Usage]

  1. "삼성전자 2025년 배당 내역" → corp="삼성전자", year=2025, report_type="dividends"

  2. "카카오 최대주주가 누구야" → corp="카카오", report_type="shareholders" (year 생략 = 최신)

[Response]

  • Amounts are STRINGS. Section status: 000 성공 / 013 무자료.

  • periods legend maps 당기/전기/전전기 → fiscal years — cite 기수 only after reading it.

[Rules]

  • Non-December closer: apply fiscal_year_note — one year off vs the audit tools.

  • ARRAY: per-element status (success·013·error mix); all-013 flips to { mode:"no_data", … }.

  • Listed [013] ≈ legitimate absence (no 배당·자기주식, no eligible 개인별 보수), not failure.

  • 개인별 보수 2종은 2026-05 서식 개정으로 구판↔V2 이원 — 도구가 자동 라우팅(endpoint· compensation_format 표시). V2 는 1인당 3행(당기·전기·전전기)이라 합계는 fscl_year="당기"만, 주식기준보상 세부는 stk_bsd_cmpn.

Input Schema

NameRequiredDescriptionDefault
corpYes회사명/종목코드/corp_code
yearNo결산 사업연도 (회계연도, not the filing year) — one per call. Omitted → latest published 사업연도 by 결산월·report (year_defaulted=true).
reportNo1Q·반기·3Q·연차annual
max_itemsNoRow cap per section; excess cut → truncated=true, total_count = full row count.
report_typeYesSection — string or array (array → sections[]). Families in enum order: 주주 4 (largest_shareholder…) / 임직원 3 (executives…) / 보수 6 (executive_compensation_*…) / 회계감사 3 (auditor_opinion…) / 자본 3 (dividends·treasury_stock…) / 자금사용 2 (*_fund_use) / 타법인출자 1 = other_company_investment (incl. 종속·관계기업 지분) / 채무증권 6 (debt_securities_issuance·*_unredeemed). Group aliases: 'shareholders' (주주 4), 'executive_compensation' (보수 6).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / max_items / description
      Previous value: -"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 임원현황·타법인출자·채무증권."New value: +"Row cap per section; excess cut → truncated=true, total_count = full row count."
    • changedInput schema / properties / report / description
      Previous value: -"Report type"New value: +"1Q·반기·3Q·연차"
    • changedInput schema / properties / report_type / description
      Previous value: -"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)."New value: +"Section — string or array (array → sections[]). Families in enum order: 주주 4 (largest_shareholder…) / 임직원 3 (executives…) / 보수 6 (executive_compensation_*…) / 회계감사 3 (auditor_opinion…) / 자본 3 (dividends·treasury_stock…) / 자금사용 2 (*_fund_use) / 타법인출자 1 = other_company_investment (incl. 종속·관계기업 지분) / 채무증권 6 (debt_securities_issuance·*_unredeemed). Group aliases: 'shareholders' (주주 4), 'executive_compensation' (보수 6)."
    • changedInput schema / properties / year / description
      Previous value: -"결산 사업연도 (회계연도) — 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."New value: +"결산 사업연도 (회계연도, not the filing year) — one per call. Omitted → latest published 사업연도 by 결산월·report (year_defaulted=true)."
  2. Changed3 schema fields changed
    • changedInput schema / properties / max_items / description
      Previous value: -"Cap on rows returned per section (default 150). The excess is cut and flagged via truncated/total_count — this keeps responses from bloating on row-heavy, prose-heavy sections such as 임원현황·타법인출자·채무증권."New value: +"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 임원현황·타법인출자·채무증권."
    • changedInput schema / properties / report_type / description
      Previous value: -"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 are accepted too — 'shareholders' (주주 4) and 'executive_compensation' (보수 6)."New value: +"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)."
    • changedInput schema / properties / year / description
      Previous value: -"결산 사업연도 (회계연도). 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."New value: +"결산 사업연도 (회계연도) — 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."
  3. Changed4 schema fields changed
    • changedInput schema / properties / max_items / description
      Previous value: -"섹션당 반환 행 상한(기본 150). 초과분은 잘리고 truncated/total_count 로 표기됩니다 — 임원현황·타법인출자·채무증권처럼 행이 많고 서술이 긴 섹션에서 응답이 비대해지는 것을 막습니다."New value: +"Cap on rows returned per section (default 150). The excess is cut and flagged via truncated/total_count — this keeps responses from bloating on row-heavy, prose-heavy sections such as 임원현황·타법인출자·채무증권."
    • addedInput schema / properties / report / description
      Added value: +"Report type"
    • changedInput schema / properties / report_type / description
      Previous value: -"섹션 28종 — **문자열 하나 또는 배열**(배열이면 병렬 수집해 sections[] 로 반환). 분류: 주주 4종(largest_shareholder 등) / 임직원 3종(executives 등) / 보수 6종(executive_compensation_* 등) / 회계감사 3종(auditor_opinion 등) / 자본 3종(dividends·treasury_stock 등) / 자금사용 2종(*_fund_use) / 타법인출자 1종 / 채무증권 6종(*_unredeemed 등). 정확한 값 이름은 enum 목록 참조(이름이 곧 의미). 묶음 별칭도 받는다 — 'shareholders'(주주 4종)·'executive_compensation'(보수 6종)."New value: +"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 are accepted too — 'shareholders' (주주 4) and 'executive_compensation' (보수 6)."
    • changedInput schema / properties / year / description
      Previous value: -"결산 사업연도(회계연도). 생략하면 결산월(acc_mt)·보고서 종류 기준 가장 최근 '공시된' 연도로 자동 지정합니다. 응답의 year/year_defaulted 로 실제 사용 연도를 확인하세요."New value: +"결산 사업연도 (회계연도). 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."
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial behavior beyond that: amounts returned as STRINGS, status codes (000 성공 / 013 무자료), per-element ARRAY status with all-013 flipping to mode:'no_data', [013] as legitimate absence rather than failure, fiscal_year_note offset for non-December closers, and automatic 구판↔V2 routing for the 개인별 보수 sections.

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?

Clearly sectioned into [Purpose]/[Usage]/[Response]/[Rules] with the core purpose front-loaded, so an agent can stop reading early. The density of edge-case rules makes it longer than ideal, but nearly every line carries operational value rather than filler.

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?

There is no output schema, so the description must carry return-value semantics — and it does: status codes, periods legend mapping 당기/전기/전전기 to fiscal years, the no_data mode shape, truncation signaling, and the V2 three-row-per-person compensation caveat. Complete for a 28-section, 5-parameter tool.

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; the description nonetheless adds value by grouping the 28 report_type values into families, naming the group aliases 'shareholders' and 'executive_compensation', and explaining the year-defaulting behavior and fiscal_year_note interplay. It stops short of documenting max_items/truncation in prose, which the schema already handles.

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 (사업보고서 세부 섹션 28종), including scope (single or multiple sections), and explicitly delineates against siblings by naming get_financials for 재무제표 figures and get_audit_profile/get_audit_report for auditor opinion. An agent can distinguish this tool without opening any schema.

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?

Provides two concrete worked examples mapping natural-language queries to arguments, states the year-omission default (최신), and routes agents to alternative tools for adjacent data (재무제표 → get_financials, KAM·내부회계 → get_audit_profile). When-to-use and when-to-use-something-else are both explicit.

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