Skip to main content
Glama

Gyeongguk — 한국 법률 추론 MCP 서버

한국 법률 작업을 위한 MCP 서버. 세 가지 흐름을 지원한다:

  1. 기록형(사건기록 → 법률서면): PDF 파일을 주면 파싱 → 사실관계 → 청구추출 → 법리(쟁점·포섭격자) → 법령API 검증 → 작성 → 검토 파이프라인을 단계별 파일로 진행.

  2. 사례형(사례 문제 → IRAC 답안): 문제 텍스트/파일을 주면 사실관계 → 청구추출 → 포섭격자 → IRAC 답안 → 검토.

  3. 일반 법률 상담(질문 → 상담의견): 질문을 법령·판례로 검증해 IRAC 상담의견(면책 고지 포함).

공통 엔진: 법제처 OPEN API 검증 + 요건사실 카탈로그 + 포섭 여부 격자(요건×사실×증명책임) + IRAC + 날조 차단.

기존 '기록형풀이' 룰스킬(개인 옵시디언 볼트)을 독립 MCP 서버로 이식·확장한 것이다. 학습용 약점분석·카드·SRS는 의도적으로 제외한다(포섭 추론은 포함).

⚠ 이 저장소에는 코드만 포함된다. 사건기록·교재·산출 서면 등 민감/저작권 자료는 .gitignore로 제외된다.


파이프라인

단계

도구/프롬프트

산출 파일

파싱 (OCR)

parse_record — opendataloader-pdf(로컬) + pymupdf 폴백

