gongsi-mcp
The gongsi-mcp server is a specialized MCP server for Korean Fair Trade Commission (KFTC) corporate group disclosure compliance. It helps disclosure officers determine whether disclosures are required, calculate deadlines and penalties, audit filings, perform pre-submission consistency checks, assess correction risks, and find precedents and official guidance—all with legal citations and formulas.
Determine disclosure obligations and deadlines:
check_disclosure_dutyassesses whether large internal transactions, unlisted material matters, group status, or other events require disclosure; calculates listed/unlisted deadlines (3/7 business days) and penalty estimates.calc_business_dayscomputes Korean business days, holidays, and deadline adjustments. These tools work without an API key.Audit and self-check disclosures:
audit_group_disclosurescompares filing receipt dates with board decision dates to flag late filings across a group or for specific companies;check_j004_consistencyverifies J004 group status disclosures for arithmetic errors, unit mistakes, and cross-document discrepancies.Estimate penalties and assess correction risks: Tools provide penalty estimates with reduction schedules based on delay days and transaction amounts;
assess_correction_riskevaluates whether correcting a disclosure could trigger penalties, distinguishes error types, and advises on voluntary correction golden time.Search official guidance and precedents:
search_ftc_qnasearches 430+ official KFTC Q&A cases;find_precedentsretrieves similar disclosure examples from other companies;read_disclosurereturns full original texts with board decision dates;search_disclosuressearches public filings with KFTC presets and transparent diagnostics.Retrieve entity, group, and financial data:
resolve_entityidentifies companies or groups by name, stock code, or legal entity ID;get_group_structurereturns group composition and financial summaries (requires EGROUP_API_KEY);get_financialsfetches financial statements used as inputs for disclosure calculations.Server diagnostics:
server_infochecks server status, API key recognition, cache, and holiday data validation.
All outputs include citations to legal clauses, calculation formulas, and source data to avoid unsupported conclusions.
Provides integration with the DART (OpenDART) API for searching, reading, and auditing Korean corporate disclosure filings, including disclosure duty determination, deadline calculation, penalty estimation, and financial data retrieval.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gongsi-mcp80억 자금대여, 공시 대상인지와 기한 알려줘"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gongsi-mcp
공시담당자를 위한 DART 전자공시 + 공정위 기업집단포털 MCP 서버. 공정거래위원회 기업집단 공시(대규모내부거래·기업집단현황·비상장사 중요사항)의 대상 판정 · 기한 계산 · 예상 과태료 · 제출 전 자가점검 · 타사 선례를 — 모든 답에 근거(조문·계산식·원천 데이터)를 동봉해서.
기존 DART MCP들은 전부 투자·재무 분석 관점입니다. 이 서버는 반대편 — 공시를 제출하는 사람 — 을 위해 만들었습니다.
"이거 공시사항이야?"라는 전화를 받은 순간부터 점검을 통과할 때까지, 물어볼 사람이 없어도 혼자서 확신을 가질 수 있도록.
⚡ 30초 설치
Node.js 22.5+ 만 있으면 됩니다.
npx -y gongsi-mcp setup대화형 마법사가 ① 인증키를 실제 API 호출로 검증하고 ② ~/.gongsi-mcp/.env 에 저장한 뒤 ③ 룰 엔진 자가검증(실제 공시 사례 재현)까지 돌립니다. 이어서:
claude mcp add gongsi-mcp -- npx -y gongsi-mcp다른 클라이언트(Claude Desktop·Cursor 등)는 아래 설치 상세 참고.
Related MCP server: dart-mcp
💡 이렇게 물으면, 이렇게 답합니다 — 전부 실측 사례
도구 이름을 알 필요 없습니다. 그냥 말하면 Claude 가 알아서 맞는 도구를 부릅니다.
💬 "비상장 계열사에 80억 자금대여 의결했어 (자본총계 1,200억). 공시 대상이야? 기한은?"
공시 대상입니다. 기준금액 = min(100억, max(5억, 자본총계 1,200억 × 5%)) = 60억 ≤ 거래 80억. 이사회 의결일(7/22) 다음 날부터 7영업일 — 기한 7/31. 근거: 대규모내부거래 고시 §6①. (실제 공시 사례와 대조 검증된 계산입니다. 참고로 웹에 퍼진 "1일 이내"는 오정보 — 고시 원문은 상장 3영업일 / 비상장 7영업일)
💬 "30억 내부거래 공시를 5일 늦게 냈어. 과태료 얼마 나와?"
예상 165만원. 산식 전문을 함께 드립니다:
(기본금액 500만원 + 일수가산 50만원) × 거래금액 적용비율 60%(20억~40억 구간) = 기준금액 330만원 − 지연 7일 이하 감경 50% = 165만원거래금액을 안 알려주시면 "이 값은 상한선(최대 275만원)"이라고 명시합니다 — 조용히 과대·과소 산정하지 않습니다.
💬 "기한 놓친 지 3일째인데 아직 공시 전이야. 지금 내면 뭐가 달라져?"
자진시정 골든타임(기한 다음 날부터 10영업일)이 아직 열려 있습니다 — 종료일·남은 영업일·면제 요건(신규 지정 30일 내, 사소한 부주의 등)을 알려드립니다. 골든타임이 지나도 지연 3일 이하는 75% 감경 구간이라, 하루라도 빨리 내는 게 유리하다는 계산까지.
💬 "우리 회사 6~7월 대규모내부거래 공시, 지연된 거 있는지 감사해줘"
해당 기간 공시 5건 전수 대조 완료 — 원본 접수일 vs 원문 이사회 의결일 기준 전부 기한 내입니다. 집단 단위 감사도 됩니다(실측: 삼성 67개 계열사 조인). 대규모내부거래 위반의 94~95%가 "기한" 유형(공정위 실측) — 이 도구가 잡는 게 바로 그것입니다.
💬 "기업집단현황공시 제출본, 숫자 틀린 데 없는지 점검해줘"
재무현황 표에서 불일치 3건을 찾았습니다 — 예: ○○사 자산총계가 유동+비유동 합계와 7.28억 차이. 각 건의 행·기대값·실제값을 제시하니 제출 전에 원본과 대조하세요. (실제 제출된 공시에서 검출된 실측 사례, 오탐 0. 공시의무 위반 건수의 84%가 이 공시(J004)에서 나옵니다)
💬 "사모사채 발행 공시, 다른 회사는 어떻게 썼는지 5년치 선례 찾아줘"
3개사 선례를 원문과 함께 가져왔습니다. 어디까지 훑었는지(
coverage)도 함께 — 훑지 않은 구간을 "없다"고 말하지 않습니다.
💬 "계열사 발행어음이 만기 자동연장됐는데, 이것도 공시해야 해?"
규칙만으로 판정하기 어려운 경계사례라, 공정위 공시 업무 매뉴얼(2026. 4.)의 해당 공식 문답을 원문 그대로 출처·연도와 함께 인용해 드립니다.
💬 "2027년 5월 1일이 기한 말일이면 실제로 언제까지 내면 돼?"
5/4(화) 까지입니다. 5/1 노동절(2026-04-30 규정 개정으로 신설) · 5/2 일요일 · 5/3 대체공휴일을 건너뛴 결과 — 건너뛴 날짜와 사유·근거 조문을 동봉합니다. (모델의 달력 지식이 아니라 공식 공고와 대조 검증된 데이터로 계산)
이런 사람에게 딱
기업집단 소속 회사의 공시담당자·공정거래팀 — 대상 판정, 기한 관리, 제출 전 점검이 일상인 사람
"GPT한테 물어봤더니 이상한 말만 해서" 근거 조문이 있는 답이 필요한 사람
물어볼 선배가 없는 신규 담당자 (공정위가 공식 지목한 위반 1순위 원인이 "신규 담당자 업무 미숙")
이런 사람한텐 다른 도구가 낫다
투자·재무 분석이 목적 — 재무비교·내부자거래·XBRL은 투자 관점 DART MCP들이 훨씬 잘합니다 (관점이 정반대라 같이 설치해도 됩니다)
거래소(KRX) 공시 판정 — 이 서버는 공정위 공시 전용. 유가증권시장 공시 규정 판정은 다루지 않습니다
서식 자동 작성·자동 제출을 원하는 사람 — 의도적으로 만들지 않았습니다. 판정·근거·초안까지만, 제출은 담당자의 몫
솔직한 진입 장벽
OpenDART 인증키 발급이 필요합니다 (무료, 즉시 — 판정·기한·과태료 등 핵심 기능은 키 없이도 동작)
판정 결과는 법령·고시 원문 기반 참고 정보입니다 — 공정위 유권해석이 아니며, 최종 확인은 소관 부서에
기존 DART MCP와의 차별점
공개 DART MCP 5종 조사 결과(2026-07 기준) 전부 투자·재무 관점이었고, 공정위 기업집단 공시 판정을 다루는 것도, 공정위 기업집단포털 API를 쓰는 것도 없었습니다.
기능 | 일반 DART MCP | gongsi-mcp |
관점 | 공시를 읽는 사람 (투자자) | 공시를 제출하는 사람 (공시담당자·공정거래팀) |
공정위 공시(J) 대상 판정 · 기준금액 계산 | ❌ | ✅ 기준금액 min(100억, max(5억, 자본×5%)) 자동 계산 — 근거 조문·계산식·입력값 전부 동봉 |
공시기한 계산 (영업일·공휴일) | ❌ | ✅ 상장 3영업일 / 비상장 7영업일 등 유형별 기한. 공휴일 데이터는 2026·2027 공식 공고와 대조 검증 (노동절 신설·대체공휴일 반영) |
예상 과태료 (별표9 + 고시 2종) | ❌ | ✅ 기본금액 + 일수가산 + 거래금액별 적용비율(50~100%) + 가중·감경 + 상한까지 — 산식 전문 제공, 미확정이면 "상한선" 명시 |
공정위 기업집단포털 결합 | ❌ (사용 사례 전무) | ✅ 법인등록번호로 DART와 조인 — 계열사 전수 목록·집단 재무·동일인 정보 |
공정위 공식 Q&A 근거 제시 | ❌ | ✅ 430건 (2026. 4. 공시 업무 매뉴얼 주요 사례 포함) — 규칙으로 판정 안 되는 경계사례에 공식 답변 인용, 폐지된 옛 기준은 경고 |
기한 감사 (접수일 vs 의결일) | ❌ | ✅ 원본 접수분과 원문 이사회 의결일을 전수 대조 — 지연 후보에 예상 과태료·자진시정 골든타임 동봉 |
정정 이전 원본 보존 | 대부분 최종본만 | ✅ 검색 기본값이 원본 접수분 — 최종본만 보면 지연 판정 자체가 불가능하기 때문 |
제출 전 정합성 자가점검 | ❌ | ✅ 자산=부채+자본 항등식 · 소계 재합산 · 부채비율 재계산 · 대표회사↔개별회사 문서 간 대사 |
검색 절단·부분결과 명시 | 도구마다 다름 | ✅ 모든 응답에 |
포지셔닝 한 줄
투자 관점 DART MCP가 "이 회사 사도 되나"에 답한다면, gongsi-mcp 는 "이거 공시해야 하나, 언제까지, 안 하면 얼마"에 답합니다.
정직한 약점
DART 일반 조회 커버리지는 좁습니다 — 재무·검색·원문 등 6개 범용 도구만 있고, XBRL·지분공시·임원보수 같은 투자 분석 엔드포인트는 없습니다. 그쪽이 필요하면 투자 관점 MCP를 같이 쓰세요.
기업집단포털은 연 1회(매년 5/1 기준) 갱신입니다 — 연중 신규 편입은 포털에 늦게 반영되며, 응답에 기준 시점을 명시합니다.
대규모 기간·집단 전체 감사는 MCP 클라이언트의 60초 제한 때문에 분할 안내를 돌려줍니다 (원문 캐시가 쌓이면 재감사는 빨라집니다).
판정은 참고 정보입니다. 법률 자문·유권해석이 아닙니다.
도구 (13개)
판정·리스크 (공정위 공시 특화 — 이 서버에만 있는 것)
도구 | 설명 |
| 공시의무 판정 + 기한 계산 + 예상 과태료 — 근거 조문·계산식 동봉, 인증키 불필요. 거래 상황을 서술하면 유사 공정위 공식 Q&A도 근거로 첨부. 기한을 놓쳤으면 자진시정 10영업일 골든타임(면제 사유·남은 영업일)을 안내. 비상장사 중요사항은 대상회사 판정(자산 100억·동일인 지분 20%)과 무조건 공시 사유 7종까지 |
| "정정하면 과태료 나온다?" — 커뮤니티 썰 진단. 과태료 고시의 위반행위 열거에 정정은 없다는 원문 근거와 함께, 오류 성격별(단순 오기·계산 실수·내용 누락·거짓 기재·거래 변경) 리스크와 골든타임 일정 제시 |
| 기업집단현황공시(J004) 제출 전 자가점검 — 재무표 항등식·소계 재합산·부채비율 재계산·단위 오류 힌트 + 대표회사↔개별회사 공시 대사. 대사가 수행되지 못한 건은 "정합"으로 세지 않고 별도 verdict 로 보고 |
| 기업집단·회사의 대규모내부거래(J001) 기한 감사 — 원본 접수일 vs 원문 의결일 대조, 지연 후보에 예상 과태료·자진시정 골든타임 동봉 |
| 공정위 공식 Q&A 430건 검색(2026. 4. 27. 공시 업무 매뉴얼 주요 사례 포함) — 규칙으로 판정 안 되는 경계사례에 공정위 공식 답변을 근거로 제시. 옛 문서의 폐지된 기준은 caveat 로 표시 |
| 영업일·공휴일·기한 날짜 계산 — 기한 말일이 주말·공휴일이면 언제까지인지, N영업일/N달력일 기한, 남은 영업일. 건너뛴 날짜·근거 조문 동봉, 인증키 불필요 |
검색·원문·선례 (범용)
도구 | 설명 |
| 공시 검색 — 공정위 프리셋 내장, 적응형 분할 전수 수집, 절단·부분결과를 조용히 넘기지 않음 |
| 공시 원문을 표 구조 보존 마크다운으로 — 이사회 의결일 자동 추출 |
| 같은 유형 공시를 회사당 1건씩 원문과 함께, 최대 5년치. |
| 회사·기업집단 통합 식별 — 동명 법인을 임의로 고르지 않음 |
| 기업집단 개요 + 소속회사 전수 + 재무현황 (공정위 포털 결합) |
| 재무제표 조회 — 자본총계·자본금이 판정 도구 입력으로 직결 |
| 서버 상태 진단 — 버전, 키 인식 여부, 오늘 호출 잔량, 캐시 규모, 공휴일 데이터 검증 연도. "키를 넣었는데 인식이 안 돼요"의 진단 창구 |
설치 상세
0단계: 인증키 발급 — DART 키 하나면 됩니다
DART_API_KEY 하나만 OpenDART에서 무료 발급받으세요 (즉시, 일 20,000건).
참고로 핵심 판정 기능(공시의무 판정·기한·과태료·영업일 계산·정정 리스크·공정위 Q&A)은 룰 엔진 + 내장 데이터로 동작해서 키가 없어도 사용 가능합니다. 키가 더 필요한 고급 기능(계열사 전수 조회 등)을 부르면 도구가 발급 절차를 그 자리에서 안내합니다.
방법 1: setup 마법사 + Claude Code (권장)
npx -y gongsi-mcp setup
claude mcp add gongsi-mcp -- npx -y gongsi-mcp마법사가 키를 실호출로 검증하고 ~/.gongsi-mcp/.env 에 저장 — 서버가 자동으로 읽는 위치라 등록 시 env 를 다시 줄 필요가 없습니다.
비대화 모드: npx gongsi-mcp setup --dart-key <키> [--egroup-key <키>] --no-input
방법 2: Claude Desktop / Cursor 등 (설정 파일)
설정 파일에 추가 (YOUR_API_KEY 교체):
앱 | 설정 파일 위치 |
Claude Desktop (Windows) |
|
Claude Desktop (Mac) |
|
Cursor | 프로젝트 |
{
"mcpServers": {
"gongsi-mcp": {
"command": "npx",
"args": ["-y", "gongsi-mcp"],
"env": {
"DART_API_KEY": "OpenDART에서 발급받은 키"
}
}
}
}Windows에서 실행 실패 시: 클라이언트가
npx를 못 찾는 경우"command": "cmd", "args": ["/c", "npx", "-y", "gongsi-mcp"]로 래핑하세요.MS 스토어판 Claude Desktop: 설정 파일이 가상화 경로에 있습니다 —
%LOCALAPPDATA%\Packages\Claude_*\LocalCache\Roaming\Claude\claude_desktop_config.json.%APPDATA%\Claude를 고쳐도 앱이 읽지 않습니다.
방법 3: 소스 클론 (개발)
git clone https://github.com/dolseom/gongsi-mcp.git && cd gongsi-mcp
npm install && npm run build
node dist/src/cli.js setup
claude mcp add gongsi-mcp -- node <절대경로>/dist/src/cli.js요구사항: Node.js 22.5+ (런타임 의존성 2개 — MCP SDK, zod. SQLite는 Node 내장 사용)
설계 원칙 — 이 도구가 가장 피하는 실패는 "거짓 안심"
감사·판정 도구의 최악의 출력은 틀린 경고가 아니라 확인하지 못했는데 "문제 없음"이라고 말하는 것입니다. 담당자가 그 말을 믿고 공시를 안 하면 과태료가 나옵니다. 그래서:
모든 판정에 근거 동봉 — 조문·계산식·원천 데이터 없이 결론만 주지 않는다
절단을 조용히 넘기지 않는다 — 모든 검색 응답에
diagnostics(truncated·partial_results·분할 내역), 선례 검색에coverage(훑은 구간·전수 여부) 동봉확인 못 한 것은 "없음"이 아니라 "미확인"으로 — 대사 실패는 "정합"이 아니고, 예산 초과로 못 훑은 구간은 "그런 공시 없음"이 아니다
정정 이전 원본을 보존한다 — 검색 기본값이 원본 접수분. 최종본만 보면 지연 판정이 불가능하다
법령 세부는 원문으로만 — 웹에 퍼진 "공시기한 1일"·"50억 기준" 같은 오정보를 원문 대조로 걸러냄
자동 제출 기능은 만들지 않는다 — 초안·판정·근거까지만. 최종 제출은 담당자의 몫
검증: 테스트 299개 · 공휴일 데이터 공식 공고 대조(2026·2027) · 실제 공시 사례 재현 · 3자 교차검토(치명 경로 전수 수정).
면책
본 도구의 판정·과태료 추정은 법령·고시 원문에 근거한 참고 정보이며 법률 자문·공정위 유권해석이 아닙니다. 공휴일 데이터(기한 계산의 기초)는 2026·2027년분이 공식 공고와 대조 검증되어 있으며, 미검증 연도는 응답에 경고가 동봉됩니다.
참고
OpenDART — 금융감독원 전자공시 API
공정위 기업집단포털 — 지정 집단·소속회사·재무 (공공데이터포털 API)
라이선스
Available Tools
12 toolsassess_correction_risk정정공시 리스크 진단A
"정정하면 과태료 나온다"는 속설을 과태료 고시 원문으로 진단합니다. 정정공시 자체는 위반행위가 아니며 (고시 Ⅱ의 위반 열거에 없음), 문제는 원 공시의 상태(누락·거짓·지연)입니다. 로컬 룰이라 인증키 없이 동작합니다.
errorType 별로 원 공시의 위반 성립 여부, 면제 경로(자진시정 골든타임·단순오류·불가항력), 권고를 근거 조문과 함께 돌려줍니다
originalDeadline 을 주면 골든타임(기한 만료 후 10영업일) 상태와 지연 감경 축소 일정(75%→50%→30%→20%)을 계산합니다
거래 내용 자체가 변경된 경우(transaction_changed)는 정정이 아니라 새 공시의무입니다 — 재의결·재공시 경로를 안내합니다
면제·감경은 모두 공정위 재량이므로 확정이 아닌 판단 재료입니다
| Name | Required | Description | Default |
|---|---|---|---|
| today | No | 판정 기준일 (기본: 시스템 날짜) | |
| regime | Yes | 과태료 체계. art26_29=대규모내부거래·공익법인(약관특례·상품용역 감소 포함), art27_28=비상장사 중요사항·기업집단현황 | |
| errorType | Yes | 원 공시 오류의 성격. trivial_error=명칭·성명·날짜·금액 등 단순 오기·누락(오인 가능성 거의 없음), minor_miscalculation=단순 계산 실수·오기(사소한 부주의), content_omission=주요내용 누락, false_content=사실과 다른 기재, transaction_changed=거래의 주요내용 자체가 변경됨(정정이 아니라 새 공시의무) | |
| crossConfirmable | No | 오류의 사실내용이 해당 공시 또는 이전의 다른 공정거래법 공시 내용으로 확인 가능한지 — 사소한 부주의 면제(Ⅴ.1.나)의 성립 요건입니다 | |
| originalDeadline | No | 원 공시의 법정 기한 (YYYYMMDD). 주면 자진시정 골든타임과 지연 감경 축소 일정을 계산합니다 | |
| newlyDesignatedWithin30d | No | 위반 공시일이 공시대상기업집단 신규 지정·계열 편입 통지일부터 30일 이내인지 (Ⅴ.1.가) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it explains what the tool returns (violation status, exemption paths, recommendations with cited provisions), how it uses originalDeadline to calculate golden time and mitigation schedules, and that exemptions are discretionary judgment material. It also notes local rule behavior without needing an API key.
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 an intro paragraph and four bullet points, each covering a distinct behavioral aspect. Every sentence adds substance, with no redundancy.
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 no output schema and no annotations, the description adequately explains return values and behavior: it lists the output types (violation status, exemption paths, recommendations, schedules) and the special path for transaction_changed. It also notes the discretionary nature of exemptions, making it complete for a diagnostic 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?
The schema already covers 100% of parameters with descriptions. The description adds value by explaining how errorType maps to violation/exemption logic and how originalDeadline triggers additional calculations, plus the special transaction_changed case. It also references crossConfirmable and newlyDesignatedWithin30d via exemption path 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 the tool diagnoses correction disclosure risk based on the penalty notice, explaining it evaluates whether the original disclosure constitutes a violation and returns exemption paths and recommendations. This distinguishes it from siblings like find_precedents or check_disclosure_duty by focusing specifically on correction risk.
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 implies when to use the tool (to assess whether a correction incurs a penalty) and provides specific guidance for transaction_changed, stating it is not a correction but a new disclosure obligation. However, it does not explicitly compare to sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_group_disclosures대규모내부거래 기한 감사A
기업집단(또는 회사 목록)의 대규모내부거래(J001) 공시를 기간 단위로 감사해 기한 지연 후보를 찾습니다. 원본 접수분의 접수일과 원문에서 추출한 이사회 의결일을 대조합니다 (상장 3영업일 / 비상장 7영업일).
지연 후보에는 지연일수·예상 과태료·자진시정 골든타임 상태·근거가 동봉됩니다 — "후보"이며 확정이 아닙니다
약관 금융거래 특례 서식(분기 일괄, 의결일 없음)은 별도 분류로 나옵니다
정정 제출분은 판정에서 제외하고 원본만 봅니다 (지연 판정의 성립 조건)
범위가 크면 range_too_large 와 분할 구간을 안내합니다 — 원문 캐시는 영구라 재감사는 훨씬 빠릅니다
집단 감사는 EGROUP_API_KEY 필요. coverage 의 미조인 회사는 감사에서 빠진 것이니 반드시 확인하세요
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | 감사 기간 종료일 | |
| from | Yes | 감사 기간 시작일 (접수일 기준) | |
| group | No | 기업집단명("삼성") 또는 집단코드("K1000032"). companies 와 둘 중 하나 필수 | |
| today | No | 판정 기준일 (기본: 오늘). 자진시정 골든타임 계산에 쓴다 | |
| companies | No | 회사 목록 — 회사명 또는 corp_code(8자리). 집단 전체 대신 특정 회사만 감사할 때 | |
| year_month | No | 집단 소속회사 기준 공개년월 (기본: 최신 지정연도) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It is exceptionally transparent: it discloses the output payload (delay days, penalty, golden-time status, basis), the 'candidate not confirmed' caveat, exclusion of correction filings, separate classification of special financial-transaction forms, range_too_large handling, permanent cache behavior, and auth requirements. This goes far beyond what an agent could infer from the schema.
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 and well-structured: a single lead sentence defines the core function, followed by five focused bullet points that each add a distinct, non-redundant caveat. Every sentence earns its place with no filler or repetition.
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 of a date-range audit tool with six optional/required parameters and no output schema, the description is remarkably complete. It covers input selection logic, the audit method, expected output fields, special-form handling, corrections exclusion, range-limit feedback, caching, and auth requirements, giving the agent a full mental model.
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 schema already describes all parameters at 100% coverage, so the baseline is 3. The description adds meaningful semantics by explaining that group and companies are mutually exclusive selectors with one required—a constraint not reflected in the schema's required array. It also links today to the golden-time calculation and clarifies that from/to are receipt-date based, adding value over the schema 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 opens with a specific verb (감사해) and resource (대규모내부거래(J001) 공시), clearly stating it audits disclosures to find deadline-delay candidates. It distinguishes the tool from siblings by describing the exact comparison method (receipt date vs. board resolution date) and the listed/unlisted business-day thresholds.
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 makes the intended context clear: audit J001 disclosures for a business group or company list over a date range. It also flags prerequisites such as EGROUP_API_KEY and warns that unjoined coverage companies are omitted. However, it does not explicitly name alternative tools or state when not to use it, stopping short of full 'when vs. alternatives' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_business_days영업일·공휴일·기한 날짜 계산A
한국 영업일·공휴일 기준의 날짜 계산을 담당합니다. 날짜 하나를 주면 영업일 여부와 공휴일 명칭, 기한 말일이 비영업일일 때의 다음 최초 영업일을 돌려주고, N영업일/N달력일 기한 계산과 남은 영업일 세기도 지원합니다. 로컬 데이터라 인증키 없이 동작합니다.
⚠️ 공휴일은 법령 개정으로 바뀝니다 — 예: 2027년부터 노동절(5/1)이 공휴일로 신설되어 2027-05-03(월)이 대체공휴일입니다. 모델의 자체 달력 지식은 최신 개정을 모를 수 있으므로, 기한·영업일·공휴일이 걸린 날짜 질문에는 반드시 이 도구를 호출하세요.
결과에는 건너뛴 비영업일 목록(날짜·요일·공휴일 명칭)과 근거 조문이 동봉됩니다
근로자의 날(5/1)은 관공서 공휴일이 아니어서 민법 기간계산과 고시 영업일 계산이 갈립니다 — 해당 시 notes 로 안내합니다 (2027년부터는 노동절 공휴일 신설로 차이가 사라집니다)
공휴일 데이터가 없거나 미검증인 연도는 warnings 로 알립니다 — 경고가 있으면 결과를 단정하지 마세요
공시유형이 특정된 기한 판정(대규모내부거래 등)은 check_disclosure_duty 가 근거 조문까지 계산합니다
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | 기준일 (YYYYMMDD). 단독으로 주면 이 날짜가 영업일인지, 아니라면 어느 공휴일인지와 다음 최초 영업일(기한 말일 조정 결과)을 돌려줍니다 | |
| add_business_days | No | 기준일 다음 날부터 N영업일 후의 기한을 계산합니다 (예: 이사회 의결일 + 상장 3영업일 / 비상장·공익법인 7영업일) | |
| add_calendar_days | No | 기준일 다음 날부터 N일(달력일) 후의 기한을 계산합니다 (예: 분기 종료 후 45일). 말일이 비영업일이면 다음 영업일로의 조정 결과를 함께 줍니다 | |
| count_business_days_to | No | 기준일 다음 날부터 이 날짜까지의 영업일 수를 셉니다 (예: 오늘부터 기한까지 남은 영업일) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and does so thoroughly: it discloses local data/no auth key, warns that legal amendments change holidays, explains Workers' Day divergence, and states that missing/unverified data produces warnings that should prevent the agent from asserting results. It also mentions the result includes skipped non-business days and legal basis clauses.
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 longer than ideal but front-loads the core function in the first sentence and organizes warnings and behavior into clear bullets. Each sentence adds meaningful operational context, so it remains efficient despite its length.
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?
For a 4-parameter tool with no output schema and no annotations, this description covers return contents (skipped days, legal basis, warnings, notes), data-source caveats, and sibling division of labor. It is complete enough for an agent to invoke and interpret results safely.
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 100%, so the schema already documents all four parameters with examples. The description only reiterates general support for N-business-day/N-calendar-day calculations and adds no parameter-specific semantics 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?
Description declares '한국 영업일·공휴일 기준의 날짜 계산을 담당합니다' and enumerates concrete functions: checking a date, adding N business/calendar days, and counting remaining business days. It also distinguishes itself from sibling check_disclosure_duty by delegating disclosure-type deadline determinations.
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 instructs to call this tool for any date question involving deadlines/business days/holidays because model calendar knowledge may be outdated. It also provides exclusion guidance: check_disclosure_duty handles deadline determinations for specific disclosure types, including legal basis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_disclosure_duty공시의무 진단·기한 계산A
공정거래법상 공시의무 대상 여부를 판정하고 공시기한·지연 시 예상 과태료를 계산합니다. 외부 API를 쓰지 않으므로 인증키 없이 동작합니다.
판정 결과에는 항상 근거 조문과 계산식이 포함됩니다. 자본총계·자본금이 없으면 추정하지 않고 insufficient_data 를 반환하므로, 그때는 get_financials 로 재무수치를 먼저 조회하세요.
⚠️ 거래금액 산정 방식(amountBasis)에 주의하세요 — 담보제공은 담보한도액, 부동산임대차는 연간임대료+보증금환산액, 보험은 보험료총액, 상품·용역은 분기 합계액입니다. 틀리면 판정이 뒤집힙니다.
| Name | Required | Description | Default |
|---|---|---|---|
| duty | Yes | 공시의무 유형. large_internal_transaction=대규모내부거래(법§26), unlisted_material=비상장사 중요사항(법§27), group_status=기업집단현황(법§28), public_interest_corp=공익법인(법§29), omnibus_financial=약관에 의한 금융거래 특례(고시§9), goods_services_reduced=상품·용역 20%↑ 감소(고시§9의2) | |
| year | No | 연도 (기업집단현황) | |
| today | No | 오늘 날짜 (기본: 시스템 날짜). D-day 계산 기준 | |
| amount | No | 거래금액 (원). 기준금액과 비교해 공시 대상 여부를 판정하고, 지연 시 과태료의 거래금액별 적용비율(고시 Ⅵ.2 — 100억원 미만이면 90~50%)에도 쓰인다. 약관 금융거래는 분기 일괄 거래금액, 상품·용역 감소 특례는 실제 거래금액을 넣는다 | |
| listing | No | 상장 여부. 대규모내부거래 기한이 갈린다 (상장 3영업일 / 비상장 7영업일) | |
| quarter | No | 분기. 지정하면 분기공시(종료 후 2개월), 생략하면 연1회(5/31) | |
| boardDate | No | 이사회 의결일 (대규모내부거래·공익법인) | |
| situation | No | 거래 상황 서술 (예: "계열사 발행어음이 만기 후 자동연장됨", 500자 이내). 주면 유사한 공정위 공식 Q&A를 relatedOfficialQna 로 함께 돌려줍니다 — 규칙만으로 판정하기 어려운 경계사례(대상 여부·거래 성격)에 유용합니다 | |
| quarterEnd | No | 분기 종료일 (약관 금융거래·상품용역 감소) | |
| amountBasis | No | 거래금액 산정 방식 (고시§4③). ⚠️ 틀리면 판정이 뒤집힌다. collateral_limit=담보제공은 담보한도액, lease_annualized=부동산임대차는 연간임대료+보증금환산, insurance_premium_total=보험은 보험료총액, quarterly_sum=상품용역은 분기 합계액 | |
| totalAssets | No | 자산총액 (원). 비상장사 중요사항 중 고정자산 판정용 | |
| totalEquity | No | 자본총계 (원). 주총 승인된 최근 사업연도말 재무제표 기준 | |
| materialItem | No | 비상장사 중요사항 세부 항목. 임계 비율형: fixed_asset=고정자산 취득·처분(자산총액 10%), other_corp_stock=타법인 주식(자기자본 5%), gift=증여(1%), guarantee=담보·보증(5%), debt_relief=채무 면제·인수(5%), shareholding_change=최대·주요주주 지분 1%p 변동. 금액 무관 결정형: capital_change=증자·감자, cb_bw_issue=CB·BW 발행, business_transfer=영업양수도·합병·분할, stock_exchange_transfer=주식 포괄적 교환·이전, dissolution=해산, rehabilitation=회생절차, restructuring_procedure=기촉법 관리절차 | |
| occurredDate | No | 사유 발생일 (비상장사 중요사항) | |
| paidInCapital | No | 자본금 (원). 이사회 의결일 직전일 기준 | |
| shareChangePct | No | shareholding_change 전용 — 발행주식총수 대비 지분 변동 크기 (%p). 1 이상이면 공시 대상 | |
| shareholderType | No | shareholding_change 전용 — largest=최대주주(7영업일 공시) / major=주요주주(분기별 공시, 고시 §5의2④ 단서). 기한이 완전히 달라지므로 반드시 구분하세요 | |
| disclosureStatus | No | 공시 이행 상태. not_disclosed(아직 공시 전)를 명시하면 기한 경과 시 자진시정 골든타임을 계산합니다. 생략하면 미공시로 단정하지 않습니다 — 기한만 조회하는 호출과 구분하기 위한 명시적 입력입니다 | |
| isFinancialCompany | No | 금융업·보험업 영위 여부 (비상장사 중요사항 대상회사 판정용 — 영위하면 제외) | |
| specialRelated20pct | No | 자산총액 100억 미만 회사의 대상 판정용 — 동일인·친족이 합산 20% 이상 소유한 회사(또는 그 회사가 50% 초과 소유한 자회사)인지 (고시 §2②2호) | |
| actualDisclosureDate | No | 실제 공시일. 주면 기한 준수 여부와 지연일수를 함께 판정한다 | |
| estimatePenaltyIfLate | No | 지연이 확인되면 예상 과태료도 함께 산정할지 (기본 true) | |
| inLiquidationOrDormant | No | 청산 절차 진행 중 또는 1년 이상 휴업 중인지 (고시 §2②2호 단서의 제외 요건) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it states no external API/auth is needed, results always include 근거 조문/계산식, missing data yields insufficient_data instead of estimation, and incorrect amountBasis can flip the determination. These are important non-obvious behaviors beyond the schema.
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 three compact paragraphs, front-loaded with purpose, followed by authentication behavior, output characteristics, and a critical warning. Every sentence adds value with no padding, and the warning emoji improves scannability.
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?
For a 23-parameter tool with no output schema, the description covers essential operational context: auth-free execution, output composition, missing-data behavior, and a critical parameter that can invert results. It doesn't exhaustively address every edge case, but the highly detailed parameter descriptions in the schema compensate.
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 100%, so baseline is 3. The description adds cross-parameter value by explaining the insufficient_data consequence for missing totalEquity/paidInCapital and directs users to get_financials. It also highlights amountBasis pitfalls with concrete examples, enriching the schema's per-parameter notes.
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 function: '공시의무 대상 여부를 판정하고 공시기한·지연 시 예상 과태료를 계산합니다' (determines disclosure obligation and calculates deadline/penalty). This uses a specific verb and resource, and the focus on diagnosis distinguishes it from sibling search/read/audit 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?
Explicit guidance is given for a key scenario: '자본총계·자본금이 없으면 ... get_financials 로 재무수치를 먼저 조회하세요' (if capital figures are missing, first look up financials via get_financials). It also warns about amountBasis. However, it doesn't provide when-not-to-use guidance for other sibling diagnostic tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_j004_consistency기업집단현황공시(J004) 정합성 자가점검A
기업집단현황공시 원문에서 기계적으로 재검산 가능한 항목을 전부 다시 계산해 불일치를 찾습니다. 공시의무 위반 건수의 84%가 J004입니다 — 제출 전 자가점검 또는 제출본 사후 점검용입니다.
재무현황: 유동+비유동=총계(자산·부채), 자산=부채+자본 항등식, 부채비율 재계산, 금융/비금융 소계·합계 재합산
차이가 약 1,000배면 단위(원/천원/백만원) 오기 힌트를 답니다
include_generic_totals=true 면 그 외 표의 합계 행도 실험적으로 재합산합니다 (기본 꺼짐 — 병합 셀 표 오탐 가능)
compare_rcept_nos 로 개별회사 공시들을 주면 대표회사 취합분과 회사별 수치를 대사합니다
문서 내적 정합성만 봅니다 — 원천 회계 데이터와의 일치(진실성)는 판정하지 않습니다
불일치 발견 시 정정 판단은 assess_correction_risk 와 함께 쓰세요
| Name | Required | Description | Default |
|---|---|---|---|
| rcept_no | Yes | 점검할 기업집단현황공시(J004) 접수번호 | |
| max_issues | No | 반환할 이슈 최대 개수 (기본 100) | |
| compare_rcept_nos | No | 대표회사 취합분과 대사할 개별회사 공시 접수번호 목록. 각 개별회사의 재무현황 행을 대표회사 취합 표의 같은 회사 행과 1백만원 단위로 대조합니다 | |
| include_generic_totals | No | 재무·손익 외 일반 표의 합계 재합산도 점검할지 (기본 false). ⚠️ 실험적 — 병합 셀·다층 구분 표에서 구조적 오탐이 발생할 수 있어 결과를 참고로만 쓰세요 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It thoroughly explains that only document-internal consistency is checked, not underlying accounting truthfulness, and warns that include_generic_totals may produce false positives due to merged-cell tables. It also describes the unit-error hint behavior, demonstrating transparency about how the tool operates.
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 efficiently structured: an opening sentence states the main purpose and importance (84% of violations are J004), followed by a clear bullet list of capabilities, a limitation caveat, and cross-references to other tools. Every sentence adds value with no filler.
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?
For a complex tool with four parameters and no output schema, the description comprehensively covers purpose, usage scenarios, limitations (internal consistency, false positives), parameter behavior, and integration with assess_correction_risk. It provides sufficient context for an agent to decide when and how to invoke the tool, including how to interpret results indirectly through the max_issues parameter.
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 100% with detailed descriptions for all parameters (e.g., compare_rcept_nos explains unit matching, include_generic_totals explains experimental nature and risks). The description reinforces these points but does not add substantial new meaning beyond the schema, so the baseline of 3 is appropriate.
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: it recalculates all mechanically re-calculable items in J004 corporate group status disclosures to find inconsistencies. It specifies the scope (financial status checks, unit error hints) and distinguishes itself from other tools by noting it only checks internal consistency and recommending assess_correction_risk for correction decisions.
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 states when to use it: for pre-submission self-check or post-submission inspection. It also provides guidance on alternatives, noting that it does not judge truthfulness and should be used with assess_correction_risk for correction. The bullet points explain trade-offs for parameters like include_generic_totals and compare_rcept_nos, giving clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_precedents타사 선례·문안 참고A
"다른 회사는 이 항목을 어떻게 썼나"에 답합니다. 키워드로 같은 유형의 최근 공시를 찾아 회사당 1건씩 골라 원문(표 구조 보존 마크다운)을 함께 돌려줍니다.
키워드는 보고서명 부분일치입니다: "자금차입", "담보제공", "수익증권", "부동산임차" 등
기본은 대규모내부거래(J001)에서 찾습니다. preset 으로 다른 공정위 공시로 바꿀 수 있습니다
corp_cls 로 자사와 같은 상장구분의 문안만 볼 수 있고, exclude_corp 로 자사를 뺄 수 있습니다
이 도구는 정정이 반영된 최종본 기준입니다 (문안 참고 목적 — 지연 판정에는 search_disclosures 사용)
선례 1건당 원문 다운로드 1회를 소비합니다 (이미 읽은 공시는 캐시)
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | 가져올 선례 수 (기본 3). 건당 원문 다운로드 1회를 소비합니다 | |
| preset | No | 검색 범위 프리셋 (기본 internal_transaction=대규모내부거래) | |
| corp_cls | No | 법인구분 필터 — 자사와 같은 구분(상장/비상장)의 문안만 보려면 지정 | |
| exclude_corp | No | 제외할 회사 (corp_code 8자리 또는 회사명) — 보통 자사 | |
| lookback_days | No | 최대 며칠 전까지 거슬러 찾을지 (기본 180일, 최대 1825일=5년). 후보가 모이면 더 내려가지 않습니다. 훑은 구간 안에서는 항상 전수로 확인하며, 사례가 모이거나 시간 예산에 걸리면 멈춥니다 — "3년치·5년치 사례" 질문에 쓰세요. coverage 로 실제 훑은 구간과 그 구간이 전수인지 확인하세요 | |
| one_per_company | No | 회사당 1건만 골라 표현을 다양하게 (기본 true). false 면 최신순 그대로 | |
| max_chars_per_doc | No | 선례당 본문 최대 길이 (기본 8,000자) | |
| report_name_contains | Yes | 찾을 유형 키워드 — 보고서명 부분일치 (예: "자금차입", "담보제공", "수익증권", "부동산임차") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses download consumption per precedent, caching of already-read disclosures, corrected-final basis, and the lookback_days early-stop behavior with coverage confirmation. These are meaningful behavioral traits beyond the structured fields.
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 a compact intro followed by five tight bullet points, each addressing a distinct aspect (search scope, filters, versions, cost, lookback). No filler or repetition—every sentence earns its place.
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 no output schema and no annotations, the description covers return format (markdown with table structure), resource consumption, data scope (J001 default, presets), and explicitly distinguishes from sibling search_disclosures. For an 8-parameter tool, this is complete and self-sufficient.
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 100%, so baseline is 3. The description adds contextual value: it explains preset defaults, corp_cls meaning ('same listing class'), exclude_corp usage, and count's download cost, which enriches the schema descriptions without being redundant.
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 opens with a precise purpose: answers 'how did other companies write this item' and details the mechanism (keyword search, company-dedup, returns original markdown text). It also distinguishes itself from search_disclosures by stating it uses corrected final versions for reference, not delay judgment.
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?
It explicitly says to use search_disclosures for delay judgment, naming the alternative. It also provides concrete usage context: default preset internal_transaction, filtering with corp_cls and exclude_corp, and lookback_days behavior, all of which guide when and how to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financials재무제표 조회A
단일회사 재무제표를 조회합니다 (기본: 직전 연도 사업보고서의 재무상태표, 연결 없으면 별도로 자동 폴백).
key_metrics 의 total_equity(자본총계)·paid_in_capital(자본금)은 check_disclosure_duty 의 totalEquity/paidInCapital 입력으로 그대로 쓸 수 있습니다 (단위: 원)
금액은 raw(원문)/value(정수 원)/display(표시 단위 환산) 세 값을 함께 줍니다
change 는 전기 대비 증감입니다 (손익·현금흐름은 누적 필드가 있을 때만 누적 기준)
외부감사 대상이 아닌 회사는 DART 에 재무제표가 없을 수 있습니다 — 기업집단 소속사는 get_group_structure(include_financials=true)로 포털 재무를 확인하세요
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | display 표시 단위 (기본 million=백만원). raw/value 는 항상 원 단위 그대로 | |
| year | No | 사업연도 (기본: 직전 연도). 사업보고서는 보통 3월 말 제출이므로 없으면 그 전 해로 다시 시도 | |
| query | No | 회사명·종목코드·corp_code — resolve_entity 와 같은 규칙 | |
| fs_div | No | CFS=연결(기본) / OFS=별도. 연결이 없으면 별도로 자동 폴백합니다 (비상장 다수는 별도만 있음) | |
| report | No | 보고서 종류 (기본 annual=사업보고서) | |
| corp_code | No | DART 법인코드 8자리 | |
| statement | No | 재무제표 종류 (기본 BS=재무상태표). all 은 응답이 큽니다 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It fully discloses the auto-fallback from consolidated to separate statements, the exact value formats (raw/value/display), the meaning of 'change' (period-over-period, cumulative for income/cash flow), and the limitation regarding non-audited companies. This goes well beyond mere operational description and provides deep insight into expected behavior.
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 longer than typical but every bullet point adds meaningful information: defaults, cross-tool compatibility, value formats, change semantics, and limitations. It is well-structured with a clear opening sentence followed by value-adding bullets. Slightly verbose, particularly the key_metrics cross-reference which could be seen as specialized, but overall concise for the tool's 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?
For a tool with 7 optional parameters, no output schema, and no annotations, the description is remarkably complete. It covers default behaviors, fallback logic, output structure, change basis, and validation caveats. The only omission is a detailed return schema, but the description provides enough about value formats to compensate. The cross-tool references also situate it well within the broader toolset.
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?
Input schema coverage is 100% and parameter descriptions are already detailed (e.g., unit, fs_div, statement all have defaults and explanations). The description mostly repeats schema information (e.g., fallback for fs_div, default year) rather than adding new parameter-level meaning. It does add context about how output values relate to parameters (unit conversion) but this is not substantial enough to raise the score above the baseline for full schema coverage.
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 opens with a clear and specific verb+resource statement: '단일회사 재무제표를 조회합니다' (retrieves single-company financial statements). It distinguishes itself from siblings by emphasizing '단일회사' (single-company), contrasting with get_group_structure which handles group financials. The default (most recent annual report's balance sheet) and fallback behavior further clarify the tool's exact scope.
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 guidance on when to use this tool and when not to. It states that companies not subject to external audit may not have DART financials, and directly recommends using get_group_structure(include_financials=true) for conglomerate subsidiaries. It also connects key_metrics output to check_disclosure_duty inputs, giving concrete cross-tool usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_group_structure기업집단 구조 조회A
공정위 지정 기업집단의 개요(동일인·대표회사·소속회사 수)와 소속회사 전수를 돌려줍니다. 소속회사 목록이 곧 공정위 공시의무의 모집단입니다. EGROUP_API_KEY 가 필요합니다.
include_financials=true 면 계열사별 자산·자본총액·자본금·부채·매출·당기순이익(단위: 원)을 함께 줍니다 — 자본총액·자본금은 check_disclosure_duty 의 기준금액 입력으로 그대로 쓸 수 있습니다
DART corp_code 조인은 법인등록번호 기준입니다 (이름 매칭은 표기 체계가 달라 불가능). 미조인 회사는 resolve_entity(fetchJurirNo=true) 로 채워집니다
포털 데이터는 연 1회(매년 5/1) 갱신되며 연단위로 캐시됩니다
집단명은 공정위 표기를 씁니다: "SK" 가 아니라 "에스케이", "삼성" 등
| Name | Required | Description | Default |
|---|---|---|---|
| group | Yes | 기업집단명("삼성", "에스케이") 또는 기업집단코드("K1000032") | |
| compact | No | true 면 계열사를 schema+값 배열로 (150개사 집단에서 토큰 절감) | |
| join_dart | No | DART corp_code 조인 시도 (기본 true). 법인등록번호가 캐시에 채워진 회사만 조인됩니다 — joined 수가 적으면 resolve_entity(fetchJurirNo=true) 로 회사를 조회해 채우세요 | |
| year_month | No | 기준 공개년월 (미지정 시 최신 지정연도 추정 — 매년 5월 갱신) | |
| include_financials | No | 계열사 재무현황 포함 (기본 false, 포털 호출 1회 추가). 자산총액·자본총액·자본금·부채·매출·당기순이익 (단위: 원). 자본총액·자본금은 check_disclosure_duty 의 totalEquity/paidInCapital 입력으로 쓸 수 있습니다 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses key behaviors: EGROUP_API_KEY requirement, annual May 1 data refresh with yearly caching, DART join constraint (법인등록번호, not name), naming convention (에스케이 not SK), and financial units in KRW. These are non-obvious traits that materially affect tool invocation and output interpretation.
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 longer than average but each sentence adds value: core purpose first, then critical caveats and cross-references. Bullet points break down complex details efficiently. Not as lean as the TDQS 4.3 example, but no filler or repetition.
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?
For a 5-parameter tool with no output schema and no annotations, the description covers essential context: data source freshness, join limitations, API key requirement, and usage in compliance workflows. It could be more explicit about exact return structure (e.g., field names for overview), but it gives sufficient operational guidance for an agent to select and call the tool 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 coverage is 100%, so baseline is 3, but description adds significant semantics beyond schema: notes group name/code format, explains compact for token reduction, details join_dart fallback behavior, and maps include_financials fields to check_disclosure_duty inputs. The main gap is lack of exact output field names for the base response, but the description enriches each parameter meaningfully.
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 returns the overview (동일인·대표회사·소속회사 수) and all subsidiaries for FTC-designated corporate groups, with a specific verb "돌려줍니다". It distinguishes itself by emphasizing the subsidiary list as the population for FTC disclosure obligations, separate from sibling tools like get_financials or resolve_entity.
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?
Provides explicit guidance: include_financials output can be directly used as inputs for check_disclosure_duty, and unresolved DART joins should be supplemented via resolve_entity(fetchJurirNo=true). It also notes annual data refresh timing, which helps determine when to use this tool for periodic compliance checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_disclosure공시 원문 읽기A
공시 원문을 표 구조를 보존한 마크다운으로 돌려줍니다. 다른 회사의 기재 사례·문안을 참고하거나 공시 내용을 분석할 때 사용하세요.
표가 그대로 마크다운 표로 나오므로 항목별 기재 내용을 바로 비교할 수 있습니다
board_date(이사회 의결일)가 추출되면 check_disclosure_duty 의 boardDate 로 그대로 쓸 수 있습니다
원문은 영구 캐시됩니다 (접수된 공시는 불변, 정정은 새 접수번호)
HWP 첨부만 있는 공시는 body_unparsable 에러와 함께 뷰어 URL 을 안내합니다
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown(기본) = 표 구조 보존. text = 공백 정규화된 평문 | |
| rcept_no | Yes | DART 접수번호 14자리 | |
| max_chars | No | 본문 최대 길이 (기본 60,000자). 초과 시 truncated=true 로 잘라서 준다 | |
| force_refresh | No | 캐시를 무시하고 재다운로드 (기본 false). 접수된 공시는 불변이므로 보통 불필요 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It discloses caching behavior (permanent, immutable), board_date extraction for reuse in check_disclosure_duty, and the HWP-only error case (body_unparsable + viewer URL). These go beyond schema basics and are highly actionable.
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?
One lead sentence plus four bullets, each covering a distinct behavioral aspect with no redundancy. It is slightly longer than absolute minimum but every sentence earns its place, and the bullet structure improves scannability.
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?
No output schema, so the description covers return behavior: markdown tables, truncation via max_chars, and the HWP error path. It doesn't enumerate every possible return field, but for a raw-text-read tool this is sufficient. The board_date integration note adds extra practical value.
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 100%, so baseline is 3. The description adds rationale for force_refresh (disclosures are immutable) and reinforces the format distinction (markdown preserves tables), but most parameter meaning is already in 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 it returns the full disclosure text as markdown-preserving tables. The verb '읽기' (read) with resource '공시 원문' (disclosure full text) is specific and distinguishes it from siblings like search_disclosures (search) and find_precedents (precedents).
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?
It explicitly states when to use: '다른 회사의 기재 사례·문안을 참고하거나 공시 내용을 분석할 때 사용하세요' (use when referencing other companies' filing examples or analyzing disclosure content). It does not name explicit alternatives or exclusions, but the use context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_entity회사·기업집단 식별A
회사명, 종목코드(6자리), 법인코드(8자리), 법인등록번호(13자리), 기업집단명을 받아 corp_code·stock_code·법인등록번호·소속 기업집단으로 풀어줍니다. 다른 도구를 쓰기 전 회사를 특정할 때 먼저 호출하세요.
동명 법인이 여럿이면 임의로 고르지 않고 status="ambiguous" 와 후보 목록을 돌려줍니다 — 상호가 같아도 별개 법인일 수 있습니다(합병 전후 법인이 대표적). 이때는 후보의 corp_code 로 다시 호출하세요.
기업집단포털과 대사하려면 fetchJurirNo=true 로 법인등록번호를 먼저 채워야 합니다 (DART 호출 1회). includeGroup=true 는 EGROUP_API_KEY 가 필요하며, 최초 1회는 전 기업집단을 순회하므로 포털 호출 ~103회를 소비합니다 (이후 1년간 캐시).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | 해석 대상. auto(기본)면 회사 → 기업집단 순으로 시도한다 | |
| query | Yes | 해석할 값. 회사명("삼성전자"), 종목코드("005930"), 법인코드 8자리("00126380"), 법인등록번호 13자리, 또는 기업집단명("삼성") | |
| yearMonth | No | 기업집단 기준 공개년월 YYYYMM (미지정 시 최신 지정연도를 추정) | |
| fetchJurirNo | No | 법인등록번호를 기업개황 API로 채울지 (기본 false, 호출 1회 소비). 기업집단포털과 대사하려면 필요하다 | |
| includeGroup | No | 회사를 찾은 뒤 소속 기업집단까지 조회할지 (기본 false). true 면 기업집단포털을 호출하며 EGROUP_API_KEY 가 필요하다 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and excels: it discloses ambiguous results (status="ambiguous" with candidates), the need to re-call with corp_code, API call costs for fetchJurirNo (1 DART call) and includeGroup (~103 portal calls first time), the EGROUP_API_KEY requirement, and 1-year caching. This is rich, honest behavioral context.
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 longer than two sentences but every sentence earns its place—purpose, usage positioning, caveat, and parameter-specific side effects. It is well-structured and front-loaded with the core functionality, though the parenthetical examples make it slightly dense.
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?
For a tool with 5 parameters, no output schema, and non-trivial external API behavior, the description covers everything needed: input types, output fields, ambiguity resolution, auth requirements, call costs, and caching. It even mentions status="ambiguous", which hints at the return structure. The only minor gap is the explicit success response shape, but the described fields are sufficient.
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 100% with each parameter described, so baseline is 3. The description adds meaningful context beyond schema: it explains why fetchJurirNo is needed for portal integration, quantifies the call cost of includeGroup, and describes the ambiguity behavior tied to the query parameter. This added semantic depth justifies a 4.
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?
States a specific verb ('풀어줍니다' / resolves) and the exact input types (회사명, 종목코드, 법인코드, 법인등록번호, 기업집단명) and outputs (corp_code, stock_code, 법인등록번호, 소속 기업집단). It positions itself as the prerequisite step before other tools, clearly distinguishing its role from siblings.
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 instructs to call this tool before using other tools to specify a company, and gives a follow-up instruction for ambiguous cases (call again with corp_code). However, it does not name specific sibling tools or state when NOT to use this tool, so it stops short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_disclosures공시 검색A
공시를 검색합니다. 공정위 기업집단 공시 프리셋이 내장되어 있습니다 (ftc_all=공정위 전체, internal_transaction=대규모내부거래, group_status=기업집단현황, unlisted_material=비상장사 중요사항, public_interest_corp=공익법인, subcontract=하도급 결제조건).
mode:"page"(기본) = 한 페이지씩 조회. mode:"batch" = 기간 전체 전수 수집 (중복 제거·건수 집계 포함)
batch 가 한 번에 처리하기 큰 범위면 range_too_large 에러와 함께 분할 구간을 안내합니다 — 안내된 구간대로 나눠 다시 호출하세요
report_name_contains 로 보고서명을 거를 수 있습니다 (선례 검색: preset+["자금차입" 등])
응답의 diagnostics 를 반드시 확인하세요 — truncated/partial_results 가 true 면 결과가 불완전합니다
정정 이전 원본 접수분을 포함합니다 (last_report_only 기본 false — 지연 판정에 필수)
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | page(기본)=한 페이지 조회. batch=적응형 분할 전수 수집 — 규모가 크면 range_too_large 와 분할 안내를 반환 | |
| page | No | mode:"page" 의 페이지 번호 (기본 1) | |
| limit | No | mode:"batch" 응답에 실을 최대 행수 (기본 200). 수집·집계는 전수로 하고 응답만 자릅니다 | |
| query | No | 회사명·종목코드(6자리)·corp_code(8자리)·법인등록번호(13자리). 동명 법인이 여럿이면 ambiguous_corp 에러와 후보 목록을 돌려줍니다 | |
| preset | No | 공정위 공시 프리셋. ftc_all=J 전체 / internal_transaction=대규모내부거래 / group_status=기업집단현황 / unlisted_material=비상장사 중요사항 / public_interest_corp=공익법인 / subcontract=하도급 결제조건 | |
| compact | No | true 면 schema+값 배열 형태로 토큰 30~40% 절감 (행이 많을 때 권장) | |
| date_to | No | 조회 종료일 YYYYMMDD (기본: 오늘) | |
| corp_cls | No | 법인구분 Y=유가 K=코스닥 N=코넥스 E=기타(비상장 대부분) | |
| corp_code | No | DART 법인코드 8자리 — query 대신 직접 지정 | |
| date_from | No | 조회 시작일 YYYYMMDD (기본: 30일 전) | |
| page_size | No | 페이지당 건수 (기본·최대 100) | |
| pblntf_ty | No | DART 공시유형 원시 코드 (preset 과 동시 지정 불가) | |
| last_report_only | No | ⚠️ 기본 false. true(최종보고서만)는 정정으로 대체된 원본 접수분을 지워 지연 판정이 불가능해집니다 | |
| pblntf_detail_ty | No | DART 공시상세유형 원시 코드 (preset 과 동시 지정 불가) | |
| report_name_contains | No | 보고서명 부분일치 필터 — 서버 필터가 아니라 수집 후 적용됩니다 (예: "자금차입", "기재정정") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description carries the full burden. It discloses the batch de-duplication/counting behavior, range_too_large error with split guidance, diagnostics/truncation warning, post-collection filtering, and the inclusion of pre-correction filings — information not available in structured fields.
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?
Though dense, every sentence contributes: purpose, preset list, mode semantics, error recovery, filtering, diagnostics, and correction handling. It is front-loaded with the core action and structured with bullets for readability.
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 15 optional parameters and no output schema, the description covers essential operational caveats: batch splitting, diagnostic checks, and correction inclusion. It also provides fallback guidance for ambiguous entities via schema references, making it complete for a tool of this complexity.
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 100%, so baseline is 3. The description adds behavioral semantics for mode (page vs batch full collection), report_name_contains (post-collection filter), and last_report_only (impact on delay judgment) beyond the schema's descriptions, pushing it to 4.
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 opens with '공시를 검색합니다' — a specific verb and resource — and adds built-in FTC disclosure presets, clearly distinguishing it as a search tool. It goes beyond a restatement of the title by enumerating preset types and key search modes, establishing a distinct scope among siblings.
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?
It provides clear context for page vs batch modes, including when batch is appropriate for full collection and how to handle range_too_large errors. It also notes report_name_contains for precedent search, but does not explicitly contrast with sibling tools like find_precedents or read_disclosure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ftc_qna공정위 공식 Q&A 검색A
공정위가 배포한 해설서·FAQ·매뉴얼에서 추출한 공식 질의응답 430건(전문 330 + 폐지 게시판 복원 제목 21 + 2026. 4. 27. 공시 업무 매뉴얼 주요 사례 79)을 검색합니다. "이런 거래도 공시 대상인가?" 같은 경계사례에서 규칙만으로 판정할 수 없을 때, 유사한 공정위 공식 답변을 근거로 제시하는 용도입니다. 로컬 데이터라 인증키 없이 동작합니다.
검색어는 핵심 명사 위주가 잘 맞습니다: "발행어음 자동연장", "자회사 설립 출자", "퇴직연금 거래금액"
category 로 공시유형(대규모내부거래/비상장사 중요사항/기업집단현황/하도급)을 좁힐 수 있습니다
⚠️ 구판 문서(2008~2015)에는 폐지된 기준(50억·기한 1일 등)이 실려 있습니다 — 각 결과의 caveats 를 반드시 함께 읽고, 같은 주제의 2026 매뉴얼 문답(lit26-*)이 있으면 그쪽을 우선하세요. 현행 수치 판정은 check_disclosure_duty 가 담당합니다
check_disclosure_duty 의 situation 입력으로도 같은 지식베이스가 검색됩니다
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 최대 결과 수 (기본 5) | |
| query | Yes | 검색어. 거래 상황을 키워드로: "발행어음 자동연장", "자회사 설립 출자", "퇴직연금 거래금액" 등. 질문 문장을 통째로 넣어도 됩니다 | |
| category | No | 공시유형 필터. internal_transaction=대규모내부거래(J001), unlisted_material=비상장사 중요사항(J005), group_status=기업집단현황(J004), subcontract=하도급대금 결제조건(J009). 생략하면 전체에서 검색 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that it works locally without an API key, that results include caveats, that older documents may contain abolished criteria, and that lit26-* items should be prioritized. It does not detail the return format, but for a search tool this is acceptable.
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 longer than average but well-structured with bolded text and bullets. The first paragraph establishes purpose and data source, while bullets add usage tips, warnings, and relationship to other tools. The specific count breakdown is slightly excessive but informative.
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?
For a search tool with no output schema and no annotations, it provides a rich context: use case, query examples, category filter, warning about outdated content, preference for 2026 manual, and alternative tool for current standards. It lacks explicit result format details but covers the main operational context.
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 100%, so baseline is 3. The description adds practical guidance: search queries work best with core nouns and provides three examples. It also explains category values in Korean and mentions that the query can be a natural sentence. This extra context elevates it above baseline.
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 searches official FTC Q&A from guides/FAQs/manuals, specifying the count and use case for edge cases. It distinguishes itself from check_disclosure_duty by noting that current numerical judgment is handled by that tool, and from other siblings by focusing on official Q&A.
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?
It explicitly says use when rules alone cannot determine boundary cases, gives query tips, mentions category filtering, and warns about outdated documents while directing to check_disclosure_duty for current numeric standards. It also notes that check_disclosure_duty's situation input searches the same knowledge base.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The tools are mostly distinct with clear purposes, but there is some overlap between search_disclosures and find_precedents, both of which search disclosures and can return original text. However, the descriptions explicitly differentiate them (raw search vs. precedent selection with one-per-company), reducing ambiguity.
All 12 tool names follow a consistent verb_noun snake_case pattern (find_, get_, search_, check_, calc_, resolve_, read_, assess_, audit_). There are no mixed styles or vague verbs, making the naming highly predictable and easy to navigate.
12 tools is within the ideal 3-15 range and each tool addresses a distinct step in the disclosure compliance workflow. The count feels well-scoped for the complexity of the Korean FTC disclosure domain, neither sparse nor bloated.
The tool set covers the full workflow: entity resolution, group structure, financials, disclosure search/reading, duty calculation, business day calculation, Q&A lookup, late-filing audit, correction risk assessment, and internal consistency checking. There are no obvious gaps or dead ends for the stated purpose of compliance assistance.
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
Powerful OpenDART API-based Korean corporate disclosure tools for accounting professionals
MCP server for VC pitch-deck scoring, thesis-fit matching, and deal-flow management.
US federal and state cybersecurity/privacy law MCP server with cross-state comparison
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceMCP Server for public disclosure information of Korean companies, powered by the dartpoint.ai API.3Apache 2.0- AlicenseAqualityDmaintenanceMCP server for Korea's DART (Data Analysis, Retrieval and Transfer) electronic disclosure system, operated by the Financial Supervisory Service (FSS). Exposes company disclosures, company profiles, and financial statements via the OpenDART public API.321MIT
- FlicenseNot gradedqualityCmaintenanceMCP server that searches and filters DART electronic disclosures for Korean companies, enabling AI agents to create investor briefing summaries.
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/dolseom/gongsi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server