open-proxy-mcp
OpenProxy MCP provides AI-powered corporate governance analysis tools for Korean listed companies, leveraging DART (Korea's financial disclosure system) and other public data sources. It offers structured insights via MCP tools across the following domains:
Company Identification: Resolve unified identifiers (ticker, name, DART corp code, business registration number, industry code) from any input.
Shareholder Meeting (AGM) Analysis: Search convening notices, parse structured agendas (director/auditor candidates, compensation limits, articles of incorporation changes, treasury share and capital reserve items), retrieve voting results (pass/fail, approval rates), and run pre- and post-AGM analyses with FOR/AGAINST/REVIEW voting recommendations. Includes PDF/OCR fallback for incomplete XML data.
Ownership Structure: Map major shareholders and related parties, track 5%+ block holdings and ownership purpose changes, detail total issued/treasury/float shares, and run full ownership analysis integrating annual reports with real-time disclosures.
Dividend Analysis: Search dividend disclosures, retrieve DPS, total dividend amount, payout ratio, and yield for common and preferred shares, and analyze multi-year dividend trends.
Proxy Contests & Litigation: Detect management disputes, analyze proxy solicitations (company-side vs. shareholder-side), compare agenda-by-agenda voting directions, track litigation timelines (injunctions, rulings), and run full control dispute analyses.
Value-Up Plans: Search and parse corporate value enhancement disclosures and compare with actual shareholder return execution (dividends, treasury share transactions).
Financial Metrics & Valuation: Integrate DART financial data (profitability, stability, cash flow, DuPont analysis, auditor opinions) and calculate key valuation metrics (PER, PBR, dividend yield) with market, industry, and historical comparisons.
Corporate Risk Events: Monitor disclosures on serious accidents, embezzlement, breach of trust, and production stoppages. Includes news checks on director/auditor candidates across major Korean newspapers.
Comprehensive Governance Report: Generate an integrated report combining AGM, ownership, dividends, proxy contests, and value-up plans across all domains in parallel.
Tool Guidance: Get execution guides covering tool chains, parsing limitations, and proxy voting judgment criteria.
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. Dates show when Glama detected each change.
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
Tools are highly specialized with detailed 'when' and 'rule' fields that clearly indicate usage context, reducing ambiguity. However, the sheer number of 36 tools and some overlapping responsibilities (e.g., multiple 'ownership_*' tools for similar data) require careful reading, preventing a perfect score.
All tools use snake_case with domain prefixes (agm_, div_, ownership_, proxy_, etc.), creating a predictable pattern. Minor inconsistencies exist (e.g., 'agm_items' lacks '_xml' suffix while 'agm_agenda_xml' has it; 'proxy_full_analysis' vs 'proxy_fight'), but overall the structure is clear and systematic.
The domain of Korean corporate governance is complex, justifying many specialized tools. However, 36 tools is on the high side; many are low-level (tier-5) and should not be called directly, relying instead on a few orchestration tools. This could overwhelm agents without the clear tier guidance.
The tool set covers all major governance areas: AGM lifecycle, ownership structures, dividends, proxy contests, litigation, value-up plans, and corporate identity. Orchestration tools (e.g., governance_report, agm_post_analysis) integrate them well. Minor gaps exist (e.g., no dedicated tool for financial statement analysis outside AGM), but the core surface is solid.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.3MIT
- 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.833MIT
- 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.248ISC
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarcoYou/open-proxy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server