Skip to main content
Glama

get_financials

Read-onlyIdempotent

MyDART MCP의 get_financials 도구는 매출·영업이익·순이익·자산/부채/자본 등 재무수치를 조회합니다 — 재무 질문 대부분은 이걸로 충분합니다.

[Purpose]

  • 재무제표 figures start here. corp+year = LATEST filing (정정 반영); rcept_no = that filing AS FILED (재작성 전후 대조·합산 검증 — 구 get_xbrl).

  • 사업보고서 prose: get_periodic_report; 부실징후(계속기업): get_going_concern.

[Usage]

  1. "삼성전자 2025년 매출·영업이익" → corp="삼성전자", year=2025

  2. "삼성전자와 SK하이닉스 실적 비교" → corp=["삼성전자","SK하이닉스"]

  3. "이 공시본 그대로 전체" → rcept_no="…", sj_div=["BS","IS","CIS","CF","SCE"]

[Response]

  • Row keys: sj_div, account_nm, thstrm_amount(당기)/frmtrm_*(전기)/ bfefrmtrm_*(전전기)/thstrm_add_amount(누계). Amounts are STRINGS.

  • full: total_count=pre-filter, count=post-filter. rcept_no adds validations.

[Rules]

  • Quarterly/half IS·CIS·CF rows: CUMULATIVE = thstrm_add_amount, thstrm_amount = that quarter alone (half-value trap — period_basis explains). BS rows: thstrm_amount only.

  • Cross-check the periods legend (전기/당기 off-by-one) and year_defaulted.

  • no_data is routing, not an error — follow next_step (retry is futile).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
corpNoCompany — **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.
yearNo결산 사업연도 (회계연도). 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.
scopeNosummary (default): 주요계정, 8~10 rows (fast). full: the whole 재무제표 (BS/IS/CF/CIS/SCE), hundreds~1k rows
formatNoREMOVED (구 get_xbrl) — any value is rejected. markdown/markdown_full → items[] replaces them (omit this arg); raw → discontinued.
fs_divNoWith 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.
reportNoq1/half/q3/annualannual
sj_divNoWith 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_noNo14-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.

TDQS

A4.9/5.0
Behavior5/5

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

Even though annotations already mark readOnly=true and idempotent=true, the description adds substantial behavioral context: the LATEST-versus-AS-FILED distinction, cumulatve vs single-quarter semantics, the half-value trap, fs_div auto-fallback, and the fact that no_data is routing not an error. No contradiction with annotations.

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 well-structured with Purpose/Usage/Response/Rules sections, and the density of information is justified for an 8-parameter financial tool. It is front-loaded with the most important 'start here' message, though the length slightly exceeds true minimalism.

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?

For a tool with 8 parameters, 3 enums, no output schema, and several subtle period/consolidation behaviors, the description covers invocation, response meaning, edge cases, and routing. Nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is 100%, but the description also enriches every key parameter: corp accepts singe/array/comma-list and explains the multi-company drop; year explains auto-defaulting and year_defaulted; scope explains row counts; rcept_no explains exclusivity and the AS-FILED behavior. This is value well beyond the schema.

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?

The description opens with a specific verb and resource: it 조회계 data for 매출·영업이익·순이익·자산/부채/자본. It also distinguishes itself from sibling tools (get_periodic_report, get_going_concern, legacy get_xbrl), so an agent can tell exactly what this tool is for.

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?

Usage guidance is explicit and actionable: it states that most financial questions are answered here, gives concrete query examples mapping natural language to parameters, and names alternatives for prose reports and going-concern signals. It also clarifies when to use rcept_no vs corp+year and warns about pointless retries on no_data.

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