Skip to main content
Glama

FinBridge

Korean Disclosure Filings (DART)

get_dart_filings
Read-only

List corporate disclosure filings from DART, optionally filtered by company, date range, and disclosure type. Report names are in Korean.

Not this tool for: US filings (get_edgar_filings), a cross-market feed already stored here (get_disclosure_feed), or major-event reports specifically (get_dart_major_events, a narrower slice of this one).

Args:

  • corp: optional — Company: Korean name (e.g. '삼성전자'), 6-digit stock code (e.g. '005930'), or 8-digit DART corp_code (e.g. '00126380'). Omit for a market-wide list.

  • from / to: YYYY-MM-DD (default: last 90 days)

  • type: DART pblntf_ty — A=periodic reports(정기공시), B=major events(주요사항보고), C=securities issuance(발행공시), D=ownership/stake(지분공시), E=other(기타공시), F=external audit(외부감사관련), G=funds(펀드공시), H=asset securitization(자산유동화), I=KRX disclosures(거래소공시), J=fair trade(공정위공시)

  • limit: results per page, 1-100 (default 20); page: page number (default 1)

Returns: {total, page, filings: [{rcept_no, corp_name, report_nm, flr_nm, rcept_dt, url}]} — url opens the filing in the DART viewer. Pass rcept_no to get_dart_document to explore its primary body by outline, section, or table.

Examples:

  • {corp: '삼성전자'} -> Samsung filings in the last 90 days

  • {type: 'A', from: '2026-03-01', to: '2026-03-31'} -> March periodic reports market-wide

Use to track what a company disclosed. For major events with keyword filtering use get_dart_major_events. Errors: no filings in range (DART status 013) -> widen dates or drop filters; unknown company -> search_dart_company.

Input Schema

NameRequiredDescriptionDefault
toNoEnd date YYYY-MM-DD (default: today)
corpNoOptional filter — Company: Korean name (e.g. '삼성전자'), 6-digit stock code (e.g. '005930'), or 8-digit DART corp_code (e.g. '00126380')
fromNoStart date YYYY-MM-DD (default: 90 days ago)
pageNoPage number (default 1)
typeNoDisclosure type: A=periodic, B=major events, C=issuance, D=ownership, E=other, F=audit, G=funds, H=asset-backed, I=KRX, J=fair-trade
freshNofalse (default): answer from FinBridge's DART filings index (refreshed every 5 minutes) for the part of the window it covers, and ask DART live only for the uncovered remainder (saves DART's daily quota). true: ask DART directly for the whole window; on daily-quota exhaustion (020), falls back to the index for whatever it covers and says what could not be refreshed.
limitNoResults per page, 1-100 (default 20)

Output Schema

NameRequiredDescriptionDefault
noteNo
pageNo
totalNo
filingsYes
sourcesNo
uncoveredNo
data_as_ofNo
index_as_ofNo
served_fromNo
quota_fallbackNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / data_as_of
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "properties": {},
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  2. Changed7 schema fields changed
    • changedInput schema / properties / fresh / description
      Previous value: -"false (default): answer from FinBridge's DART filings index (refreshed every 5 minutes) when it covers the window, DART otherwise. true: ask DART directly."New value: +"false (default): answer from FinBridge's DART filings index (refreshed every 5 minutes) for the part of the window it covers, and ask DART live only for the uncovered remainder (saves DART's daily quota). true: ask DART directly for the whole window; on daily-quota exhaustion (020), falls back to the index for whatever it covers and says what could not be refreshed."
    • addedOutput schema / properties / index_as_of
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / quota_fallback
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / served_from
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / sources
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {},
      +  "type": "object"
      +}
    • addedOutput schema / properties / uncovered
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "properties": {},
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / fresh
      Added value: +{
      +  "default": false,
      +  "description": "false (default): answer from FinBridge's DART filings index (refreshed every 5 minutes) when it covers the window, DART otherwise. true: ask DART directly.",
      +  "type": "boolean"
      +}
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/non-destructive, and the description adds substantially beyond them: Korean-language report names, the default 90-day window, pagination shape, DART status codes (013, 020), quota behavior via the index-vs-live freshness model, and the rcept_no handoff to get_dart_document. This is behavioral context an agent could not infer from the 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?

Well front-loaded and sectioned (exclusions, args, returns, examples, errors), and nearly every line adds information. There is mild redundancy: get_dart_major_events is disclaimed twice and the error recovery line partly repeats the filtering guidance.

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 7-param, open-world, paginated read tool, the description covers filtering, defaults, pagination, return shape, next-step chaining, and failure recovery. An output schema exists, yet the inline Returns block still tells the agent the key field (rcept_no) and what to do with it.

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 baseline is 3; the description earns above that by decoding the type enum with Korean source labels (정기공시, 지분공시, etc.) and giving the three accepted corp identifier formats with examples. Minor deduction: the Args list omits the `fresh` parameter entirely, even though it materially changes freshness/quota behavior.

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+resource+scope: 'List corporate disclosure filings from DART, optionally filtered by company, date range, and disclosure type.' It then explicitly names three siblings it is NOT (get_edgar_filings, get_disclosure_feed, get_dart_major_events), so the agent can route 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?

Gives explicit exclusions with the correct alternate tool for each case, two concrete invocation examples with expected outcomes, and a closing use-case line ('Use to track what a company disclosed'). It also routes failure modes: status 013 -> widen dates/drop filters, unknown company -> search_dart_company.

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.