00_인벤토리.md, _추출/*.md

사실관계

girok_facts — 타임라인·다툼없는사실·주장대비표·증거분류·불일치·사실관계도

01_사실관계.md

청구추출

girok_claims — 요건사실 카탈로그 역매칭 → 가능 청구/항변 도출, 매치업 매트릭스·갭 목록

02_청구추출.md

법리

girok_issues — 쟁점 도출 + 포섭격자(요건×사실×증명책임 + 셀상태)

03_쟁점법리.md

법령API

precedent_search·verify_case·verify_article·verify_brief (법제처 OPEN API)

04_조문판례.md

작성

girok_draft — 서면유형별 골격 + 양식 역분석 + 검증완료만 직접인용

05_답안.md

검토

girok_review — 논리·포섭 5축 + 정확성 게이트

06_검토.md

자동 진행

solve_record — 파일 주면 위 전부 순차 진행, 단계별 파일 생성

전체

Related MCP server: korean-law-alio-mcp

핵심 특징

  • 청구추출: 명시적 청구가 없는 사건기록(형사·자문형)에서도 사실 신호 → 가능한 청구/항변/감경사유를 역추출한다. 요건사실 카탈로그(resources/claim_catalog.json)와 매치업 매트릭스(요건×사실×증명책임, 상태=충족/일부/다툼/공백/불명)로 갭을 식별하고, 당사자 입장 미정 시 양측 승소구조를 비교해 권고한다.

  • 작성 양식 분석: analyze_format이 사용자가 준 양식/샘플 서면(docx·pdf·md·hwp 미리보기)을 역분석해 머리·말미·번호체계·인용형식을 추출하고, draft가 그 구조를 따른다. 양식 미제공 시 내장 서면 템플릿(brief_templates.json)으로 폴백.

  • 법령·판례 검증 내장: 법제처(국가법령정보센터) OPEN API 직접 호출. 검증완료 판례만 본문 직접인용으로 승격하고, 미검증은 [검증필요]로 강등(날조 차단).

  • 자세-스탬프 영속화: 각 단계 산출물 프론트매터에 확정한 결정(당사자 입장·다툼없음 전제 등)을 박아 회귀를 막는다.

설치

git clone https://github.com/kmjy98-sketch/Gyeongguk.git
cd Gyeongguk
pip install -e .            # 최소(mcp + PyMuPDF)
pip install -e ".[all]"     # opendataloader·docx·auto 전부

opendataloader-pdf(권장 OCR 엔진)는 Java 11+ 가 PATH에 있어야 한다 — 없으면 Adoptium에서 설치. Java가 없으면 자동으로 PyMuPDF(디지털 텍스트레이어)로 폴백한다. 스캔 PDF의 진짜 OCR은 opendataloader hybrid 모드가 필요하다:

pip install "opendataloader-pdf[hybrid]"
opendataloader-pdf-hybrid --port 5002 --ocr-lang "ko,en"
# .env: GIROK_ODL_HYBRID=http://localhost:5002  또는 hybrid 백엔드명

설정 (온보딩)

자세한 단계는 docs/SETUP.md. 요약:

python -m girokhyeong_mcp.setup --init     # .env 생성
# .env 에 LAW_API_KEY=<OC값> 입력  (open.law.go.kr OPEN API 신청 → 이메일 아이디가 OC 값)
python -m girokhyeong_mcp.setup --check    # 라이브 검증(법령 1건 실제 조회)
python -m girokhyeong_mcp.setup            # 전체 상태 점검 + 다음 할 일 안내

.env(cwd 또는 리포 루트)는 서버가 자동으로 읽는다. 환경변수로 직접 줘도 된다(환경변수 우선).

LAW_API_KEY=...          # 필수. open.law.go.kr OPEN API 신청 → 이메일 ID가 OC 값
ANTHROPIC_API_KEY=...    # 선택. solve_record auto 모드(서버 내부 자동 진행)에만

MCP 클라이언트 등록 후 check_setup 도구를 호출하면 키가 살아있는지 즉시 확인된다.

MCP 클라이언트(예: Claude Code) 등록:

{
  "mcpServers": {
    "girokhyeong": {
      "command": "girokhyeong-mcp",
      "env": { "LAW_API_KEY": "...", "GIROK_WORK_ROOT": "C:/work/기록형" }
    }
  }
}

또는 python -m girokhyeong_mcp.server.

사용

가장 간단한 흐름 — 사건기록 폴더를 주고 자동 진행:

solve_record(source="C:/cases/2025고합123", brief_type="형사변론요지서", party_side="변호인")

solve_record는 파싱(결정적)을 즉시 수행해 00_인벤토리.md를 만들고, 나머지 단계의 플레이북을 반환한다. 호스트 LLM(Claude Code)이 각 단계 가이드를 따라 수행하고 save_stage로 저장한다. auto=True + ANTHROPIC_API_KEY면 서버가 01~06 파일을 직접 생성한다.

양식을 따라야 하면:

solve_record(source="...", brief_type="형사의견서", format_sample="C:/양식/우수서면.pdf")

도구 목록

  • 파싱: parse_record

  • 법령 API(12): law_search · law_detail · law_toc · precedent_search · precedent_detail · admin_rule_search · verify_case · verify_article · verify_text · get_annexes · verify_annex · cite_check

law_toc — 조문 목차 탐색 (2026-07-03 신설)

조문번호를 모를 때 조문번호를 추측하지 말고 목차로 찾기 위한 도구.

law_toc("부정경쟁방지 및 영업비밀보호에 관한 법률", "영업비밀")
  • 목차: 전 조문의 번호·제목(키워드를 주면 제목/내용 매칭 조문만, 매칭 위치 표시).

  • 정의·총칙(우선참고): 머리 조문(목적·정의·적용범위·기본이념·해석)을 항상 함께 반환하고, 정의 조문은 정의어 목록까지 추출한다(예: 부정경쟁행위·영업비밀·영업비밀 침해행위·도메인이름).

  • 권장 순서: 정의·총칙 먼저 확인 → 키워드 목차 — 특히 특별법은 §2 정의가 용어의 의미를 일반 용례와 다르게 규정하므로 정의 조문 확인이 필수다(기본법은 불요 시 생략 가능).

CLI: python -m girokhyeong_mcp.law_api law-toc "민법" 유치권

  • 포섭·청구: list_claims(요건 카탈로그 색인) · subsumption_grid(요건×사실 포섭격자)

  • 작성 지원: analyze_format · stage_guide · verify_brief · save_stage · export_docx

  • 오케스트레이션: solve_record(기록형) · solve_case(사례형) · consult(상담) · server_info · check_setup

  • 프롬프트: girok_facts · girok_claims · girok_issues · girok_authorities · girok_draft · girok_review · girok_subsume · girok_case · girok_consult

사용 예:

solve_case(problem="갑은 을에게 1억을 빌려줬으나 변제기 후에도 안 갚는다. 갑의 청구는?", party_side="원고")
consult(question="전세 보증금을 안 돌려주면?")
subsumption_grid(claim_keys=["tort", "unjust_enrichment"])   # 먼저 list_claims 로 key 확인

server_info로 환경(법령API 키·Java·opendataloader·리소스 배치)을 점검할 수 있다.

구조

src/girokhyeong_mcp/
  server.py            FastMCP 서버(도구·프롬프트 등록)
  law_api.py           법제처 OPEN API 클라이언트(stdlib만, 자체완결)
  config.py  resources.py
  pipeline/            parse·stages·orchestrator·verify·export·analyze_format·storage·auto_runner
  resources/           rules.md · claim_catalog.json · brief_templates.json · review_axes.json
  util/                hanja(한자→한글) · markdown(프론트매터·페이지마커)

자세한 설계는 docs/ARCHITECTURE.md, 이식 시 반영한 이전 연구 미반영분은 docs/UNREFLECTED_RESEARCH.md 참조.

원격 MCP (PlayMCP / OpenAI·Claude 커넥터)

로컬 stdio 외에 원격 Streamable HTTP 엔트리를 제공한다 — 카카오 PlayMCP in KC 및 OpenAI/Claude 커넥터에 등록 가능. 공개(무인증) 서버에는 읽기전용 법령·검증·포섭 도구(16) + 프롬프트(9)만 노출하고, 서버 디스크에 파일을 쓰는 사건기록 파이프라인은 제외한다(stdio 전용).

pip install -e ".[http]"
BIND_ADDR=0.0.0.0:8080 girokhyeong-mcp-http     # POST /mcp · GET /healthz · /readyz
python scripts/smoke_http.py                    # 원격 엔드투엔드 스모크
python scripts/export_listtools.py              # playmcp/listtools.json (콘솔 붙여넣기용) 재생성

Docker: docker build --platform linux/amd64 -t ghcr.io/<owner>/gyeongguk-mcp .(arm64는 KC 활성화 실패).

라이선스

MIT. 법제처 OPEN API·opendataloader-pdf(Apache-2.0)는 각자의 약관을 따른다.

Available Tools

24 tools
analyze_formatC

주어진 양식/샘플 서면(docx·pdf·md·txt·hwp)을 역분석해 머리/말미/번호체계/인용형식 구조 추출(req 4).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It mentions 'reverse-analyze' and extraction targets, but omits whether the tool is read-only, requires file existence, or has side effects. No permissions or error behavior are mentioned.

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?

The description is a single concise sentence, front-loading the action and targets. However, it could be structured with bullet points for clarity.

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

Completeness2/5

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

Given no output schema, the description should explain the return format or structure. It lists extracted elements (header, footer, etc.) but does not describe how they are returned (e.g., as JSON fields). Error cases are not mentioned.

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

Parameters3/5

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

The parameter 'path' has no description in the schema (0% coverage). The description partially compensates by implying the path points to a file of the listed types, but does not detail path requirements (e.g., absolute vs relative, supported protocols).

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

Purpose4/5

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

The description clearly states the tool's purpose: reverse-analyzing sample documents to extract structure (header, footer, numbering, citation format). It specifies supported file types (docx, pdf, md, txt, hwp). This is specific and actionable, though the 'req 4' suffix is ambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The sibling tools list includes many legal analysis tools, but the description provides no when-to-use or when-not-to-use instructions.

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

check_setupA

LAW_API_KEY 라이브 검증 — 키로 법령 1건을 실제 조회해 동작 여부를 확인한다.

키 미설정/오타/미승인을 구분해 다음 할 일을 안내한다. 처음 시작할 때 가장 먼저 호출.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Without annotations, the description covers key behavioral aspects: it performs a live check by making an API call, and distinguishes between error types to guide next steps. It doesn't mention side effects like rate limits, but the behavior is well-described for a read-only verification.

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

Conciseness5/5

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

Two sentences are highly concise and front-loaded; the first sentence states the core function, and the second adds context without redundancy.

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

Completeness4/5

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

The description covers the tool's purpose, behavior, and usage order. It does not describe the output format, but for a zero-param setup check, it provides sufficient context for an agent to use 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?

The tool has no parameters, so the description adds value beyond the schema by explaining the tool's purpose and usage. With 100% schema coverage, the baseline is 4, and the description meets that.

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?

The description clearly states the tool's purpose: 'LAW_API_KEY 라이브 검증' (live verification of LAW_API_KEY) and explains it checks operation by querying a statute. This distinguishes it from sibling tools which are search or analysis tools.

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?

The description explicitly says to call this tool first ('처음 시작할 때 가장 먼저 호출'), providing clear when-to-use guidance. It does not describe alternatives or when not to use, which is acceptable for a simple setup verification tool.

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

cite_checkC

판례 인용관계 부분탐지(Shepard's 아님 — 전문검색 위양성 포함). 참조판례+후행인용 후보.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_numberYes
max_followingNo
scan_overruleNo

TDQS

C2.7/5.0
Behavior3/5

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

Discloses that results include false positives from full-text search and that it is not authoritative like Shepard's. However, no annotations exist, and the description does not cover permissions, rate limits, or data handling.

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?

The description is a single concise sentence that front-loads the purpose. However, it could be structured with clearer separation of behavioral details.

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

Completeness2/5

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

Given the three parameters and no output schema, the description lacks detail on output format, result interpretation, and prerequisites. It is insufficient for an agent to fully understand tool behavior.

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

Parameters1/5

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

The description provides no explanation of the three parameters. With 0% schema coverage, the agent must rely on parameter names alone, which may be ambiguous (e.g., max_following).

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

Purpose4/5

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

The description states it detects citation relationships for a case, specifying it is partial and not Shepard's, and includes false positives. This gives a clear verb and resource, but does not explicitly differentiate from sibling tools like precedent_search.

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

Usage Guidelines2/5

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

No guidance on when to use this tool over alternatives. The description implies it is for citation checking but provides no context on prerequisites or 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.

consultA

일반 법률 상담 — 질문 → 쟁점·법령/판례 검증(law_api) → IRAC 상담의견(+면책 고지).

일반 정보 제공이며 변호사 자문을 대체하지 않는다(답변 말미 면책 고지 강제). facts: 있으면 사실관계 추가. auto=True + 키 면 상담의견 자동 생성.

ParametersJSON Schema
NameRequiredDescriptionDefault
autoNo
factsNo
case_idNo
out_rootNo
questionYes

TDQS

A3.7/5.0
Behavior4/5

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

Without annotations, the description carries full burden. It discloses the internal use of law_api for verification, the generation of IRAC opinions, forced disclaimer, and conditional auto-generation. It does not contradict any implicit assumptions, and provides behavioral context beyond basic read/write.

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?

The description is concise (2-3 sentences) and front-loaded with the core purpose. It avoids redundancy but could benefit from brief explanations for missing parameters. Nonetheless, every sentence serves a purpose.

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

Completeness3/5

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

Given the tool's complexity (legal reasoning, IRAC output) and lack of output schema, the description provides a solid overview but omits details on parameters like case_id and out_root. The process and disclaimer are well-covered, but incomplete parameter info and no output schema limit completeness.

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

Parameters2/5

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

Schema coverage is 0%, so description must compensate. It explains 'question' (mandatory), 'facts' (optional context), and 'auto' (auto-generation flag), but completely ignores 'case_id' and 'out_root'. Two of five parameters have no explanation, leaving the agent uninformed about their purpose.

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?

The description clearly states the tool's purpose: general legal consultation that transforms a question into an IRAC-structured opinion with law/precedent verification. It specifies the workflow (question → issues/law/precedent verification → IRAC opinion) and distinguishes itself from sibling search tools by adding reasoning and disclaimer.

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

Usage Guidelines3/5

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

The description implies when to use this tool (for legal consultation requiring a reasoned opinion), but does not explicitly contrast with sibling tools like law_search or precedent_search. It hints at auto-generation but lacks explicit 'when to use' vs 'when to use alternative' guidance.

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

export_docxB

마크다운 답안 → docx(바탕 11pt·160%·양쪽맞춤·A4·여백20mm). 최종 HWP/HWPX 는 한글에서 변환.

ParametersJSON Schema
NameRequiredDescriptionDefault
in_mdYes
titleNo
body_ptNo
line_pctNo
out_docxYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description partially discloses behavior: it specifies output format (docx) and default formatting. However, it omits details like whether it overwrites files, if it requires specific markdown input, or any authorization needs. Adequate but not thorough.

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

Conciseness5/5

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

Two sentences with no superfluous content. Front-loaded with the core conversion, followed by a clarifying note about HWP conversion. Every sentence is essential.

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

Completeness3/5

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

Given the tool's simplicity (markdown-to-docx with settings), the description covers the key output format and defaults. However, it lacks input requirements, error conditions, and differentiation from siblings. It is minimally viable but has clear gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should explain parameters. It hints at body_pt and line_pct via defaults (11pt, 160%) but does not mention in_md, out_docx, or title by name or purpose. The description adds minimal semantic value beyond 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?

The description clearly states the tool converts markdown to docx with specific formatting (Batang 11pt, 160% line spacing, both alignment, A4, 20mm margins), and notes that final HWP/HWPX should be converted from Hangul. It provides a specific verb+resource and distinguishes from unrelated sibling tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only states what it does without suggesting appropriate contexts, exclusions, or how it relates to sibling tools like verify_article or solve_case.

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

get_annexesB

별표·별지서식 목록. search: 1=별표명 2=해당법령 3=별표본문. 본문텍스트 미제공(메타+URL).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryYes
searchNo
page_sizeNo

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are present, so the description bears full burden. It discloses that full text is not provided (only metadata and URL) and explains the search parameter values. However, it does not mention read-only nature, authentication, or pagination behavior.

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

Conciseness5/5

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

The description is extremely concise, consisting of a single sentence and a parenthetical note. No unnecessary words, and the key information is front-loaded.

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

Completeness2/5

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

With 4 parameters, no output schema, and no annotations, the description is insufficient. It lacks details on pagination, expected query format, and result structure, making it hard to use confidently without trial and error.

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

Parameters3/5

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

Schema coverage is 0%; the description partially compensates by explaining the 'search' parameter values (1=annex name, 2=relevant law, 3=annex text). No explanation for query, page, or page_size parameters.

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

Purpose4/5

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

The description explicitly states that the tool retrieves a list of annexes (별표·별지서식 목록). It mentions search modes but does not differentiate from sibling tools like verify_annex.

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

Usage Guidelines3/5

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

The description implies usage for retrieving annex metadata based on search parameters, but provides no explicit guidance on when to use this tool versus alternatives like law_search or verify_annex.

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

law_detailC

법령 상세(조문 포함). law_id=법령ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
law_idYes

TDQS

C2.7/5.0
Behavior2/5

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 discloses that the tool includes provisions but does not mention whether it is a read-only operation, required permissions, or any side effects. As a simple lookup, the disclosure is minimal but not contradictory.

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?

The description is very short (two sentences) with no unnecessary words. It front-loads the core purpose. However, the second sentence is a note on the parameter that could be placed in the schema, but it does not harm conciseness.

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

Completeness2/5

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

With no output schema and a description that only says 'details including provisions', the agent lacks information about what fields are returned, pagination, or error states. Given the complexity of law data, this is incomplete.

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

Parameters2/5

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 phrase 'law_id=법령ID' adds basic meaning but does not explain the format, length, or origin of the law_id. This is insufficient for clear parameter understanding.

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

Purpose4/5

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

The description states '법령 상세(조문 포함)', meaning 'law details (including provisions)', which clearly indicates the tool returns detailed information about a law and its articles. This distinguishes it from sibling tools like 'law_search' (which likely lists laws) and 'precedent_detail' (which deals with precedents). The purpose is clear but could be more explicit.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With 24 sibling tools, the lack of context on when to choose 'law_detail' over, for example, 'law_search' or 'precedent_detail' leaves the agent without sufficient decision-making information.

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

list_claimsA

요건사실 카탈로그 색인(청구권·항변·범죄별 {domain,key,name,law}). subsumption_grid 의 key 선택용.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided; description states it lists catalog items, implying read-only behavior, but does not explicitly confirm non-destructive nature or other behavioral details.

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?

Single sentence describing purpose and output structure, concise and front-loaded.

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

Completeness4/5

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

Given no parameters and existence of output schema, description provides sufficient context about returned data fields and purpose.

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?

No parameters (baseline 4); schema coverage is 100%. Description does not need to add parameter meaning.

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

Purpose4/5

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

Describes tool as a catalog index for selecting keys in subsumption_grid, with specific content (claims, defenses, crimes) and fields (domain, key, name, law). Distinguishes from siblings like subsumption_grid, but could be more explicit.

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

Usage Guidelines3/5

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

Implied usage for selecting keys in subsumption_grid, but no explicit when/when-not to use or alternatives among siblings.

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

parse_recordC

사건기록 폴더(또는 단일 PDF)를 추출·인벤토리화. opendataloader 우선, pymupdf 폴백.

source: 사건기록 폴더 경로 또는 PDF 경로. engine: 'auto'|'opendataloader'|'pymupdf'|'pdfplumber'. 반환: 인벤토리·청크 추출본 경로·총면수·정독모드·스캔본·경고.

ParametersJSON Schema
NameRequiredDescriptionDefault
engineNoauto
sourceYes
subjectNo기록
out_rootNo

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It lists return fields (inventory, chunk path, total pages, etc.) which adds value, but does not disclose authorization needs, destructive potential, or rate limits.

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?

The description is concise and front-loaded with the main action. However, the inclusion of return fields in a list format could be more structured. Overall efficient.

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

Completeness2/5

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

With 4 parameters and no output schema, the description lacks detail on two parameters (subject, out_root) and does not fully explain the return structure or usage context. For a parsing tool, more completeness is needed.

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

Parameters2/5

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

Schema description coverage is 0%. The description briefly mentions source and engine but does not explain subject or out_root parameters. Engine values are implied but not fully documented.

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

Purpose4/5

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

The description clearly states the tool extracts and inventories case record folders or PDFs, and mentions the engine fallback. It uses a specific verb and resource, but does not explicitly distinguish from sibling tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only mentions internal engine preference, not usage context or exclusions.

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

precedent_detailB

판례 상세(판시사항·판결요지·참조조문·참조판례·판례내용). prec_id=판례일련번호.

ParametersJSON Schema
NameRequiredDescriptionDefault
prec_idYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only or requires authentication. For a data retrieval tool, it likely is read-only but this is not stated.

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?

The description is very concise, consisting of a single line. It lists the components efficiently, though it lacks structured front-loading.

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

Completeness4/5

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

Given the tool's simplicity and the absence of an output schema, the description adequately lists the content components. However, it does not explain the response structure or error handling.

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

Parameters3/5

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

The only parameter 'prec_id' is described as '판례일련번호' (precedent serial number), adding meaning beyond the schema. However, schema coverage is 0% and the description does not provide additional format or constraints.

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?

The description clearly specifies the tool provides detailed information about a precedent, listing the specific components (holding, summary, referenced statutes, referenced precedents, content). It distinguishes from the sibling 'precedent_search' which likely handles searching.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives, such as 'precedent_search'. There is no mention of prerequisites or 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.

save_stageC

단계 산출물을 표준 파일명(00~06)으로 저장(자세-스탬프 프론트매터 부착).

ParametersJSON Schema
NameRequiredDescriptionDefault
stageYes
case_idNo
postureNo
case_dirYes
brief_typeNo
content_mdYes
party_sideNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must disclose all behavioral traits. It mentions the tool saves and attaches frontmatter, but does not clarify if it overwrites, error handling, or whether it requires specific permissions. Minimal transparency.

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

Conciseness3/5

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

The description is a single concise sentence, but for 7 parameters, it is under-specified. It is front-loaded with the key action, but could be more informative without being verbose.

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

Completeness2/5

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

Given the complexity (7 parameters, no output schema, no annotations), the description is insufficient. It lacks details on return values, error scenarios, or full behavioral context.

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

Parameters2/5

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. It hints that 'stage' and 'posture' relate to filenames and frontmatter, but does not explain 'case_id', 'brief_type', 'party_side', or 'content_md'. Meaning is added only for a subset of parameters.

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

Purpose4/5

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

The description clearly states the tool saves stage outputs with standard filenames and attaches posture-stamp frontmatter. It distinguishes from siblings like 'stage_guide' which is more about guidance, but doesn't explicitly differentiate.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor are there any exclusions or context for 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.

server_infoA

서버 상태·환경 진단: 법령API 키·Java·opendataloader·리소스 배치 여부.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description is the sole source of behavioral info. It mentions the checks performed but does not disclose side effects (likely none), permissions, or return format. It is adequate but not thorough.

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?

The description is a single, front-loaded sentence that conveys the core function without extraneous words. It is efficient, though slightly cryptic for non-Korean speakers.

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

Completeness2/5

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 should at least hint at what the tool returns. It does not, leaving the agent without crucial info about the diagnostic result format.

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?

The input schema has zero parameters, and the description does not need to add parameter details. The baseline for 0 params is 4.

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?

The description clearly states the tool's purpose: diagnosing server status and environment by checking specific components (Java, open data loader, resource deployment). It distinguishes from sibling tools focused on other tasks like rules, formatting, or citations.

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

Usage Guidelines3/5

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

The description implies usage for server diagnostics but does not explicitly state when to use this tool versus alternatives like check_setup. No exclusions or prerequisites are provided.

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

solve_caseA

사례형 문제(텍스트 또는 파일 경로) → 사실관계·청구추출·포섭격자·IRAC 답안·검토(단계별 파일 생성).

problem: 사례 문제 본문 텍스트, 또는 .txt/.md/.pdf 파일 경로. party_side: 답안 작성 입장(원고/피고/검사/변호인 등). 미정이면 양측 분석. auto=True + ANTHROPIC_API_KEY 면 서버가 답안까지 자동 생성.

ParametersJSON Schema
NameRequiredDescriptionDefault
autoNo
case_idNo
problemYes
out_rootNo
party_sideNo

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions file generation and auto mode dependency, but does not specify if files are overwritten, permission requirements, or what happens with out_root. Partial transparency with some gaps.

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?

The description is concise with a front-loaded transformation arrow and brief parameter explanations. Every sentence adds value, though it could be slightly more structured for clarity.

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

Completeness2/5

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

Given the tool has 5 parameters and no output schema, the description is incomplete. It does not explain return values, file output details, or how to handle the auto flag vs manual steps. Leaves many questions unanswered.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It explains problem, party_side, and auto, but does not describe case_id or out_root parameters. Only partial addition beyond 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?

The description clearly states the tool solves case-type problems, extracts facts, claims, subsumption grid, IRAC answer, and review, generating files step by step. It specifies input types (text or file path) and output stages, providing a specific verb+resource combination that distinguishes it from siblings like solve_record or stage_guide.

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

Usage Guidelines3/5

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

The description implies usage for case analysis but does not explicitly state when to use this tool versus alternatives like solve_record or stage_guide. It provides context about auto mode requiring API key but lacks explicit when-to-use or when-not-to-use guidance.

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

solve_recordB

사건기록 파일/폴더 → 전 단계 진행, 단계별 파일 생성(req 5).

파싱은 즉시 수행하고 00_인벤토리.md 생성. auto=False(기본)면 단계 플레이북을 반환해 호스트 LLM이 단계별로 수행(save_stage 저장). auto=True 면 ANTHROPIC_API_KEY 로 서버가 01~06 파일을 자동 생성.

brief_type: 소장|민사준비서면_원고|민사준비서면_피고|답변서|형사변론요지서|형사의견서|검토의견서|규제검토의견서 등. party_side: '원고 측'|'피고 측'|'검사'|'변호인' — 미정이면 양측 분석·권고 후 확인 요청. format_sample: 따라야 할 양식 파일 경로(있으면 역분석해 draft 에 주입).

ParametersJSON Schema
NameRequiredDescriptionDefault
autoNo
engineNoauto
sourceYes
out_rootNo
brief_typeNo
party_sideNo
format_sampleNo

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so description carries full burden. It discloses parsing behavior, inventory creation, API key dependency for auto mode, and the playbook return workflow. Missing details on side effects, error handling, and idempotency.

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?

Description is reasonably concise, containing 5 sentences that cover the main flow without excessive detail. It front-loads the purpose. Could be improved with bullet points for parameters.

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

Completeness3/5

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

Given 7 parameters and no output schema, the description covers the process and key parameters but leaves uncertainty about exact output format (playbook structure) and the overall workflow integration with save_stage. Adequate but not fully complete.

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

Parameters3/5

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

Schema description coverage is 0%, so description must explain parameters. It explains auto, brief_type, party_side, format_sample adequately, and implies source is the input. However, engine and out_root are not described, leaving some gaps.

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

Purpose4/5

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

Description clearly states the tool processes case record files/folders through stages, generating step-by-step files. It distinguishes between auto mode (server auto-generates) and non-auto mode (returns playbook for host LLM). However, compared to siblings like solve_case or parse_record, the unique value is not explicitly contrasted.

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

Usage Guidelines3/5

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

Description provides guidance on when to use auto=True vs auto=False, and explains behavior for undetermined party_side. It does not explicitly state when to prefer this tool over siblings like solve_case or stage_guide, leaving usage context somewhat implicit.

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

stage_guideB

단계별 알고리즘 가이드(사양) 반환. stage ∈ facts|claims|issues|authorities|draft|review.

ParametersJSON Schema
NameRequiredDescriptionDefault
stageYes
brief_typeNo
party_sideNo
dispute_knownNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states that the tool returns a guide, with no mention of side effects, authentication needs, or whether it is read-only. For a mutation-unsafe tool, this is insufficient.

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

Conciseness5/5

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

The description is a single sentence that front-loads the core purpose and includes the allowed stage values. Every element is necessary and there is no extraneous information.

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

Completeness3/5

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

For a tool with 4 parameters and an output schema, the description covers only the primary parameter. It does not explain the role of optional parameters or the structure of the returned guide, though the output schema may mitigate the latter. Overall, it is adequate but incomplete.

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

Parameters2/5

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

With 0% schema description coverage, the description must explain parameters. It only partially describes the required 'stage' parameter by listing valid values, but completely ignores 'brief_type', 'party_side', and 'dispute_known'. This leaves most parameters undocumented.

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?

The description specifies the tool returns a step-by-step algorithm guide (specification) for a given stage, with valid stages listed (facts, claims, issues, etc.). This provides a specific verb and resource, and clearly distinguishes from sibling tools which focus on searches, verification, or other actions.

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

Usage Guidelines3/5

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

Usage is implied by listing stages, but no explicit guidance is given on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description lacks context for the optional parameters, leaving the agent to infer usage from the stage list alone.

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

subsumption_gridA

청구권/항변/범죄 key(또는 명칭) 목록 → 포섭격자 템플릿 + 요건·증명책임(포섭 여부 분석의 결정적 입력).

각 청구의 성립요건을 카탈로그에서 로드해, 사실을 요건에 대입(충족/불충족)할 격자를 반환한다. key 를 모르면 먼저 list_claims 를 호출하라.

ParametersJSON Schema
NameRequiredDescriptionDefault
claim_keysYes

TDQS

A4.4/5.0
Behavior3/5

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

The description explains that the tool loads requirements from a catalog and returns a grid, implying a read-only operation. However, with no annotations provided, it does not explicitly confirm non-destructiveness or discuss any side effects, permissions, or limitations.

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

Conciseness5/5

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

The description is three sentences, each adding value: input-output declaration, mechanism, and usage guidance. It is front-loaded and contains no redundant information.

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?

Given the tool's simplicity (one parameter, no output schema), the description covers the input semantics, output nature (grid template with requirements/proof burdens), and a critical usage hint. It sufficiently equips 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.

Parameters5/5

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

The only parameter 'claim_keys' is described as 'claim/defense/crime keys (or names)', adding meaning beyond the schema (which has no descriptions). It also references list_claims for key lookup, fully compensating for the 0% schema description coverage.

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?

The description clearly states the tool's function: given claim/defense/crime keys, it returns a subsumption grid template with requirements and proof burdens. It uses a specific verb ('returns') and resource ('grid template'). It distinguishes itself from siblings by referencing list_claims for key retrieval.

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?

The description explicitly advises to call list_claims if keys are unknown, providing clear guidance on when to use an alternative. However, it does not cover other usage scenarios or explicitly state when not 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.

verify_annexC

법령 별표 존재 부분탐지. byeolpyo='별표 1' 등.

ParametersJSON Schema
NameRequiredDescriptionDefault
byeolpyoNo
law_nameYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'detects existence', implying a read operation, but does not confirm idempotency, required permissions, or side effects. The brevity leaves significant gaps.

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?

The description is very concise with one sentence and an example. It is front-loaded with the purpose. However, it is overly minimal; additional structured details could be included without sacrificing conciseness.

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

Completeness2/5

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

The tool has 2 parameters and no output schema. The description does not explain the return value (e.g., boolean, list), error conditions, or behavior when 'byeolpyo' is null. It feels incomplete for a detection tool.

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

Parameters3/5

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

Schema description coverage is 0%. The description adds meaning to the 'byeolpyo' parameter by providing an example ('별표 1'), but does not explain the 'law_name' parameter or its format. Overall, some value is added, but not sufficient to fully compensate for the schema gap.

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

Purpose4/5

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

The description states 'detects existence of annexes in statutes' with an example parameter value. It clearly identifies the verb (detect) and resource (annexes in statutes). However, it does not explicitly differentiate from sibling tools like 'get_annexes' or 'verify_article', but the verb implies a distinction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'get_annexes' or 'verify_article'. There are no exclusions, prerequisites, or context-specific usage instructions.

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

verify_articleC

법령(+조문) 존재 검증. jo=조문번호(예 '750').

ParametersJSON Schema
NameRequiredDescriptionDefault
joNo
law_nameYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only says 'verify existence' without detailing output, error handling, or side effects. It does not state if the tool is read-only or has destructive potential.

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?

The description is extremely concise (one line) and front-loads the purpose. However, it sacrifices clarity for brevity.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should provide more details about the verification process, expected input format for 'law_name', and what constitutes a successful verification. It is insufficient for a tool with two parameters and no structured metadata.

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

Parameters2/5

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

Schema description coverage is 0%. The description only explains 'jo' with an example but omits any information about the required 'law_name' parameter, leaving its meaning ambiguous.

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

Purpose4/5

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

The description clearly states the tool verifies existence of a law and its article, with a specific example for the 'jo' parameter. However, it does not differentiate from sibling tools like verify_annex or verify_brief.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description lacks any context about prerequisites, limitations, or comparison with siblings.

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

verify_briefB

서면(또는 매트릭스)의 조문·사건번호 실재 일괄검증 + 제출 전 체크리스트 + 게이트(통과/보류/키없음).

ParametersJSON Schema
NameRequiredDescriptionDefault
text_or_pathYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It discloses a batch check and gate output but does not clarify whether it is read-only or if it modifies state. The term '제출 전 체크리스트' suggests a pre-submission checklist, but side effects are unclear.

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?

The description is a single sentence covering multiple facets, which is efficient. However, it is somewhat cryptic with terms like '게이트(통과/보류/키없음)', which could be clearer.

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

Completeness2/5

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

Given the tool's complexity (batch verification, checklist, gate output) and no output schema, the description lacks details on the return values, the gate mechanism, and what 'key' means. It is incomplete for an agent to fully understand the tool's behavior.

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?

With 0% schema coverage, the description adds meaning by indicating the parameter 'text_or_path' is the document or matrix for verification. However, it does not specify the exact format (e.g., string content or file path), leaving some ambiguity.

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

Purpose4/5

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

The description specifies batch verification of articles and case numbers in a document or matrix, plus a checklist and gate. This differentiates it from sibling single-verification tools like verify_article or verify_case, though the term 'gate' and 'key' are somewhat ambiguous.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs. alternatives. It implies batch verification but does not state when to prefer it over single-verification tools or other sibling tools.

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

verify_caseD

사건번호 존재·요지 검증(정확일치). 본문 직접인용 게이트의 진리값.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_numberYes

TDQS

D1.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but provides minimal behavioral insight. It indicates verification of existence and exact match but does not disclose side effects, permissions, or return format beyond an implied truth value.

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

Conciseness3/5

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

The description is very short, which is concise, but it lacks essential details. It is not effectively structured to convey purpose or usage.

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

Completeness2/5

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

Given the single parameter and no output schema, the description is incomplete. It fails to explain the tool's behavior, return value, or how it differs from similar tools.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It hints at case number existence but does not specify format, constraints, or validation rules for the 'case_number' parameter.

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

Purpose2/5

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

The description is in Korean and vaguely mentions verifying case number existence and gist. It does not clearly state the tool's purpose in English, nor does it differentiate from sibling tools like verify_annex or solve_case. The phrase 'truth value of direct quotation gate' is unclear.

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

Usage Guidelines1/5

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

No usage guidelines are provided. The description offers no context on when to use this tool versus alternatives like verify_brief or solve_case.

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

verify_textC

텍스트에서 사건번호·'법령 제N조'를 추출해 일괄검증. 산출물 종단 검증 훅.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It mentions the tool is an 'end-of-output verification hook' (implies non-destructive, reading action), but does not explicitly state whether it modifies data, requires special permissions, or has side effects. The behavioral disclosure is incomplete but not misleading.

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?

The description is a single, efficient Korean sentence that conveys the core purpose. It is front-loaded but could benefit from slight elaboration on output or usage.

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

Completeness2/5

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

Given no annotations, no output schema, and a single parameter, the description should cover behavior, input expectations, and output format. It explains input expectations vaguely and omits output structure (e.g., verification results). The tool is part of a legal verification suite but lacks critical context for autonomous use.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds minimal value. It indicates the text parameter should contain case numbers and law articles, but offers no format details, constraints, or examples. The single parameter remains underdocumented.

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

Purpose4/5

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

The description clearly states the tool extracts and batch verifies case numbers and law article references from text. It identifies a specific use case ('end-of-output verification hook') that helps distinguish it from sibling tools like verify_article or verify_case. However, it does not explicitly differentiate from all siblings.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no exclusion criteria, and no prerequisites. It simply states what the tool does without context for selection.

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

TDQS

B3/5.0
Disambiguation4/5

Tools have mostly distinct purposes, but some overlap exists between verify tools (e.g., verify_case and verify_text both check case numbers) and between solve_case and solve_record (both process cases but via different inputs). Overall, boundaries are clear enough for an agent to differentiate.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., law_search, verify_article). No mixing of conventions, making the pattern predictable and easy to understand.

Tool Count4/5

With 24 tools, the set is large but justifiable for the complex domain of Korean legal research and document processing. The number is still on the high side, potentially overwhelming, but each tool serves a specific function without significant redundancy.

Completeness4/5

The tool surface covers major legal workflows: search, detail retrieval, analysis (cite_check, subsumption_grid), case solving, verification, and export. Minor gaps exist (e.g., no tool for updating laws or managing user data), but the core lifecycle is well-supported.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search, retrieve, and analyze South Korean legal documents including statutes, precedents, constitutional decisions, and administrative rulings via the Ministry of Government Legislation Open API. Provides 89 specialized tools with features like legal abbreviation auto-recognition, annex extraction, and complex research chain workflows.
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables searching, comparing, and analyzing Korean laws and public institution regulations through natural language, integrating 110 MCP tools covering statutes, precedents, and internal rules.
    100
    20
    15
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables natural language interaction with the Korean Personal Information Protection Act (PIPA) through 37 MCP tools that search, compare, analyze, and verify legal texts, official guidelines, and consulting cases from authoritative sources.
    37
    21
    4
    MIT

Latest Blog Posts

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/kmjy98-sketch/Gyeongguk'

If you have feedback or need assistance with the MCP directory API, please join our Discord server