Skip to main content
Glama

get_internal_control

Read-onlyIdempotent

MyDART MCP의 get_internal_control 도구는 '감사인'의 내부회계관리제도(ICFR) 감사/검토 보고서를 조회합니다 — 구분·의견·중요한 취약점 여부.

[Purpose]

  • ICFR 의견·취약점 vs 재무제표 감사의견; 취약점 lists: search_audit_findings.

  • 자금부정통제·경영진 내부회계관리제도 운영실태보고서: not here → get_attachments (사업보고서 rcept, mode=list→dcm_no→mode=text, scans=images; no rcept: search_disclosures preset='annual_report').

  • Structured facts: get_audit_profile; full text: get_audit_report.

[Usage]

  1. "카카오페이 2024 내부회계 의견" → corp="카카오페이", year=2024

  2. "연결 기준만" → corp="…", year=2024, fs_div="CFS"

[Response]

  • opinion domain: 적정/부적정/의견거절 — NO '한정'. 검토(review_or_audit)의 의견거절 = 범위제한에 따른 검토결론 불표명.

[Rules]

  • reports is an ARRAY — both gives up to 2 entries (연결·별도).

  • present=false is usually out-of-scope (read the note), not missing data; an empty CFS entry is normal.

  • Never conflate a review's 의견거절 with an audit's — check review_or_audit.

  • 자금부정통제 (FY2025~ mandatory, FY2024 optional)·시정계획 = 경영진 운영실태보고서 — see management_operation_report.steps (applicable=false = F 단독공시: no report exists).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
corpYes회사명/종목코드/corp_code
yearYes결산 사업연도 (회계연도, 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_divNoboth (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.
refreshNoBypass the cache and re-collect

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/idempotentHint/openWorldHint/destructiveHint=false, so the safety profile is covered. The description adds substantial behavior beyond that: response opinion domain (적정/부적정/의견거절, explicitly NO '한정'), that a review's 의견거절 means a scope-limited conclusion non-statement, that reports is an ARRAY yielding up to 2 entries, that present=false is usually out-of-scope not missing data, and a warning never to conflate review vs audit 의견거절. Rich behavioral context on top of good 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?

Purpose is front-loaded in the first sentence, and the [Purpose]/[Usage]/[Response]/[Rules] section headers make a dense document scannable. Every section earns its place for a complex domain. It is long and somewhat dense — the deep reference to management_operation_report.steps and the applicable=false note could be trimmed — but it is organized efficiently rather than padded.

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, and the domain is complex (연결 vs 별도, review vs audit, 의견거절 vs 한정, present=false, applicable=false). The description carries the full burden of response semantics and does so completely: opinion domain, array behavior, empty-CFS-is-normal, and the review/audit conflation warning. Nothing an agent needs to invoke and interpret the tool correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% and the schema itself is extremely thorough (year's fiscal-year conversion rules and floor, fs_div's CFS/OFS fallback semantics). The description adds marginal value via usage examples (corp/year mapping, fs_div='CFS' for 연결 기준만) but does not substantially expand parameter meaning beyond the schema, which already does the heavy lifting. Baseline 3 is appropriate.

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?

Opening sentence states a specific verb+resource: it queries the 'auditor's' ICFR audit/review reports (구분·의견·중요한 취약점 여부). It explicitly differentiates from siblings, routing 취약점 lists to search_audit_findings, 자금부정통제/운영실태 reports to get_attachments, structured facts to get_audit_profile, and full text to get_audit_report. An agent can tell exactly what this tool is and is not.

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 when/when-not guidance: 'not here → get_attachments', 'Structured facts: get_audit_profile', 'full text: get_audit_report'. Two concrete usage examples map natural-language queries to parameters (corp='카카오페이', year=2024; '연결 기준만' → fs_div='CFS'). The Rules section adds interpretation guardrails (present=false semantics, review/audit distinction) that dictate correct use.

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