Skip to main content
Glama

legal_research

Read-onlyIdempotent

Integrates multiple Korean law APIs in parallel to answer complex legal questions, covering research types like law system, action basis, dispute prep, amendment tracking, and document review.

Instructions

Korean-law-mcp — [⛓리서치] 다단계 법령 리서치 통합 — 여러 API를 병렬로 엮는 복합 질문 전용. task: full_research=도메인·법령명 불명확한 자연어 질문 폴백(기본값, 예 '음주운전 처벌 기준') | law_system=법률·시행령·시행규칙 3단+위임+별표(예 '관세법 체계') | action_basis=처분·허가의 법적 근거+해석례+판례+행심(예 '영업정지 근거') | dispute_prep=불복·소송 준비, 판례+심판례+도메인 결정례(예 '과세처분 불복') | amendment_track=개정 이력+신구대조+연혁(예 '2023년 개정 뭐 바뀜') | ordinance_compare=조례 전국 비교+상위법 적합성(예 '서울시 주차 조례') | procedure_detail=절차·수수료·별표서식(예 '건축허가 절차') | document_review=계약서·약관 조항 리스크+근거법령(text 필수). scenario(선택): 확장 시나리오 — time_travel(두 시점 본문 diff)·timeline·penalty·action_plan·delegation·impact·compliance·customs·manual. 미지정 시 쿼리에서 자동 감지되며, task별 호환 조합은 scenario 파라미터 설명 참조. 단일 조회로 답이 되면 search_law/get_law_text 쓸 것.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mstNo[amendment_track] 법령일련번호 (알고 있으면)
taskNo리서치 유형 (도구 설명의 task 표 참조). 미지정 시 full_researchfull_research
textNo[document_review 전용·필수] 검토할 계약서/약관 전문 텍스트
lawIdNo[amendment_track] 법령ID (알고 있으면)
queryNo자연어 질문/법령명/키워드 (예: '음주운전 처벌 기준', '관세법 체계'). document_review 외 모든 task에서 필수
domainNo[dispute_prep] 전문 분야 (tax=조세심판, labor=노동위, privacy=개인정보위, competition=공정위). 미지정 시 자동 감지
toDateNo[time_travel] 비교 종료 시점 YYYYMMDD
articlesNo[law_system] 함께 조회할 조문 번호 (예: ['제38조'])
fromDateNo[time_travel] 비교 시작 시점 YYYYMMDD
scenarioNo확장 시나리오. 미지정 시 쿼리에서 자동 감지. task별 호환: law_system=delegation·impact | action_basis=penalty | amendment_track=timeline·time_travel | ordinance_compare=compliance | full_research=customs·action_plan | procedure_detail=manual
parentLawNo[ordinance_compare] 상위 법령명. 미지정 시 자동 검색
maxClausesNo[document_review] 최대 분석 조항 수 (기본 15)
includeHistoryNo[amendment_track] 조문별 개정 이력(제정 시점부터 전건)까지 포함. 기본 false — 이 섹션이 응답 상한을 먼저 소진해 신구대조표가 잘린다 (#158)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv4.13.0
    • addedInput schema / properties / includeHistory
      Added value: +{
      +  "description": "[amendment_track] 조문별 개정 이력(제정 시점부터 전건)까지 포함. 기본 false — 이 섹션이 응답 상한을 먼저 소진해 신구대조표가 잘린다 (#158)",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changedv4.12.0
    • addedInput schema / properties / query / maxLength
      Added value: +2000
  3. Addedv4.9.1
  4. Removedv4.9.1
  5. First observedv4.4.2

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld, so the safety profile is covered. The description adds genuinely non-structured behavior: document_review requires the text field, scenarios auto-detect from the query, task/scenario compatibility is constrained, and includeHistory warns that its section can exhaust the response budget and truncate the comparison table (#158). It does not address runtime cost despite the 'parallel API' fan-out, which would be useful.

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 long but front-loaded with the identity line, then an efficient pipe-delimited task table where every entry earns its place by decoding a cryptic enum and adding an example. Density is high and justified for a 13-parameter dispatcher, though the scenario enumeration restates much of what the schema already encodes.

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?

For a complex, zero-required-parameter, no-output-schema tool, the description covers routing, per-task prerequisites (text for document_review, query for all others), scenario compatibility, and one documented failure mode with an issue reference. What is missing is any indication of cost/latency or expected response shape for a tool that orchestrates several APIs in parallel.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description does real work the schema cannot: it gives meaning and example queries for the otherwise opaque task enum values, and it explains the task-to-scenario compatibility matrix that the schema only alludes to via a cross-reference. The domain enum and per-task parameter tags are also clarified ([time_travel], [ordinance_compare], etc.).

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 names a concrete verb+resource ('다단계 법령 리서치 통합' running multiple APIs in parallel) and enumerates the eight research modes with representative example queries for each. It also explicitly distinguishes itself from siblings by stating that single-lookup questions should use search_law/get_law_text instead.

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

Usage Guidelines5/5

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

Each task value is paired with a when-to-use condition and an example query ('음주운전 처벌 기준', '관세법 체계', '과세처분 불복'), and the closing sentence gives an explicit exclusion routing single queries to search_law/get_law_text. Alternative selection between search_law, get_law_text and this tool is unambiguous.

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