Skip to main content
Glama

특정 시점 시행 조문

get_law_article_asof
Read-onlyIdempotent

특정 시점에 시행 중이던 조문 원문 조회 (law.go.kr 연혁 라이브).

get_law_article은 항상 현행이다. 과거 사건에 현행 조문을 적용하면 조용히 틀린
답이 된다 — 계약 체결·입찰공고·처분 시점이 과거이면 **반드시 이 도구를 쓰라**:
  - "2023년에 체결한 계약인데 지체상금률이 맞나"
  - "재작년 부정당업자 제재가 당시 기준으로 적법했나"
  - 감사·분쟁·소송 대응(적용법령은 행위시법이 원칙)

응답 필드:
  effective_date  그 시점에 시행 중이던 판의 시행일자
  is_current      그 판이 지금도 현행인가 (False면 이후 개정됨)
  prev/next_effective_date  직전·직후 개정 시행일 — 경계 판단용
  notes           미정비 상호인용 경고 (get_law_article과 동일)
  assumption      법령명을 **우리가 추정해 채웠다**(예: "시행령"→국가계약법 시행령, 약칭 해석) — get_law_article과 같다.
                  다른 법령을 물었다면 hint대로 법령명을 붙여 다시 부르고, 어느 법령 기준인지 사용자에게 밝혀라
  as_of_in_future 기준일이 미래여서 그 시점을 확정할 수 없음 (True면 아래 note를 읽어라)
  as_of_note      그 경우 무엇을 대신 돌려줬는지 — 미래 시점 적용법령을 단정하지 마라
  covered         우리 연혁 목록이 그 시점을 실제로 덮었는가 (False면 coverage_note를 읽어라)
  coverage_start/coverage_end  우리가 본 연혁의 시행일 범위
  versions_complete  연혁 목록을 끝까지 읽었는가 (False면 그 아래에 못 본 판이 있다)
  delegations_asof_note  옛 판(is_current=False)일 때만 — 위임 목록이 **현행 판** 기준 지도이며
                  이 판 본문에서 문구를 확인/못 찾은 건수. delegation_note는 확인된 위임만으로 낸다
  delegations[].line_found_in_version  옛 판에서만 — 그 위임 문구를 이 판 본문에서 찾았는가
                  (false는 부재 증명이 아니라 '못 찾음'이다 — 그 시점의 근거로 인용하지 말고 본문을 읽어라)
                  null은 지도 문구가 잘려 있어 대조하지 못한 것 — 역시 확인이 아니다

**덮지 못하는 기준일에는 근사판을 주지 않는다.** 기준일이 그 법령의 최초 시행일보다
앞서면 `error: "asof_not_covered"` + `covered: false` + coverage_start/end가 온다 —
그때의 적용법령을 지어내지 말고, 우리 연혁이 어디서부터인지를 사용자에게 그대로 전하라.

**그 판에 조문이 없으면 장애가 아니라 확인된 부재다.** `error: "article_not_in_version"`
+ effective_date(읽은 판의 시행일)가 온다 — 같은 인자로 재시도하지 말고, 조문번호
오기·신설 전·삭제 가능성을 사용자에게 그대로 전하라(as_of_in_future=true면 '그때도 없다'고
단정하지 마라). 원문을 못 읽었으면 `law_body_unreadable`이다 — 그건 부재가 아니다.

**미래 날짜는 답할 수 없는 질문이다.** 아직 공포되지 않은 개정은 이 연혁에 없으므로
그 시점에 무엇이 시행 중일지 우리는 모른다. date가 미래면 오늘 기준 판을 주면서
`as_of_in_future=true`로 그 사실을 밝힌다 — 그 응답을 그 시점의 적용법령으로 쓰지 마라.

**별표도 같은 판에서 읽는다** — ref에 "[별표 N]"을 주면 그 시점 판의 별표 원문이 온다
(코퍼스 밖 법령도 된다). 그때 `table_pdf_url`(law.go.kr 원문 PDF)과 `table_note`(근거 조문·
삭제 상태·본문 빈약 여부)가 붙는다 — 표 값이 쟁점이면 PDF와 대조하라고 안내하라.
ref에 조문번호도 별표도 없으면 `error: "ref_missing_article"`이다(장애 아님 — 형식을 고쳐라).

Args:
    ref: 조문 참조 (예: "국가계약법 제27조", "국가계약법 시행령 제26조",
        "주택법 시행령 [별표 4]")
    date: 기준일 "YYYY-MM-DD" 또는 "YYYYMMDD" (예: 계약 체결일)

Input Schema

NameRequiredDescriptionDefault
refYes
dateYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only cover read-only/idempotent safety, but the description discloses far more: full response field semantics (effective_date, is_current, covered, versions_complete), four distinct error modes (asof_not_covered, article_not_in_version, law_body_unreadable, ref_missing_article), and the explicit rule that no nearest approximation is returned. This is unusually rich behavioral disclosure.

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

Conciseness4/5

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

Front-loaded with purpose, then bolded sub-sections for errors and edge cases; every block earns its place given the many failure modes. It is dense and long, but the length is justified by the tool's complexity rather than padding.

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?

With no output schema, the description fully documents the return fields and every error path, plus the future-date and uncovered-date caveats. An agent has everything needed to call it and interpret the result without guessing.

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?

Schema coverage is 0% (no parameter descriptions), so the description must carry the burden, and it does: ref is defined as an article or annex reference with three concrete formats ('국가계약법 제27조', '주택법 시행령 제26조', '주택법 시행령 [별표 4]'), and date is specified as 'YYYY-MM-DD' or 'YYYYMMDD' with a usage example (계약 체결일).

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

Purpose5/5

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

States a specific verb and resource ('특정 시점에 시행 중이던 조문 원문 조회') and explicitly contrasts itself with the sibling get_law_article ('get_law_article은 항상 현행이다'), so an agent can tell them apart immediately.

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?

Gives an explicit trigger condition ('계약 체결·입찰공고·처분 시점이 과거이면 반드시 이 도구를 쓰라') with three concrete examples (지체상금률, 부정당업자 제재, 감사·분쟁 대응) and names the alternative. Nothing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.