open-proxy-mcp
OpenProxy MCP is a server that connects AI assistants to Korean DART filings, enabling corporate analysis, financial deep-dives, and vote decision support with cited evidence.
๐ Company lookup: identify a company by name/ticker and list its recent filings.
๐ Financial analysis: pull confirmed/provisional/estimated earnings, analyze profitability, cash flow, DuPont, and accounting risks.
๐น Valuation & market data: PER/PBR, dividend yield, forward estimates, market/sector comparisons, and valuation history.
๐ณ๏ธ Shareholder meeting & proxy voting: read meeting notices, predict or review voting outcomes, and get FOR/AGAINST/REVIEW recommendations with legal/policy rationale.
๐ญ Business structure: segment revenue, production/utilisation, R&D, backlog, customers, and asset/NAV analysis.
๐งญ Ownership & shareholder returns: ownership structure, dividend history, treasury share buybacks/cancellations, and value-up commitments vs. actual execution.
โ๏ธ Deals & risks: track M&A/restructuring, dilutive issuances, contracts/orders, control contests, litigation, and risk events like accidents or embezzlement.
๐ Market-wide screening: create a daily disclosure digest, filter by type/universe, and spot unusual filing activity.
๐ Evidence & law lookup: trace every figure to its original filing, get DART viewer links, and look up statutory provisions related to articles of incorporation.
Integrates with DART OpenAPI to fetch and structure Korean corporate disclosure data including shareholder meeting notices, business reports, and major shareholder disclosures for governance analysis.
Uses Naver News API to search for negative news about corporate director candidates and Naver Finance for stock prices, industry names, and dividend market data through web crawling.
OpenProxy MCP
Why OpenProxy?
Governance risk lies at the heart of the "Korea Discount." As passive investing grows and the meaning of stock ownership becomes diluted, this risk is becoming even more apparent. While it is essential to have easy access to governance information and the ability to analyze it quickly, most people lack the time and expertise to read and interpret hundreds of pages of original disclosure documents.
OpenProxy breaks down this barrier with AI. By transforming DART disclosures into structured data, we have made it possible for anyone to perform comprehensive governance analysisโfrom ownership structures and dividend history to shareholder meeting agendas and management disputesโin just a few seconds.

