Skip to main content
Glama

미공시 내부거래 교차탐지 (J004↔J001)

detect_undisclosed_transactions

Compare annual J004 transaction records with J001 disclosures to flag potentially undisclosed large internal transaction candidates for compliance review.

Instructions

기업집단현황공시(J004) 대표회사 연1회 서식의 실제 거래내역을 대규모내부거래(J001) 공시와 대조해 "거래는 했는데 공시가 없는" 미공시 후보를 찾습니다. 후보는 확정이 아닙니다.

  • ★ 응답은 요약입니다. 상세(22만자~1MB)는 detail_access.result_id 로 read_detection_result 에서 이어 읽습니다. required_warnings·summary_incomplete·details_required 는 그대로 전달하고, 읽지 않은 상세를 "확인했다"고 말하지 마세요

  • ★ action_items_preview 부터 읽으세요 — 조치가 필요한 판정을 배열을 가로질러 모은 목록입니다. 매입회사 자본 기준 후보(perspective:"거래상대방")는 "기준 미달" 배열 안에 묻혀 있습니다. ⚠️ 이 목록이 비어도 "이상 없음"이 아닙니다 — 판정 못 한 범위는 not_judged·coverage 에 있습니다

  • 자금 차입은 건별 차입일 −90~+30일 근접 대조(가장 강한 신호). 기준금액은 같은 문서 자본으로 계산한 근사치이고 100억원 이상만 확실합니다

  • 상품·용역은 상대방 지분 요건(법 제26조제1항제4호)을 확인할 수 없어 전부 candidate_if_counterparty_qualified(조건부), 유가증권 총액만 있는 건은 candidate_aggregate_only(확인 대상)입니다

  • "공시 존재"는 공시 원문의 거래상대방까지 일치할 때만 냅니다. 같은 유형 공시가 있어도 원문 상대방이 다르거나 원문을 못 열면 not_judged — "공시 있음"도 "공시 없음"도 아닙니다. matching_filings_not_examined_total 은 열어 보지 않은 수입니다

  • 조인 실패·예산 초과·수집 불완전은 not_judged — "후보 아님"이 아니라 확인하지 못한 것

  • 약 60초 끊김을 피해 50초 안에 스스로 멈추고 부분 결과를 냅니다. ★ continuation.complete 가 false 면 같은 인자에 continuation_token 을 넣어 complete:true 까지 다시 호출하고, 마지막 호출의 결과만 최종으로 제시하세요 (호출당 20개사). continuation.stalled 면 남은 회사를 개별 조회하세요

⚠️ 한도성 의결·약관 금융거래 특례·보고서명 분류 오차로 실제로는 공시된 거래일 수 있고, 금액·거래기간까지 대조한 것은 아닙니다 — scope_caveats 참조. 미공시 과태료 기본금액 5,000만~7,000만원은 지연보다 무거워 오판의 대가가 큽니다.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNo연1회 J004 가 **제출된** 연도 (기본: 올해). 거래내역은 통상 그 전년도(직전 사업연도) 것이다
groupNo기업집단명 — 대표회사 연1회 J004 를 자동으로 찾는다 (rcept_no 와 동시 사용 불가)
todayNo오늘 날짜 (기본: 시스템 날짜). J001 검색창 상한
rcept_noNo점검할 J004 접수번호 직접 지정 (group 없이 단독 사용). 거래현황 표가 있는 **대표회사 연1회 서식**이어야 한다 — 분기 개별 서식에는 거래내역이 없다
continuation_tokenNo이전 호출이 continuation.complete:false 와 함께 돌려준 토큰. **같은 인자**(rcept_no 또는 group)와 함께 주면 안 본 회사부터 이어서 본다 — 앞 호출이 이미 받아 둔 J001 목록은 다시 받지 않는다. complete:true 가 나올 때까지 반복하면 그 마지막 결과가 온전한 답이다

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.6/5.0
Behavior5/5

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

With zero annotations the description carries the full burden and does so: it discloses the summary-vs-detail split (up to 1MB via read_detection_result), the obligation to pass required_warnings/summary_incomplete/details_required through unchanged, a ~50-second self-stop yielding partial results, 20 companies per call, continuation semantics, and the not_judged category. It also warns about false-positive causes (한도성 의결, 약관 금융거래 특례) and the cost of misjudgment via penalty figures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and then organized into bulleted constraints with ★ markers for must-reads, so the density is largely earned given the tool's pitfalls. It is still long and partially restates the continuation_token schema text, so it is not maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, yet the description names the key response fields an agent must handle (action_items_preview, required_warnings, summary_incomplete, details_required, continuation.complete, continuation.stalled, not_judged, scope_caveats). For a complex cross-document detector this covers what an agent needs to call and interpret it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds behavior beyond the schema: continuation_token must be paired with the same rcept_no/group, previously fetched J001 lists are not refetched, and each call covers 20 companies. It also reinforces the year-vs-prior-fiscal-year relationship, though that is largely duplicative of the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource: cross-matching actual transaction tables in the J004 annual representative-company form against J001 large-scale internal-transaction disclosures to surface 'undisclosed candidates.' It explicitly frames outputs as candidates, not confirmations, which distinguishes it from audit/consistency siblings like check_j004_consistency and audit_group_disclosures.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives rich operational guidance: read action_items_preview first, an empty list does not mean 'no issue', follow continuation_token until complete:true and present only the last call's result, and read details via read_detection_result. It names the detail-retrieval sibling but never explicitly contrasts when to pick this over other audit tools, so it stops short of full when/when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.