Related MCP server: OpenDART MCP Server
Quick Start
Step 0: Verify Claude Subscription (Required)
MCP connectors are only available to Claude Pro, Max, and Teams subscribers. Please check your subscription status at claude.ai.
Step 1: Obtain DART API Key (Required)
All data in OpenProxy is sourced from the DART OpenAPI. You must have your own API key to use it.
Visit DART OpenAPI -> Sign up
Apply for an authentication key -> Issued (Free, issued immediately)
Step 2: Connection
Once you have your API key, choose one of the two methods below.
Method A: Remote Server (Takes 30 seconds, no installation required)
Connect by appending your issued DART API key to the end of the URL. The key is used only on the server and is not exposed to the AI.
claude.ai Web:
Go to claude.ai -> Settings -> Connectors
Select "Add Custom Connector"
Name:
open-proxy-mcp, Enter URL:
https://open-proxy-mcp.fly.dev/mcp?opendart=๋ฐ๊ธ๋ฐ์_ํคClick "Add" -> 12 tools will be automatically recognized.
Configure the added connector -> Select "Always Allow" under permissions (this allows tools to run automatically without needing approval every time).
Note: If tools are added or changed, it may take some time for the connector MCP server to update. If you delete and reconnect the connector, the latest tools will be reflected immediately. After reconnecting, please open a new chat to try again.
Usage Example
Once connected, you can ask questions in natural language:
"์ผ์ฑ์ ์ ์ฃผ์ฃผ์ดํ ์๊ฑด ๋ถ์ํด์ค"
"KB๊ธ์ต ์ฌ์ธ์ด์ฌ ํ๋ณด ๋
๋ฆฝ์ฑ ๊ฒํ ํด์ค"
"ํ๋์ฐจ ๋ณด์ํ๋ ์ ์ ์ฑ ํ๋จํด์ค"
"์ผ์ฑ์ ์ ์ง๋ถ ๊ตฌ์กฐ ๋ณด์ฌ์ค"
"SKํ์ด๋์ค ๋ฐฐ๋น ์ถ์ด ์๋ ค์ค"
"๊ณ ๋ ค์์ฐ ๊ฒฝ์๊ถ ๋ถ์ ๋ถ์ํด์ค"
"์ต๊ทผ 30์ผ ์์ฌ์ฃผ ์๊ฐ ๊ฒฐ์ ํ KOSPI ๊ธฐ์
์ฐพ์์ค"
"์ต๊ทผ 60์ผ ์์์ฃผ์ด ์์งํ ๊ธฐ์
๋ฆฌ์คํธ์
ํด์ค"Please note that OpenProxy does not currently analyze DART financial metrics (updates coming soon).
Tool Structure (12)
The 12 tools are divided into three stages: Discovery โ Data Tab โ Output Generation.
company # ๊ธฐ์
์ง์
์ โ 1๊ฐ ๊ธฐ์
์๋ณ + ์ต๊ทผ ๊ณต์ ์ธ๋ฑ์ค
โ
โโ Discovery Tool (1)
โ โโ screen_events # ์ด๋ฒคํธ๋ก ๊ธฐ์
์ฐพ๊ธฐ (14์ข
event_type, KOSPI+KOSDAQ)
โ
โโ Data Tools (7)
โ โโ shareholder_meeting # ์ฃผ์ด (์๊ฑด / ์ด์ฌํ๋ณด / ๋ณด์ํ๋ / ๊ฒฐ๊ณผ)
โ โโ ownership_structure # ์ง๋ถ ๊ตฌ์กฐ (์ต๋์ฃผ์ฃผ / 5% ๋ธ๋ก / ์์ฌ์ฃผ / ๋ณ๋์ ๊ณ ์)
โ โโ dividend # ๋ฐฐ๋น ์ฌ์ค (DPS / ๋ฐฐ๋น์ฑํฅ / ์ถ์ด)
โ โโ treasury_share # ์์ฌ์ฃผ ์ด๋ฒคํธ (์ทจ๋ / ์ฒ๋ถ / ์๊ฐ / ์ ํ)
โ โโ proxy_contest # ๊ฒฝ์๊ถ ๋ถ์ (์์์ฅ / ์์ก / 5% ์๊ทธ๋)
โ โโ value_up # ๋ฐธ๋ฅ์
๊ณํ (์ฝ์ / ์ดํํํฉ)
โ โโ evidence # ๊ณต์ ์๋ฌธ ๋งํฌ (rcept_no โ viewer_url)
โ
โโ Action Tools (3)
โโ prepare_vote_brief # ์๊ฒฐ๊ถ ํ์ฌ ๋ฉ๋ชจ
โโ prepare_engagement_case # ์ฃผ์ฃผ๊ด์ฌ ์ผ์ด์ค ๋ฉ๋ชจ
โโ build_campaign_brief # ์บ ํ์ธ ๋ธ๋ฆฌํThere are two usage patterns:
ํจํด A (๊ธฐ์
โ ๋ถ์): company๋ก ์์ โ ๋ฐ์ดํฐ ํญ์ผ๋ก ์ฌ์ค ํ์ธ โ action tool๋ก ๊ฒฐ๊ณผ๋ฌผ ์์ฑ
ํจํด B (์ด๋ฒคํธ โ ๊ธฐ์
): screen_events๋ก ์ต๊ทผ ์ด๋ฒคํธ ๋ธ ๊ธฐ์
์ฐพ๊ธฐ โ ๊ฐ ๊ธฐ์
drill-downEvents supported by screen_events (14 types)
Category | event_type |
Shareholder Meeting |
|
Equity |
|
Treasury Stock |
|
Disputes |
|
Value-up |
|
Dividends |
|
The default lookup period is the last 30 days, and the market is KOSPI+KOSDAQ. Each row in the results includes a link to the original DART disclosure viewer.
Summary by Domain
Domain | Description | Tool Count |
Discovery | Event โ Reverse lookup by company | 1 |
Company | Company identification + recent disclosure index | 1 |
Meeting | Agendas, director candidates, compensation limits, articles of incorporation, results | 1 |
Equity | Major shareholders, large holdings, treasury stock, control map, change filings | 1 |
Dividend | Actual dividend facts, DPS, payout ratio, trends | 1 |
Treasury | Acquisition, disposal, retirement, trust events | 1 |
Dispute | Proxy solicitation, litigation, 5% signals | 1 |
Value-up | Corporate value enhancement plans, implementation status | 1 |
Evidence | Links to original disclosure documents | 1 |
Action | Voting memos, shareholder engagement cases, campaign briefs | 3 |
Total | 12 |
Voting Decision Support
When you request a voting decision for a shareholder meeting agenda, it provides FOR/AGAINST/REVIEW opinions based on the following criteria:
Agenda Type | FOR | AGAINST | REVIEW |
Financial Statements | Unqualified opinion | Qualified/Adverse | Extreme payout ratio |
Director Appointment | Meets independence | Lacks independence | 3+ concurrent positions, negative news |
Compensation Limit | Appropriate usage rate | Usage < 30% but increase | 50%+ significant increase |
Articles Amendment | Reflects law (formal) | Excludes cumulative voting | Reduction in board size |
Treasury Stock | For retirement | For management defense | Foundation contribution |
Dividend | Above industry avg | Profit up but DPS down | Dividend cut |
Data Sources
Source | Purpose | Note |
Meeting notices, business reports, large holding disclosures | Required (Free API key) | |
Shareholder meeting voting results | Web crawling | |
Search for negative news on candidates | Optional (Free API key) | |
Stock price, industry name, dividend quotes | Web crawling |
Project Structure
open-proxy-mcp/
open_proxy_mcp/
server.py # FastMCP ์๋ฒ (stdio + HTTP)
tools_v2/ # 12๊ฐ tool
services/ # ๋๋ฉ์ธ๋ณ ๋ถ์ ๋ก์ง (tool๊ณผ ๋ถ๋ฆฌ)
dart/client.py # DART API + KIND ํฌ๋กค๋ง + ๋ค์ด๋ฒ + rate limiter
Dockerfile # Fly.io ๋ฐฐํฌ์ฉ ์ปจํ
์ด๋
fly.toml # Fly.io ์ค์ (nrt ๋ฆฌ์ , auto-suspend)
wiki/ # ๋๋ฉ์ธ ์ง์ ์ํคDisclaimer
OpenProxy is a tool that structures DART disclosure data for AI. AI can hallucinate and may provide inaccurate analysis. Opinions provided by the AI are not the opinions of the developer or the developer's organization. Analysis results are for reference only; please ensure you review original disclosures and consult experts for final investment decisions or voting actions.
License
CC BY-NC 4.0 -- Non-commercial use only.
Please cite the source when using the code and data from this project. It cannot be used for commercial purposes.
Available Tools
16 toolsbusiness_detailsA
desc: DART ์ ๊ธฐ๋ณด๊ณ ์ **"II. ์ฌ์
์ ๋ด์ฉ"**์์ ์ฌ์
๋ถ๋ฌธ๋ณ ๋งค์ถยท์์
์ด์ต, ์ฌ์
์ฅยท์์ฐ์ค๋น, ์์ฐ์ค์ ยท๊ฐ๋๋ฅ , ์ฐ๊ตฌ๊ฐ๋ฐ, ์์ฃผํํฉ, ์ฃผ์ ๊ณ ๊ฐยท๋งค์ถ์ฒ๋ฅผ ์ถ์ถ. SOTPยท๋ถ๋ฌธ ์์ต์ฑยท์์ฐ๋ฅ๋ ฅยท์์ฃผยท๊ณ ๊ฐ์ง์ค ๋ถ์์ 1์ฐจ ์์ค.
when: ํ์ฌ์ ์ฌ์
๋ถ๋ฌธยท์์ฐยท์์ฃผยท๊ณ ๊ฐ ๊ตฌ์กฐ๊ฐ ํ์ํ ๋. ์ ์ฌ ์ฌ๋ฌด๋ financial_metrics, ๋ฐธ๋ฅ๋ valuation. ๊ธ์ต/์ฆ๊ถ/๋ณดํ/์ง์ฃผ๋ financial_opsยทfinancial_soundness, REIT/๋ณดํ์ investment_property ๋ก ์ปค๋ฒ(segments ๋์ ). ์ฌ๋ฌ ๋ถ๊ธฐ/์ฐ๋ ์ถ์ด๊ฐ ํ์ํ๋ฉด bsns_year+reprt_code๋ฅผ ์ง์ ํด ๊ณผ๊ฑฐ ์์ ์ ํ๋์ฉ ๋ฐ๋ณต ํธ์ถ.
rule: segments๋ ์ ํโ์ ์ ๋ขฐ ์ ์๋ฌธ ๋งํฌ๋ค์ด. ๋๋จธ์ง ํ๋๋ ํด๋น ์์ ์๋ฌธ์ ๋งํฌ๋ค์ด์ผ๋ก ๋ฐํ โ ๊ทธ ํ๋ฅผ ์ฝ์ด ๊ฐ ์ถ์ถ(๋จ์ยท์ ์ ํ์ฌ๋ณ ์์ด, ๋น๊ต ์ฃผ์). context_mode=candidate๋ strict๊ฐ NOT_COLLECTED์ผ ๋๋ง ์ ์ ๋ขฐ ๊ณ ์ ์๋์ฐ ๋ฌธ๋งฅ์ ๋ณ๋ candidate_context๋ก ๋ฐํํ๋ฉฐ, ๊ณต์ ๊ฒฐ๊ณผยทhint๋ก ์ฌ์ฉํ๋ฉด ์ ๋จ. ์ด ๋ชจ๋๋ ํ์ค ํ๋ ํ๋๋ฅผ ์ง์ ํ ๋๋ง ์ฌ์ฉ. ๊ธ์ต/REIT ํ๋๋ ํ์ค์ฌ์์ ์๋ N/A. ์ ํ์์ฐ ์ฅ๋ถ๊ฐ ํ๋ฅผ ์ฌ์
์ฅ์ผ๋ก ์ค๋
๊ธ์ง. ์๋ต report.report_nm์ผ๋ก ์ด๋ ๋ณด๊ณ ์์ธ์ง ํ์ธ(๋ถ๊ธฐ/๋ฐ๊ธฐ/์ฌ์
). bsns_year/reprt_code๋ ๋ฐ๋์ ๋ ๋ค ์ง์ (ํ๋๋ง ์ฃผ๋ฉด ์๋ฌ) โ ์ง์ ์ period๋ ๋ฌด์๋จ.
period: latest(๊ธฐ๋ณธ, ์ฌ์
ยท๋ฐ๊ธฐยท๋ถ๊ธฐ ์ค ๊ฐ์ฅ ์ต์ ์ ์ถ๋ถ=์ต์ ๋ฐ์ดํฐ) / annual(์ฐ๊ฐ ์ฌ์
๋ณด๊ณ ์ ๊ณ ์ ) / quarterly(๋ถ๊ธฐยท๋ฐ๊ธฐ ๊ณ ์ ). II.์ฌ์
์๋ด์ฉ์ ๋ถ๊ธฐ/๋ฐ๊ธฐ๋ ์์ ๊ตฌ์กฐ๋ผ ๋์ผ ํ๋. bsns_year+reprt_code ์ง์ ์ ์ด ํ๋ผ๋ฏธํฐ๋ ๋ฌด์.
fields: ์ผํ๊ตฌ๋ถ โ ํ์ค: segments,sites,utilization,rnd,backlog,customers / ๊ธ์ตยทREIT: financial_ops,financial_soundness,investment_property. (๋ฏธ์ง์ ์ ํ์ฌ์ ๋ง๋ ํ์คยท๊ธ์ต ํ๋๋ง). ์์ฐ(ํ ์งยทํฌ์๋ถ๋์ฐยท์ง๋ถ์ฆ๊ถ ์๊ฐvs๊ณต์ ๊ฐ์น)์ ๋ณ๋ tool asset_holdings.
bsns_year: ํน์ ๊ณผ๊ฑฐ ์ฌ์
์ฐ๋ ์กฐํ(์: "2025"). reprt_code์ ํจ๊ป ์ง์ ํด์ผ ํจ โ ์ถ์ด ์กฐํ์ฉ(ํ ๋ฒ์ ์ฌ๋ฌ ๋ถ๊ธฐ ๋ฐํ ์๋, ๋ถ๊ธฐ๋ง๋ค ๋ฐ๋ณต ํธ์ถ).
reprt_code: DART ํ์ค ๋ณด๊ณ ์์ ํ โ 11011(์ฌ์
/์ฐ๊ฐ) 11012(๋ฐ๊ธฐ) 11013(1๋ถ๊ธฐ) 11014(3๋ถ๊ธฐ). bsns_year์ ํจ๊ป ์ง์ .
context_mode: strict(๊ธฐ๋ณธ) / candidate. candidate๋ strict NOT_COLLECTED์ผ ๋๋ง ๋จ์ผ ํ์ค ํ๋์ ์ ์ ๋ขฐ ๋ณด์กฐ ๋ฌธ๋งฅ์ ๋ณ๋ ๋ฐํ.
context_chars: candidate ๊ณ ์ ๋ฌธ๋งฅ ๊ธธ์ด(๊ธฐ๋ณธ 20000, ์ต๋ 60000). strict์์๋ ์ฌ์ฉํ์ง ์์.
ref: financial_metrics, valuation, order_contracts, company
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | ||
| format | No | md | |
| period | No | latest | |
| company | Yes | ||
| bsns_year | No | ||
| reprt_code | No | ||
| context_mode | No | strict | |
| context_chars | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even without annotations, the description covers critical behavioral traits: it warns about low-reliability segment data falling back to raw markdown, explains context_mode behavior with candidate mode, cautions against misreading fixed asset tables, instructs to verify report name, and details parameter interactions (bsns_year+reprt_code overriding period). This goes well beyond basic disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very long but well-structured with clear sections (desc, when, rule, period, fields, etc.) and front-loads the core purpose. While verbose, every part adds necessary detail for a complex tool. A more concise organization could improve readability, but it remains serviceable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, multiple conditional behaviors, interaction with siblings), the description is remarkably complete. It covers purpose, usage context, parameter semantics, behavioral nuances, and warnings. The presence of an output schema reduces the need to detail return values, allowing the description to focus on input and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description takes full responsibility for parameter meaning. It explains each parameter in detail: fields as comma-separated list with standard vs financial options, period with 'latest'/'annual'/'quarterly' and interaction with bsns_year/reprt_code, bsns_year and reprt_code with explicit DART codes and usage, context_mode and context_chars with behavior. All parameters are adequately described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: extracting business segment details (sales, profit, production, R&D, orders, customers) from a specific Korean regulatory report (DART). It distinguishes itself from sibling tools like financial_metrics (for company-wide financials) and valuation, making its unique role evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance ('ํ์ฌ์ ์ฌ์ ๋ถ๋ฌธยท์์ฐยท์์ฃผยท๊ณ ๊ฐ ๊ตฌ์กฐ๊ฐ ํ์ํ ๋'), when-not-to-use (for financials use financial_metrics, for valuation use valuation, for financial institutions use other tools), and how to handle historical data via repeated calls. It also mentions alternative tools explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companyA
desc: ๊ธฐ์ ์๋ณ + ์ต๊ทผ ๊ณต์ ์ธ๋ฑ์ค. ๋ชจ๋ data tool ๊ณตํต ์ ๊ตฌ. ํ์ฌ๋ช /ticker/corp_code โ ์์ฅยท์ ์ข ยท์ต๊ทผ ๊ณต์. when: ๊ฒ์ ์์ โ ticker/corp_code ํ์ ํ์ tool์ ์ ๋ฌ. ์ต๊ทผ ๊ณต์ ์ข ๋ฅยท๋น๋ ํ์ ๋. rule: ๋น์์ฅ ๋ฒ์ธ ์๋ ์ ์ธ (์์ฅ์ฌ ์ ์ฉ). ๊ณต์ ํ๊ธยท์๋ฌธ๋ช ๊ณผ ๋ณ์นญ์ ์ฐ์ ํ๊ณ , ๋ถ๋ถ๋ช ์ ํ์ฑ ์์ฅยท์์ด ๊ฒฉ์ฐจ๊ฐ ์ถฉ๋ถํ ๋๋ง ์๋ ์ถ๋ก . ๊ณต์๋ช exact๋ ์์ด๋ณด๋ค ์ฐ์ . params: query, max_recent_filings(1-20), start_date/end_date(YYYYMMDD), language(auto|ko|en) ref: shareholder_meeting_notice, ownership_structure, dividend, proxy_contest, value_up
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| format | No | md | |
| end_date | No | ||
| language | No | auto | |
| start_date | No | ||
| max_recent_filings | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description carries full burden. Discloses automatic exclusion of unlisted companies, name matching logic, and parameter constraints. Lacks rate limit or auth details but still good.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise with purpose, usage, rules, and parameters all in a few lines. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, many siblings) and presence of output schema, the description provides sufficient guidance for an AI agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but description adds context for max_recent_filings (range 1-20), date format YYYYMMDD, and language options. However, it omits the 'format' parameter and doesn't explain the 'query' parameter's expected input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool identifies companies and provides recent filing index, and it's the common entry point for all data tools. Distinguishes from siblings by being the entry tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (start of search, to get identifiers for subsequent tools, to browse recent filings) and provides a rule about excluding unlisted companies and name matching priority.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
corporate_dealsA
desc: ํ์ฌยท์ง๋ถ ์ธ์/๋งค๊ฐ(ํ๋ฒ์ธ์ฃผ์ยท์ถ์์ฆ๊ถ ์ทจ๋/์ฒ๋ถ) ๊ณต์. ๊ณ์ด์ฌ ์ถ์ยทํ์, ์ผ๊ฐ๋ชฐ์์ฃผ๊ธฐยท๋ด๋ถ๊ฑฐ๋ยทํน์๊ด๊ณ์ ๊ฑฐ๋ ๋ชจ๋ํฐ๋ง. include_details=True๋ฉด ๊ฑฐ๋ ์๋๋ฐฉ/๊ธ์ก/์์ฐ๋๋น๋น์จ/ํน์๊ด๊ณ ํํธ.
when: ์ด๋ค ํ์ฌ๋ฅผ ์ธ์ํ๋/ํ์๋(์ง๋ถ ์ทจ๋ยท์ฒ๋ถยท์์๋), ๊ณ์ด์ฌยท์ํ์ฌ ์ถ์์ ํ์, ํฌ์ ํฌํธํด๋ฆฌ์ค ์ฌํธ, ์ํ์ฌ ์ฃผ์๊ฒฝ์์ฌํญ ํ๋ฆ, ์ผ๊ฐ๋ชฐ์์ฃผ๊ธฐ ์ ํธ. ๋จ์ผํ๋งคยท๊ณต๊ธ๊ณ์ฝ(์์ฃผ/ํด์งยท๋งค์ถ๋๋น)์ order_contracts. ํฉ๋ณยท๋ถํ ยท์ฃผ์๊ตํ์ corporate_restructuring.
rule: DART list.json โ ํ๋ฒ์ธ์ฃผ์: B/I + ์์/์๋/์ทจ๋/์ฒ๋ถ๊ฒฐ์ ํค์๋. ์ํ์ฌ ์ฃผ์๊ฒฝ์์ฌํญ/์์จ๊ณต์/[๊ธฐ์ฌ์ ์ ] ํ๋๊ทธ ๋ณ๋ ํ์. ๊ธฐ๋ณธ lookback 24๊ฐ์. include_details=True ์ ์ต๊ทผ N๊ฑด ์๋ฌธ ํ์ฑ(์๋๋ฐฉยท๊ด๊ณยท๊ธ์กยท๋น์จยท๋ชฉ์ ).
scope: summary ํตํฉ timeline / equity_deal ํ๋ฒ์ธ์ฃผ์ (๋จ์ผ๊ณต๊ธ๊ณ์ฝ์ order_contracts๋ก ๋ถ๋ฆฌ๋จ)
include_details: True๋ฉด ์๋ฌธ ํ์ฑ ์ถ๊ฐ (DART ํธ์ถ Nํ ์ฆ๊ฐ).
details_limit: ์๋ฌธ ํ์ฑ ๊ฑด์ (๊ธฐ๋ณธ 5, ์ต๋ 10).
ref: order_contracts (๋จ์ผ๊ณต๊ธ๊ณ์ฝ ์์ฃผ/ํด์ง/์ผ๊ฐ), corporate_restructuring (ํฉ๋ณ/๋ถํ /์ฃผ์๊ตํ), ownership_structure (์ง๋ถ ๋ณํ), evidence (์๋ฌธ ํ์ธ)
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | summary | |
| format | No | md | |
| company | Yes | ||
| end_date | No | ||
| start_date | No | ||
| details_limit | No | ||
| include_details | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description reveals behavioral aspects: it uses DART list.json with keyword filtering, defaults to 24-month lookback, and explains that include_details triggers additional DART calls. It does not cover destructive behavior (likely read-only) but is transparent about data sourcing and processing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured into labeled sections (desc, when, rule, etc.) and front-loads the purpose. It is somewhat lengthy but well-organized, allowing quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity, no annotations, and 0% schema coverage, the description provides substantial context: data source, rules, parameter behavior, and cross-references to sibling tools. It lacks detail on output structure but is sufficient for an agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains scope, include_details, and details_limit with defaults and limits, but does not cover company, start_date, end_date, or format. Since schema coverage is 0%, the description partially compensates but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it handles corporate deals such as equity acquisitions/disposals and subsidiary investments, and distinguishes from siblings like order_contracts and corporate_restructuring. The verb '๊ณต์' (disclose) and the listed scenarios clarify the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear 'when' section listing use cases and explicitly points to alternative tools (order_contracts, corporate_restructuring) for different transaction types, helping the agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
corporate_restructuringA
desc: ์ง๋ฐฐ๊ตฌ์กฐ ์ฌํธ 4์ข
(ํฉ๋ณ/๋ถํ /๋ถํ ํฉ๋ณ/์ฃผ์๊ตํยท์ด์ ) ๊ฒฐ์ ํตํฉ. ํฉ๋ณ๋น์จยท์๋๋ฐฉ ์ฌ๋ฌดยท์ ์ฃผ๋ฐํยท์ธ๋ถํ๊ฐยท์ฃผ์๋งค์์ฒญ๊ตฌ๊ถ + timeline + detail card.
when: M&A ์ค ํฉ๋ณยท๋ถํ ยท์ฃผ์๊ตํ ํํ, ์ง์ฃผํ์ฌ ์ ํ, ์ํ์ฌ ํก์ ๋ถ์. ์ฃผ์๋งค์์ฒญ๊ตฌ๊ถ ๊ฐ๊ฒฉ, ํฉ๋ณ๋น์จ, ์๋๋ฐฉ ์ฌ๋ฌด ๋น๊ต. ๋จ์ ์ง๋ถ ์ธ์ยท๋งค๊ฐ(์ฃผ์ ์์๋)์ corporate_deals.
rule: DART DS005 4 API ๋ณ๋ ฌ โ cmpMgDecsn/cmpDvDecsn/cmpDvmgDecsn/stkExtrDecsn. ๊ธฐ๋ณธ lookback 24๊ฐ์.
ref: corporate_deals (์ง๋ถ ์ธ์ยท๋งค๊ฐ), ownership_structure, shareholder_meeting_notice, evidence
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | md | |
| company | Yes | ||
| end_date | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description mentions it uses 4 APIs in parallel and default 24-month lookback, which gives some insight. However, it does not explicitly state if the tool is read-only, authentication requirements, or any side effects. The term '๊ฒฐ์ ํตํฉ' implies data gathering, but behavioral constraints are not fully disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact with sections (desc, when, rule, ref). It mixes Korean and English, which may reduce clarity. It is relatively efficient but could be more readable with better structure and separation of concerns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, and API references. However, it does not describe the output schema (which exists) or parameter details. Given the tool has 4 parameters and references multiple APIs, more detail on inputs and outputs would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning no parameter descriptions in the schema. The tool description does not explain each parameter individually. 'company' is implied, 'start_date' and 'end_date' are likely date range but not explained, 'format' defaults to 'md' but its meaning is unclear. The description adds minimal value beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it integrates 4 types of governance restructuring decisions (merger/division/divisional merger/stock exchange). It lists specific outputs like merger ratio, counterparty financials, etc. It distinguishes from sibling tool corporate_deals for simple equity transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'when' section explicitly describes when to use (M&A restructuring, holding company conversion) and when not to (simple equity acquisition/sale, which should use corporate_deals). It provides clear context and alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
director_boardA
desc: ๊ฐ๋ณ ์ด์ฌ ๋จ์ ์ ๋ณด โ ์ด์ฌ ์ธ๋น ๋ณด์, ๋ณด์ํ๋ ์์ง์จ(์ฐ๋๋ณ rm ๋น๊ณ ์๋ฌธ ํฌํจ), ์์ ์ฌ์ง/์ฌํด ๋ณ๋(์ฐ๋ diff + DART ๊ณต์ ์ฌ์ธ์ด์ฌ ๋ณ๋ ์ง๊ณ๋ก ๊ต์ฐจ๊ฒ์ฆ), ๊ฐ์ธ๋ณ(5์ต+) ๋ณด์์ RSA/์คํก์ต์ ๋ฑ ๋ฏธํ์ ์ฃผ์๋ณด์, ๋ฏธ๋ฑ๊ธฐ์์ ๋ณด์, ๊ฒฝ์์ง-์ง์ ๋ณด์ ๋ฐฐ์(๋ถ๋ฌธ๋ณ ์ธ๋ถ ํฌํจ) โ ์ ๋ถ lookback_years๋งํผ ์ฐ๋๋ณ(YoY) ๋น๊ต ๊ฐ๋ฅ. corp_gov_report๊ฐ 'ํ์ฌ 15์งํ ์ค์'๋ผ๋ฉด ์ด๊ฑด '๋๊ฐ ์ผ๋ง ๋ฐ๊ณ ์ธ์์ด ์ด๋ป๊ฒ ๋ฐ๋์๋'. ๊ฐ์นํ๋จ(์ ์ /๊ณผ๋ค)์ ํ์ง ์๊ณ ์์นยท์ ๋ ๋น ๋ณ๋ยทflag๋ง. when: ์ด์ฌ ๋ณด์ ์๊ฑด ํ๋จ, ์คํ์ด๋์ญ engagement โ ์: "์ด์ฌ ๋ณด์ํ๋ ์์ง์จ ์ผ๋ง์ผ"(compensation), "์๋ ์ ์ด์ฌ ๋๊ฐ ์ค๊ณ ๋๊ฐ์ด"(roster), "๋ํ์ด์ฌ๋ค ๊ฐ๊ฐ ์ผ๋ง ๋ฐ์ยท์คํก์ต์ ์๋"(individual), "์์-์ง์ ๋ณด์ ๊ฒฉ์ฐจ ๋ช ๋ฐฐ"(pay_gap), "์ด๋ฒ ์ฃผ์ด ํ๋ ์ ์ฌ๋ ค๋ฌ๋"(pay_agenda). rule: exctvSttus+drctrAdtAllMendngSttus 2์ข +hmvAuditIndvdlBySttus+unrstExctvMendngSttus+ empSttus+outcmpnyDrctrNdChangeSttus ์ ํ API 6์ข ์ ๋ถ ์ฌ์ฌ์ฉ. ์์ง์จ ๋ถ์๋ ๊ฐ์ฌ์์ ํฌํจ ์ด์ฌ๋ฅ ์ค์ง๊ธ ํฉ(์์ ๊ฐ์ฌ๋ง ๋ณ๋ ํ๋), ํ๋ ๊ณต๋ฐฑํด๋ ์ต๊ทผ ์ ํจ์ฐ๋ lookback. ์ฌ์ง/์ฌํด diff๋ 2-pass ๋งค์นญ(์ด๋ฆ ์ ํ์ผ์น๋ก ๋จผ์ ํ์ โ ๋๋จธ์ง๋ง ์๋ ์๋ก, ๋จ์ ํ๋ณด๊ตฐ์์ ์ ์ผํ ๋๋ง)์ผ๋ก ๋ก๋ง์ํ๊ธฐ ๋ณ๋ยท๋์ผ ์๋ ์ ๋๋ช ์ด์ธ ์คํ ๋ ๋ค ์ต์ โ ์ฌ์ธ์ด์ฌ ๋ณ๋ํํฉ API์ ๊ณต์ ์ง๊ณ (์ ์/ํด์/์ค๋ํด์ ์, ์ฌ์ธ์ด์ฌ ์ ๊ท์ ์๋ง ํํฐ๋งํด ๋น๊ต)๋ก ๊ท๋ชจ๊ฐ ๊ต์ฐจ๊ฒ์ฆ. attendance๋ ์ฌ์ ๋ณด๊ณ ์ ์๋ฌธ์์ ๊ฐ๋ณ ์ด์ฌ ์ถ์๋ฅ ์ ํ์ฑํ๋, ํ์ฌ๊ฐ ์ผ๋ถ(์ฃผ๋ก ์ฌ์ธ์ด์ฌ)๋ง '(์ถ์๋ฅ :%)'๋ก ๊ธฐ์ฌํ๋ฉด ์ ์ฒด๊ฐ ์๋์ data_quality_flags(attendance_partial)๋ก ํ์. ์๋ฌธ fetch(8MB)๋ผ summary ๊ธฐ๋ณธ์ ๋ฏธํฌํจ โ on-demand scope๋ก ์กฐํ. scope: compensation | roster | individual(5์ต+ ์ค๋ช , RSA/์คํก์ต์ ๋ ธํธ ํฌํจ) | unregistered(๋ฏธ๋ฑ๊ธฐ์์) | pay_gap(๊ฒฝ์์ง vs ์ง์ ๋ฐฐ์, ๋ถ๋ฌธ๋ณ ์ธ๋ถ) | pay_agenda(๋ณด์ํ๋ ์ฃผ์ด์๊ฑด ์ฌํดvs์๋ ) | attendance(๊ฐ๋ณ ์ด์ฌ ์ถ์๋ฅ ยท์๋ฌธ, summary ์ ์ธ) | pay_criteria(๋ณด์ ์ฐ์ ๊ธฐ์คยท๊ฐ์ธ๋ณ ๊ธ์ฌ/์์ฌ ๋ถํดยทKPI ๊ฐ์ค์น, ์ฌ์ ๋ณด๊ณ ์ VIII-2 ์๋ฌธ, summary ์ ์ธ) | summary(๊ธฐ๋ณธ) ๊ฐ์ฃผ ๋ง์ปค('(์ฃผ1)' ๋ฑ ์ ํ API๊ฐ ๋ณธ๋ฌธ์ ์ ์ฃผ๋ ๋น๊ณ )๋ resolve_footnotes=True(๊ธฐ๋ณธ)๋ฉด ํด๋น ์ฌ์ ๋ณด๊ณ ์ ์๋ฌธ์์ ๊ฐ์ฃผ ๋ณธ๋ฌธ์ ์๋ ๋ณต๊ตฌ(๋ง์ปค ๋ฌ ๊ณต์๋ง 1ํ fetchยท์บ์) โ ์คํจ ์ ์๋ฌธ ๋ฐ์ท ํด๋ฐฑ. year: ๊ธฐ์ค ์ฌ์ ์ฐ๋(0=์ต๊ทผ ํ์ ์ ๋ ). lookback_years: ์กฐํ ๊ธฐ๊ฐ(๋ ), ๊ธฐ๋ณธ 3 โ ๋๋ถ๋ถ scope์์ YoY ์ ์ฉ resolve_footnotes: ๊ฐ์ฃผ ๋ง์ปค๋ฅผ ์๋ฌธ์์ ํด์ํ ์ง(๊ธฐ๋ณธ True). False๋ฉด ์๋ฌธ fetch ์์ด ๋ง์ปค๋ง ํ๋๊ทธ. ref: corp_gov_report, director_evaluation, shareholder_meeting
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| scope | No | summary | |
| format | No | md | |
| company | Yes | ||
| lookback_years | No | ||
| resolve_footnotes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: it uses 6 standardized APIs, employs a 2-pass matching algorithm for roster changes, marks partial attendance data with quality flags, resolves footnotes by fetching 8MB documents, and caches results. It also states that no value judgments are made, only numerical data and flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but well-structured with sections (desc, when, rule, scope, year, etc.). It front-loads the core purpose, and every section adds necessary detail for a complex tool. While some technical details could be trimmed, the structure earns a 4 for clarity and organization.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description is remarkably complete. It covers all scopes, explains data sources, matching algorithms, quality flags, and footnote resolution. It even references companion tools for context. The presence of an output schema (not shown) further reduces the need to describe return values. No gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It does so extensively: it defines all scope values (compensation, roster, individual, etc.), explains year and lookback_years, and describes the resolve_footnotes parameter. Each parameter's purpose and behavior is clearly explained beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides individual director-level information including compensation, utilization rates, roster changes, and pay gaps. It differentiates from sibling tools by focusing on detailed board compensation and membership data, as opposed to corporate governance reports or meeting notices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists use cases under 'when', such as evaluating director compensation, stewardship engagement, and analyzing pay gaps. It references related tools like corp_gov_report and director_evaluation, but does not explicitly state when not to use this tool versus all siblings. The examples provide strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dividendA
desc: ์ค์ง๊ธยทํ์ ๋ ๋ฐฐ๋น ์ฌ์ค. DPS, ์ด์ก, ๋ฐฐ๋น์ฑํฅ, ์๊ฐ๋ฐฐ๋น๋ฅ (๊ฒฐ์ ๋น์)+ํ์ฌ๊ฐ ๊ธฐ์ค ๋ฐฐ๋น์์ต๋ฅ (์ต์ ์ข
๊ฐ, krx_weekly), ๋ถ๊ธฐ๋ณ ์ถ์ด. ๋ฏธ๋ ์ ์ฑ
ยท์ฝ์ X.
when: ์ค์ ์ง๊ธ๋ ๋ฐฐ๋น ํ์ธ. ๋ถ๊ธฐ๋ฐฐ๋น ํ์ฌ๋ history๋ก ๋ถ๊ธฐ๋ณ breakdown. ๋ฏธ๋ ์ ์ฑ
/์ฝ์์ value_up.
rule: source 2๋จ โ (1) ์ฌ์
๋ณด๊ณ ์ alotMatter(๊ณต์๊ฐ) (2) ํ๊ธใํ๋ฌผ๋ฐฐ๋น๊ฒฐ์ ํฉ์ฐ(alotMatter ๋น ๊ฒฝ์ฐ fallback). ๊ฒฐ์ฐ๋ฐฐ๋น์ record_date ๊ธฐ์ค fiscal year bucket (์ ๋ฐฐ๋น-ํ๊ฒฐ์ ์ ๋ฒ). ์ ์ ๊ณต์ is_superseded ํ์. ๋ฏธ๋ ์ฝ์ ์ถ๊ฐ ๊ธ์ง.
scope: summary ์ ๋ฐฐ๋น-ํ๊ฒฐ์+๊ฐ์ก๋ฐฐ๋น ๋ฉํ / detail ์์ฝ+์ต๊ทผ ๊ฒฐ์ 50๊ฑด / history N๋
์ถ์ด+๋ถ๊ธฐ breakdown+policy_signals
ref: value_up, treasury_share, shareholder_meeting_notice, company, ownership_structure, evidence
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| scope | No | summary | |
| years | No | ||
| format | No | md | |
| company | Yes | ||
| end_date | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses data sources (business report alotMatter, cash/stock decisions), fallback logic, handling of corrective disclosures (is_superseded flag), and rules against adding future promises. This is comprehensive beyond what annotations typically provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with tags (desc, when, rule, scope, ref) and front-loaded with key information. A bit dense but every sentence adds value. Could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 params, no annotations, output schema exists), the description covers data sources, behavioral rules, scope options, and references to related tools. It is fully adequate for an agent to understand usage and constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the burden. It explains the scope parameter well (summary, detail, history) but does not clarify year, years, start_date, end_date, or format. Overall adds partial value but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides actual paid dividend facts (DPS, total amount, payout ratio, etc.) and explicitly distinguishes it from sibling tools like value_up for future policies. The verb 'check' and resource 'dividend facts' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (check actual paid dividends) and when not to (use value_up for future policies). Also provides guidance for quarterly companies to use history scope. No ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
financial_metricsA
desc: DART ์ฌ๋ฌด 4 endpoint ํตํฉ โ ์์ต์ฑ/์์ ์ฑ/ํ๊ธํ๋ฆ/ํ๊ณ risk. ํ๊ตญ ํ์ค(์ฐ๊ฒฐ, ์ง๋ฐฐ์ฃผ์ฃผ ๊ท์). ๋ํยทFCFยทNWCยทaccruals_gapยท๊ฐ์ฌ์๊ฒฌ ์๋ ์ฐ์ถ.
when: ์ฌ๋ฌด ํ๋๋ฉํ + ํ๊ณ risk ์ง๋จ / ์ ์์ ํยทํด์ด๋ผ์ด๋ยท์ด์๋ณด์๋ฐฐ์จ alert / ์ฌ์ธ์ด์ฌ ํ๋ณด ์ฌ์ง ์์ ํ๊ณ ์ฌ๊ฑด cross-check.
rule: source = fnlttSinglAcnt(BS+IS 30ํ, ์์ฒญ fs_div๋ก ํ ํํฐ) + fnlttSinglIndx(๋ณด์กฐ ROE) + fnlttSinglAcntAll(CF+213ํ) + accnutAdtorNmNdAdtOpinion(๊ฐ์ฌ์๊ฒฌ 3๋
). ๊ธ์ก raw KRW int(_krw), %๋ float(_pct), ๋น์จ decimal(_ratio). ์ฐ๊ฒฐ default, ์ ์/0 ๋ถ๋ชจ graceful. ๊ธ์ต์ฌ(์ํยท์ง์ฃผ)๋ ๋งค์ถ์ก ๊ณ์ ์ด ์์ด None โ ์์
์ด์ตยท์์ด์ต ๊ธฐ์ค ํด์. ๋ถ๊ธฐ ํฉโ ์ฐ๊ฐ์ด๋ฉด ๊ธฐ์ค ๋ถํ ยท์ฌ์์ฑ warning ์๋ ๋ถ์ฐฉ. ์ด์๋ณด์๋ฐฐ์จ ๋ถ๋ชจ = IS ์ด์๋น์ฉ, ์์ผ๋ฉด CF '์ด์์ ์ง๊ธ' (๊ธ์ต๋น์ฉ ์ด์ก ์ฌ์ฉ ์ ํจ). EBITDA๋ CF์์ D&A๊ฐ ์ถ์ถ๋ ํ์ฌ๋ง ์ฐ์ถ (์กฐ์ ํฉ๊ณ ๊ณต์ ํ์ฌ๋ None).
period: DART ๊ธฐ๊ฐ ์๋ฏธ๊ฐ ํญ๋ชฉ๋ณ๋ก ๋ค๋ฆ โ ์์ต thstrm=๋น๊ธฐ3๊ฐ์/๋์ ์ thstrm_add, ํ๊ธํ๋ฆ=๋์ , ์ฌ๋ฌด์ํ=์์ก. summary๊ฐ ๋ถ๊ธฐ๋ณด๊ณ ์๋ฉด โ ์์ต์ ๋์ (YTD) ๊ธฐ์ค primary + ๋น๊ธฐ ๋ถ๊ธฐ(standalone)๋ฅผ standalone์ ๋ณ๋ ๋๋ด(๋ฐ๊ธฐ/3๋ถ๊ธฐ), โก ํ์ ์ผ์(DSO/DIO/CCC)๋ TTM(์ต๊ทผ 4๋ถ๊ธฐ) ๋ถ๋ชจ๋ก ์ฐ์ถ(๋จ์ผ๋ถ๊ธฐ ์ฐํ์ฐ ์๊ณก ์ ๊ฑฐ), โข ROE/ROA/์์ฐํ์ ์จ์ ์ฐํ์ฐ ์ ํจ(๋ถ๊ธฐ๊ฐ). ๊ธฐ์ค์ ํญ์ period_basis/turnover_basis/basis_note๋ก ๋ช
์. year ๋ฏธ์ง์ ์ quarterlyยทqoq๋ ๋นํด ์ฐ๋(์ต์ ๋ถ๊ธฐ ํฌํจ), summaryยทyearlyยทyoy๋ ์ง์ ์ฌ์
์ฐ๋.
scope: summary ํต์ฌ ์งํ 1๋
(๋ถ๊ธฐ๋ณด๊ณ ์๋ฉด ๋์ +standalone) / yearly N๋
์ถ์ด / quarterly 12๋ถ๊ธฐ standalone ์์ต + QoQยทYoY(๋ง์ง์ %p) ๊ธฐ๋ณธ ๋๋ด (Q4๋ ์ฐ๊ฐโ3๋ถ๊ธฐ ๋์ ์ฐจ๋ถ โ ์ฐ๊ฐ์น ํผ์
์์) / yoy ์ ๋
+alert / qoq ์ ๋ถ๊ธฐ (standalone ๊ธฐ์ค) / audit_opinion 3๋
์ถ์ด
ref: dividend, corp_gov_report, shareholder_meeting_notice, evidence
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| scope | No | summary | |
| years | No | ||
| format | No | md | |
| company | Yes | ||
| consolidated | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully covers behavioral details: data sources, unit handling (raw KRW, percentages, ratios), edge cases (financial companies with no revenue, bankruptcy situations), period semantics (quarterly vs cumulative vs balance), automatic warnings, and calculation specifics (EBITDA, interest coverage). This is exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very long and dense, mixing technical details with usage guidance in a single paragraph. It uses sections (desc, when, rule, period, scope, ref) but without clear structure or line breaks, making parsing difficult. It could be restructured for clarity and brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the complexity (6 parameters, 0% schema coverage, no annotations), the description provides comprehensive context: data sources, unit conventions, edge cases, period handling, scope definitions, and cross-references to related tools. It adequately supports correct invocation and interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The description explains the 'scope' parameter in detail with all options (summary, yearly, quarterly, yoy, qoq, audit_opinion) and their behavior. Other parameters like year, consolidated, years are implicitly addressed (e.g., year default and meaning). The format parameter is not discussed, and mapping to schema could be clearer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool integrates four financial endpoints and provides profitability, stability, cash flow, and accounting risk metrics. While it lacks a concise verb like 'retrieve' or 'get', the purpose is well-defined and distinguishes from siblings by specifying Korean standard and metrics computed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'when' section listing three specific use cases (fundamental and accounting risk diagnosis, alerts for net loss/turnaround/interest coverage, cross-check on outside director service) and references other tools. However, it does not explicitly state when not to use this tool or provide direct comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
order_contractsA
desc: ํ์ฌ์ ์์ฃผ(๋จ์ผํ๋งคยท๊ณต๊ธ๊ณ์ฝ์ฒด๊ฒฐ) ์ถ์ โ ๊ณ์ฝ๊ธ์กยท๋งค์ถ์ก ๋๋น%ยท์๋๋ฐฉยท๊ณ์ฝ๊ธฐ๊ฐ. ์ ์ ๋ํดํธ์ธ ์ฝ์ค๋ฅ ๋ฐ์ด์ค/๊ธฐ์ ์ฃผ์์ ์์ฃผ = ๋ฏธ๋ ๋งค์ถ ๊ฐ์์ฑ ์๊ทธ๋. ๊ธฐ์ฌ์ ์ (๋ณ๊ฒฝ๊ณ์ฝ) ์๋ dedup + ์ฆ์ก/๊ฐ์ก diff.
when: ์ผ๋ง์ง๋ฆฌ ์์ฃผ๋ฅผ ๋ฐ๋๋, ์์ฃผ๊ฐ ๋งค์ถ ๋๋น ์ผ๋ง๋ ํฐ๊ฐ(์ ์๊ธฐ์
๊ฐ์์ฑ), ์ต๊ทผ ์์ฃผ ๋ชจ๋ฉํ
, ์ธ๋ถ ์์ฃผ vs ๊ณ์ด ์ผ๊ฐ(๊ณต์ ๊ด๊ณํ๋ ๊ธฐ์ค), ๊ณ์ฝ ํด์ง, ์์ฃผ ์ฆ์ก/๊ฐ์ก ๋ณ๊ฒฝ. ์ง๋ถ ์ธ์/๋งค๊ฐ(ํ๋ฒ์ธ์ฃผ์)์ corporate_deals.
rule: DART list.json I001 โ ๋จ์ผํ๋งคใ๊ณต๊ธ๊ณ์ฝ์ฒด๊ฒฐ/ํด์ง (์ผ๋ฐ+์์จ๊ณต์ ๋ชจ๋ I001, ์ํ์ฌ ๋ณํ ํฌํจ). ๋ณธ๋ฌธ ํ์ฑ: ๊ณ์ฝ๊ธ์ก(๋จ์ ์/์ฒ์/๋ฐฑ๋ง์ ํ์ฐ)ยท์ต๊ทผ๋งค์ถ์กยท๋งค์ถ์ก๋๋น%ยท์๋๋ฐฉยท๊ด๊ณ(์ธ๋ถ/๊ณ์ด)ยท๊ณ์ฝ๊ธฐ๊ฐ. dedup: (๊ณ์ฝ๋ช
+์๋๋ฐฉ) ๊ทธ๋ฃน + ์ ์ ๋ณธ ์ ์ ์ ๊ธ์ก์ผ๋ก ์๋ณธโ์ ์ ๋งค์นญ(๊ฐ์ ํค๋ผ๋ ๊ธ์ก ์ฒด์ธ ๋ถ์ผ์น ์ ๋ณ๊ฐ). ๊ธฐ๋ณธ lookback 24๊ฐ์.
max_documents: ๋ณธ๋ฌธ ํ์ฑ ์ํ (๊ธฐ๋ณธ 30).
ref: corporate_deals (ํ๋ฒ์ธ์ฃผ์ ์ง๋ถ ์ธ์/๋งค๊ฐ), financial_metrics (๋งค์ถยท์์ต์ฑ), evidence (์๋ฌธ ํ์ธ)
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | md | |
| company | Yes | ||
| end_date | No | ||
| start_date | No | ||
| max_documents | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully carries the burden: discloses data source (DART list.json I001), parsing logic, dedup mechanism, lookback period (24 months), and max_documents limit. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is long but well-structured with sections (desc, when, rule, ref). Every sentence adds value, though slightly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complexity and presence of output schema, description covers purpose, usage, behavioral details, and references sibling tools. No major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains 'max_documents' and implicitly covers date parameters via lookback. However, 'company' and 'format' are not explicitly described, leaving a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it tracks contracts (์์ฃผ) with specific details. It distinguishes from sibling tool 'corporate_deals' which covers equity investments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'when:' section lists explicit usage scenarios, and contraindications are provided (e.g., equity investments use 'corporate_deals'). Provides clear guidance on when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ownership_structureA
desc: ์ต๋์ฃผ์ฃผยทํน์๊ด๊ณ์ธยท5% ๋๋๋ณด์ ์ง๋ถ ๊ตฌ์กฐ + ๊ณต๋๋ณด์ ์ ๋ถํด. ์์ฌ์ฃผ detail์ treasury_share ๋ณ๋.
when: ์ง๋ฐฐ๋ ฅ ๊ตฌ์กฐ, ์ต๋์ฃผ์ฃผ ๋น์ค, ํน์๊ด๊ณ์ธ ์ง๋ถ ํฉ, 5% ํ์ฑ ์๊ทธ๋, "OO์ N% ์ง๋ถ์ด ๋๊ตฌ๋๊ตฌ ๊ณต๋๋ณด์ ๋ / ๋ณด๊ณ ์ ๋ณธ์ธ ์ง๋ถ์ ์ผ๋ง๋" ์ง์.
rule: ์ฌ์
๋ณด๊ณ ์ DART ๊ณต์ API ์ฐ์ . 5% ๋๋๋ณด์ ๋ชฉ์ ์ ์ต์ ์๋ฌธ ๋ณด๊ฐ. ๋ณ๋์ ๊ณ ์๋ DART API ์ฐ์ , KIND fallback. 5% ๋ณด๊ณ ํค๋๋ผ์ธ ์ง๋ถ์จ(ownership_pct)์ ๋ณด๊ณ ์ ๋ณธ์ธ + ํน๋ณ๊ด๊ณ์ ํฉ์ฐ์ โ ๋ณธ์ธ๋ง ๋ณด๋ ค๋ฉด reporter_self_pct, ๊ณต๋๋ณด์ ์ ๋ด์ญ์ co_holders[{name, ownership_pct, is_registry_holder}] ์ฌ์ฉ. co_holders_verified=False๋ฉด ํฉ๊ณ ๋ฏธ๊ฒ์ฆ์ด๋ผ ์๋ฌธ ๋์กฐ ํ์(ํ์ ์ธ์ฉ ๊ธ์ง). ํฉ๊ณํ ์๋ ์ฝ์๋ณด๊ณ (๊ธฐ๊ด ๋จ์ํฌ์ ๋ฑ)๋ co_holders=None.
scope: summary ์ต๋์ฃผ์ฃผ+5%๋ธ๋ก(+๊ณต๋๋ณด์ ์ ๋ถํด)+์์ฌ์ฃผ snapshot / major_holders ํน์๊ด๊ณ์ธ detail / blocks 5% ๋๋๋ณด์ ์ต์ +์ด๋ ฅ+๊ณต๋๋ณด์ ์ ๋ถํด / control_map 3๋ ์นดํ
๊ณ ๋ฆฌ(๋ช
๋ถ ๋ฑ์ฌ/์ธ๋ถ ๋ฅ๋/์๋)+๊ณต๋๋ณด์ ์ / changes ์ต๋์ฃผ์ฃผ๋ณ๋์ ๊ณ ์(I004) + 5% ๋๋๋ณด์ ๋ณ๋(D001) ํตํฉ
ref: treasury_share, proxy_contest, evidence
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| scope | No | summary | |
| format | No | md | |
| company | Yes | ||
| end_date | No | ||
| as_of_date | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully discloses behavioral traits: it explains data source prioritization (DART API, KIND fallback), the meaning of ownership_pct as combined with special relations, the co_holders_verified flag indicating need for manual verification, and scope options. This is comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with headers (desc, when, rule, scope, ref) and is front-loaded with the core purpose. While it is verbose, each sentence adds value. It could be slightly more concise but is well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple scope options, data source rules, verification details) and the existence of an output schema, the description is comprehensive. It covers all critical aspects for correct usage, including caveats about data verification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It explains the 'scope' parameter with detailed options (summary, major_holders, blocks, etc.), but other parameters like year, format, dates are not described. The partial coverage compensates somewhat but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides ownership structure for major shareholders, special relations, and 5% blockholders, with co-holder decomposition. It distinguishes itself from the sibling tool 'treasury_share' by noting treasury stock details are separate. The resource and action are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'when:' section explicitly describes use cases such as controlling share structure and co-holder decomposition. It references related tools but does not explicitly state when not to use this tool. However, the guidance is clear and context-rich.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_advise_before_meetingA
desc: ์ฃผ์ด ์์ง ์ ์๊ฑด๋ณ ์๊ฒฐ๊ถ ๊ถ๊ณ . 1ํ ํธ์ถ๋ก: ์๊ฑด๋ณ FOR/AGAINST/REVIEW/NO_DATA + facts + risk_factors + policy_citation + ๊ทผ๊ฑฐ ๊ณต๊ณ + ํ๋ณด ํ๊ฐ + ์ฌ๋ฌด/๊ฑฐ๋ฒ๋์ค summary.
โ CRITICAL: ์๋ต์ decision ์ปฌ๋ผ์ ํ๊ตญ ์๋ฒ ๊ฐํ๊ท์ (A1/A2 tag ๐ก๏ธ) + ์ด์ฉ์ฌ ์ ์ฑ
(vote_style) + Open Proxy Guideline ํตํฉ ๊ฒฐ๊ณผ. ์ฌ์ฉ์์๊ฒ ๊ทธ๋๋ก ์ ์ โ ์๊ฑด๋ช
ํค์๋(๋ฐฐ์ ยท์ ํยท์ถ์ยท๊ฐํ)๋ง ๋ณด๊ณ ์์ฒด ํ๋จ์ผ๋ก ๋ณ๊ฒฝ ๊ธ์ง. ์์ฃผ misread: '์ง์คํฌํ ๋ฐฐ์ ์กฐํญ ์ญ์ ' = FOR(์๋ฌดํ ์ ํฉ), '์๊ฒฐ๊ถ ์ ํ ๊ฐํ' = FOR(ํฉ์ฐ 3% ๋ฃฐ).
when: ์์ง๊ณต๊ณ ํ ~ ์ฃผ์ด ์ง์ . ์๊ฒฐ๊ถ ํ์ฌ ๊ฒฐ์ + ๋ด๋ถ ๋ณด๊ณ . ์ฌํ ๊ฒฐ๊ณผ๋ shareholder_meeting_results.
rule: ์ด์ฉ์ฌ ์๊ฒฐ๊ถ ํ์ฌ ๋ณด๊ณ ์ ์คํ์ผ. hard-fail(ํ์ฌ ์ฒ๋ฒ/์ฌ์ ๊ด๊ณ/๋๋ช
์ด์ธ) ์๋ ๊ฒ์ฆ ๊ฐ๋ฅ ํญ๋ชฉ๋ง ํ๊ธฐ. soft-fail(ํ๋ณด ์ฝ๋ ฅ/์ ๊ด ๋ณธ๋ฌธ) raw ๋
ธ์ถ โ LLM ํ๋จ.
vote_style: open_proxy (default โ OPM ์์ฒด ๊ฐ์ด๋๋ผ์ธ). ๋ค๋ฅธ ์ต์
์ internal cross-reference์ฉ
check_audit_history: True ์ ํ๋ณด ๊ณผ๊ฑฐ ํ์ฌ ร ํ๊ณ risk overlap cross-check (+30s)
meeting_type: annual(default) / extraordinary / auto
ref: shareholder_meeting_notice, financial_metrics, corp_gov_report, ownership_structure, proxy_contest, value_up, shareholder_meeting_results
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| format | No | md | |
| company | Yes | ||
| vote_style | No | open_proxy | |
| meeting_type | No | annual | |
| check_audit_history | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers behavioral traits: integrates multiple sources, warns about not altering decisions, explains hard-fail/soft-fail distinction, and notes the time impact of check_audit_history. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Relatively long but well-organized with labeled sections (desc, when, rule, etc.). Every sentence adds value; could be slightly more concise but appropriate for complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, behavioral details, parameter explanations, and references related tools. Output schema exists, so return values are not needed. Complete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains vote_style (default open_proxy), check_audit_history (timing), and meeting_type (options). However, year (default 0 meaning unclear) and format (md not explained) are insufficiently described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool provides pre-meeting voting recommendations per agenda item. Differentiates from post-meeting tool and siblings by specifying the timing ('์์ง ์ ').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: after notice but before the meeting, for voting decisions and internal reporting. Provides alternative 'shareholder_meeting_results' for post-meeting results and includes rules about hard-fail vs soft-fail items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_contestA
desc: ์์์ฅยท์์กยท5% ๊ฒฝ์์ฐธ์ฌ ์๊ทธ๋ ํตํฉ. ์๋ ๋ถ๋ฅ X ํํธ ์ ๊ณต (filer_has_5pct_active_block ๋ฑ). ์ ๋๋ฆฌ์คํธ ์ข
ํฉ ํ๋จ.
when: ๊ฒฝ์๊ถ ๋ถ์, ์ฃผ์ฃผ ์บ ํ์ธ, ์์ก, ๋ฅ๋์ 5% ๋ณด์ , ํ ๋๊ฒฐ ์ ํธ.
rule: DART D/B/I๋ง (KIND false match ์ํ). ์์์ฅ filer 3-way: company/shareholder/retail_activism(์ปจ๋์ยทํค์ดํ๋ ๋ฑ). has_contest_signal์ shareholder OR litigation OR external_active_block๋ง. vote_math๋ ๋ณด์์ , ์นํจ ์์ธก X.
scope: summary / fight ์์์ฅ+ํํธ / litigation / signals 5% ๋๋๋ณด์ / timeline ์ ์ด๋ฒคํธ / vote_math ํ ๊ตฌ์กฐ
ref: shareholder_meeting_notice, ownership_structure, company, evidence
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| scope | No | summary | |
| format | No | md | |
| company | Yes | ||
| end_date | No | ||
| start_date | No | ||
| lookback_months | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It explains that auto-classification is not performed, hints are provided instead, and that vote_math is conservative and not predictive. It also describes the 3-way filer classification and signal logic. This comprehensively covers behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with labeled sections (desc, when, rule, scope, ref) but is somewhat verbose and includes redundant information (e.g., repeating '์์์ฅ' multiple times). It is adequately concise given the complexity, but could be streamlined slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no schema coverage, and no annotations, the description is fairly complete in covering purpose, usage, behavioral rules, and output scopes. However, it does not explain all parameters, and the output schema is present but not referenced. Still, it provides sufficient context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not describe individual parameters such as 'year', 'format', 'end_date', 'start_date', or 'lookback_months'. It mentions scope values in the context of the description, but does not explain the other parameters, leaving the agent to rely on parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: aggregating signals for proxy contests, litigation, and 5% active ownership. It provides a specific verb ('integrate' implied) and resource, and distinguishes from sibling tools like 'ownership_structure' and 'proxy_advise_before_meeting' by focusing on contest signals and litigation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists when to use ('๊ฒฝ์๊ถ ๋ถ์, ์ฃผ์ฃผ ์บ ํ์ธ, ์์ก...') and provides a rule ('DART D/B/I๋ง (KIND false match ์ํ)') that warns against using with KIND data. Also specifies scope options, giving clear guidance on selecting the appropriate output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
valuationA
desc: ์๋๊ฐ์น ๋ฐธ๋ฅ์์ด์ โ ๊ธฐ์ ์ฌ์ธต(PERยทPBRยท๋ฐฐ๋น์์ต๋ฅ ) + ์์ฅ ์ ์ฒดยท์ฐ์ ๋ณยท์ข ๋ชฉ ํ์คํ ๋ฆฌ(์ฃผ๊ฐ ์ค๋ ์ท). ํ๊ตญ ํ์ค(์ฐ๊ฒฐ, ์ง๋ฐฐ์ฃผ์ฃผ ๊ท์). ๋นKRW ๊ธฐ๋ฅํตํ ์๋ KRW ํ์ฐ(ECOS), ์ค์ผ์ผ๊ฐ๋, N/M ๊ฒ์ดํ . when: "PER/PBR ์ผ๋ง"ยท"์ผ๊ฐ ๋น์ผ๊ฐ"(scope=firm) / "์ฝ์คํผยท์ฝ์ค๋ฅ ์ ์ฒด ๋ฐธ๋ฅ"(market) / "์ ์ข ๋ณ PERยทPBR"ยท"์นํฐ ๋๋น ์ด๋"(sector, company ์ง์ ์ ์์ ์นํฐ ๋น๊ต) / "๋ฐธ๋ฅ ์ถ์ด"(firm_history) / "์ด ์์น ๊ทผ๊ฑฐยท๊ณ์ฐ ๊ณผ์ ์ด ๋ญ์ผ?"(explain โ company ์ง์ ์ ์ค์ ๊ฐ ๋์ ๊ณ์ฐ, ๋ฏธ์ง์ ์ ๋ฐฉ๋ฒ๋ก ยท๊ธฐ์คยท์ถ์ฒ ์ ๋ฌธ). ์ฌ๋ฌด ํ๋๋ฉํ ์์ฒด๋ financial_metrics, ๋ฐฐ๋น ์์ธ๋ dividend. rule: scope=firm(๊ธฐ๋ณธ, company ํ์) = ์ค์๊ฐ DART ์ฌ๋ฌด ร krx_weekly ์์ธ โ EPS(FY0)=๊ณต์ ๊ธฐ๋ณธ์ฃผ๋น์ด์ต(๊ฐ์คํ๊ท , ์์ผ๋ฉด ์ง๋ฐฐ์์ด์ตรท๋ณดํต์ฃผ ํด๋ฐฑ), EPS(TTM)=TTM ์ง๋ฐฐ์์ด์ตรท๋ณดํต์ฃผ, BPS=์ง๋ฐฐ์๋ณธ(MRQ)รทํฉ๊ณ์ฃผ์์, ๋ถ๋ชจโค0ยท์์ ์๋ณธ์ ์=N/M. scope=market/sector/firm_history = Supabase ์ฃผ๊ฐ ์ค๋ ์ท(mkt_val_historyยทmkt_val_historyยทfirm_valuation_snapshot, market_val_weekly ๋ฐฐ์น๊ฐ ๊ฐฑ์ ) โ PER=ฮฃ๋ณดํต์ฃผ ์์ดรทฮฃ์ง๋ฐฐ์์ด์ต(์์ด๊ฐ์ค ์กฐํํ๊ท , ์ฐ์ ์ฃผ ์์ด์ ์ ์ธยทcap_pref ๋ณ๋ ๋ ธ์ถ), ์์ด ๊ธฐ๋ฐ์ด๋ผ ์์ ์ฃผ๊ฐ ์กฐ์ ๋ถ๋ณ. ์นํฐ ๋ถ๋ฅ=KSIC ํ์ด๋ธ๋ฆฌ๋. firm๊ณผ ์ค๋ ์ท ๋ฐฉ๋ฒ๋ก ์ฐจ์ด(๋ณดํต์ฃผ ์ฃผ๊ฐ vs ์ด์์ด) ๆ โ ๊ฐ ์ถ๋ ฅ์ ๋ช ์. ๊ฐ raw KRW int(_krw), % float(_pct). status: ok / invalid / not_found(์ฐ์ ์ฃผ๋ ๋ณดํต์ฃผ ์ฝ๋๋ก) / unlisted / no_financials / no_data(๋ฐฐ์น ๋ฏธ์คํ). note: lean v1 โ RIMยทEV/EBITDAยทPSRยทFCFยท5๋ ๋ฐด๋ยทPITยท์ฃผ๋น ์์ ์ฃผ๊ฐ ์๊ณ์ด์ v1.1. ref: financial_metrics, dividend, corp_gov_report, evidence
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | firm | |
| format | No | md | |
| company | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description fully reveals computation methodology, data sources, handling of edge cases (e.g., negative equity, preferred shares), status codes, and limitations (v1.1 features omitted).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but well-organized with clear sections (desc, when, rule, status, note, ref). Every sentence adds value, though some redundancy could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and lack of annotations, the description is highly comprehensive, covering purpose, usage, behavior, parameters (except format), status codes, limitations, and sibling references. Only minor gap is the missing format explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must explain all parameters. It explains 'scope' values (firm, market, sector, etc.) and 'company's role, but fails to describe 'format' (e.g., md vs json). Partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states it covers relative valuation metrics (PER, PBR, dividend yield) for firms, markets, sectors, and history. It distinguishes from sibling tools like financial_metrics and dividend, clearly setting it apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'when:' section maps specific queries (e.g., 'PER/PBR ์ผ๋ง', '์ฝ์คํผ ์ ์ฒด ๋ฐธ๋ฅ') to appropriate scopes. It explicitly tells when to use siblings: financial_metrics for fundamentals, dividend for detailed dividends.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
value_upA
desc: ๊ธฐ์
๊ฐ์น์ ๊ณ ๊ณํ(๋ฐธ๋ฅ์
) ๊ณต์ + commitment ๋ฌธ์ฅ. ์ฃผ์ฃผํ์ ์ ์ฑ
ยท๋ฏธ๋ ์ฝ์. ์์ฌ์ฃผ ์๊ฐ ์ดํ ๊ต์ฐจ์ฐธ์กฐ ํฌํจ.
when: ๋ฐธ๋ฅ์
๊ณํ, ROE/PBR/๋ฐฐ๋น์ฑํฅ ๋ชฉํ, ์์ฌ์ฃผ ์๊ฐ ๊ณํ ๋ฑ ๋ฏธ๋ ์ฝ์. ์ค์ ๋ฐฐ๋น์ dividend, ์์ฌ์ฃผ ์ฌ์ค์ treasury_share.
rule: DART I ๋ฐธ๋ฅ์
ํค์๋ โ ์์ผ๋ฉด KIND 0184 fallback. ๊ณต์ ์นดํ
๊ณ ๋ฆฌ: plan/progress/meta_amendment(๊ณ ๋ฐฐ๋น๊ธฐ์
์ฌ๊ณต์). ์ต์ ์ด meta_amendment๋ฉด ์ค๊ณํ ๋ณธ๋ฌธ์ latest_plan์ผ๋ก ๋ณ๋. summary/commitments์ 24๊ฐ์ ์์ฌ์ฃผ ์ด๋ฒคํธ treasury_cross_ref ํฌํจ.
scope: summary / plan ์๋ฌธ ๋ฐ์ท / commitments ํต์ฌ ์ฝ์+์ดํ ๊ต์ฐจ์ฐธ์กฐ / timeline ๊ณต์ ์ด๋ ฅ
ref: dividend, treasury_share, ownership_structure, company, evidence
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| scope | No | summary | |
| format | No | md | |
| company | Yes | ||
| end_date | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully describes behavioral traits including data source fallback rules ('DART I value-up keyword โ KIND 0184 fallback'), categorization of disclosures (plan/progress/meta_amendment), special handling for meta_amendment, and inclusion of 24-month treasury share cross-references in summary/commitments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with labeled sections ('desc', 'when', 'rule', 'scope', 'ref'), but it is somewhat verbose and could be more concise. The first sentence is dense and could be clearer. Each section adds value, but the overall length could be reduced without losing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage, behavioral rules, and output structure comprehensively. It references related tools and provides context for the agent. However, the lack of parameter descriptions leaves a gap in completeness for actually invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description does not explain the meaning or usage of most parameters such as 'scope', 'format', 'start_date', 'end_date', or 'year'. Only 'company' is implicitly understood as required. The description focuses on output structure, not parameter details, so it fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific purpose: retrieving value-up disclosures (๊ธฐ์ ๊ฐ์น์ ๊ณ ๊ณํ) and commitment text, including treasury share cancellation cross-references. It explicitly distinguishes from sibling tools like 'dividend' and 'treasury_share' by stating that actual dividends and treasury share facts are handled by those tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'when' section clearly states that this tool is for future promises like value-up plans, ROE/PBR/dividend payout targets, and treasury share cancellation plans. It explicitly names alternative tools ('dividend' for actual dividends, 'treasury_share' for treasury share facts) for different use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
52 tool updates
v2.3.0- Removed
agm_agenda_xml - Removed
agm_aoi_change_xml - Removed
agm_capital_reserve_xml - Removed
agm_compensation_xml - Removed
agm_corrections - Removed
agm_financials_xml - Removed
agm_items - Removed
agm_parse_fallback - Removed
agm_personnel_xml - Removed
agm_post_analysis - Removed
agm_pre_analysis - Removed
agm_result - Removed
agm_retirement_pay_xml - Removed
agm_search - Removed
agm_treasury_share_xml - Added
business_details - Added
company - Removed
corp_identifier - Added
corporate_deals - Added
corporate_restructuring - Added
director_board - Removed
div_detail - Removed
div_full_analysis - Removed
div_history - Removed
div_search - Added
dividend - Added
financial_metrics - Removed
governance_report - Removed
news_check - Added
order_contracts - Removed
ownership_block - Removed
ownership_full_analysis - Removed
ownership_major - Added
ownership_structure - Removed
ownership_total - Removed
ownership_treasury - Removed
ownership_treasury_tx - Added
proxy_advise_before_meeting - Added
proxy_contest - Removed
proxy_detail - Removed
proxy_direction - Removed
proxy_fight - Removed
proxy_full_analysis - Removed
proxy_litigation - Removed
proxy_search - Added
shareholder_commitment - Added
shareholder_meeting_notice - Removed
tool_guide - Added
treasury_share - Added
valuation - Added
value_up - Removed
value_up_plan
36 tool updates
v2.0.0- First observed
agm_agenda_xml - First observed
agm_aoi_change_xml - First observed
agm_capital_reserve_xml - First observed
agm_compensation_xml - First observed
agm_corrections - First observed
agm_financials_xml - First observed
agm_items - First observed
agm_parse_fallback - First observed
agm_personnel_xml - First observed
agm_post_analysis - First observed
agm_pre_analysis - First observed
agm_result - First observed
agm_retirement_pay_xml - First observed
agm_search - First observed
agm_treasury_share_xml - First observed
corp_identifier - First observed
div_detail - First observed
div_full_analysis - First observed
div_history - First observed
div_search - First observed
governance_report - First observed
news_check - First observed
ownership_block - First observed
ownership_full_analysis - First observed
ownership_major - First observed
ownership_total - First observed
ownership_treasury - First observed
ownership_treasury_tx - First observed
proxy_detail - First observed
proxy_direction - First observed
proxy_fight - First observed
proxy_full_analysis - First observed
proxy_litigation - First observed
proxy_search - First observed
tool_guide - First observed
value_up_plan
TDQS
Scored across 16 tools
Each tool targets a distinct disclosure or analysis task, and the extensive when/ref guidance actively routes users away from adjacent tools (e.g., value_up vs dividend, proxy_advise vs meeting notice). No two tools appear to serve the same purpose, despite the broad domain.
All names are lower_snake_case and mostly follow a descriptive noun-phrase pattern, which is readable and predictable. However, proxy_advise_before_meeting is verb-phrase styled, value_up is somewhat cryptic, and company is a bare noun among compound names, so the convention is not fully uniform.
Sixteen tools is just above the ideal 3-15 range, but each tool covers a distinct, substantive area of Korean corporate governance, financial, and proxy analysis. The scope is broad enough that the count feels slightly heavy yet justified.
The tool set repeatedly references tools that are not exposed, including shareholder_meeting_results, corp_gov_report, evidence, asset_holdings, and director_evaluation. These dangling cross-references create dead ends, most notably the absence of any post-meeting results tool despite proxy_advise_before_meeting directing users to one.
Maintenance
Related MCP Connectors
Korean equities in English: DART filings, activist & foreign-holder classification, KRX news.
Search company disclosures and financial statements from the Korean market. Retrieve stock profileโฆ
Powerful OpenDART API-based Korean corporate disclosure tools for accounting professionals
Korean stock market data - prices, dividends, short selling, financial disclosures
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides access to South Korea's DART (Data Analysis, Retrieval and Transfer System) financial disclosure system, enabling users to retrieve corporate information, financial statements, debt summaries, subsidiary investments, employee data, and stock information for Korean companies.5MIT
- AlicenseBqualityDmaintenanceProvides natural language access to South Korean corporate disclosure data, financial statements, and shareholder information through the DART Open API. It enables users to query 83 different tools for real-time reporting and regulatory filings from Korean listed companies.8321 PyPI3MIT
- AlicenseAqualityDmaintenanceEnglish-first Korean equity intelligence MCP โ translates Korean DART filings, foreign-holder 5%-rule flows (BlackRock / Vanguard / Norges / GIC plus 16 more), activist filings (KCGI / Align / ValueAct / Elliott), and KRX industry news to English on demand. 7 MCP tools, OSS self-host under AGPL-3.0.73AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered analysis of Korean stock market data and corporate disclosures using official DART and KRX APIs.146 npmISC