Skip to main content
Glama

지체일수 불산입 사유

delay_exemption_guide
Read-onlyIdempotent

지체일수에서 빼는(불산입) 사유 지도 — estimate_delay_penalty가 정하지 않는 부분.

"이 지연은 우리 책임이 아닌데 지체상금을 물어야 하나", "동절기 공사중지 기간도
지체일수인가", "관급자재가 늦게 와서 늦어졌다" 같은 질문에 쓰라.

**이 도구는 해당 여부를 판정하지 않는다.** 일반조건 문언 자체가 "계약담당공무원이
인정할 때"를 요건으로 두므로 판단은 발주기관 몫이다. 도구가 주는 것은 셋이다 —
①예규에 있는 사유 목록과 원문 인용 ②각 사유가 인정되려면 **확정돼야 할 사실**
(must_establish — 사용자와 하나씩 확인하라) ③기재부·행안부 회신 선례.

쓰는 순서: 이 도구로 사유를 좁힌다 → must_establish를 사용자와 확인한다 →
불산입 일수가 정해지면 estimate_delay_penalty의 excluded_days에 넣어 다시 계산한다.
(sw_requirement_change는 해당 일수의 **1/2**만 넣는다 — 예규가 절반만 빼준다.)

**ground 목록은 계약유형과 무관한 전체 열거다** — 어떤 사유는 일반조건 계열(공사/물품/
용역)뿐 아니라 계약유형까지 좁혀야 한다(예: sw_requirement_change는 같은 조건 제49조의
소프트웨어사업 전용이라 용역 계열이어도 운송·보관 계약에는 해당할 수 없다). 해당하지
않는 조합은 `ground_not_applicable`로 거부하고 가능한 사유를 알려준다. 목록 조회에서
이렇게 빠진 사유는 `grounds_excluded_by_contract_kind`에 사유와 함께 실린다 —
조용히 사라지지 않는다.

**`day_count_rules`도 계약 계열로 걸러 나간다**(2026-09-10). 공사 전용 준공신고·준공검사
규칙과 물품 전용 분할납품 규칙은 해당 계열에만 실린다 — 빠진 것은
`day_count_rules_excluded`에 이유와 적용 계열이 함께 남으므로 "그런 규칙이 없다"로
읽지 마라. 우리가 이 지도에 안 담았다는 뜻이지 규칙이 없다는 뜻이 아니다.

**`verification`은 이 인용을 되짚는 길과 우리가 못 가진 것을 함께 말한다**(2026-09-10).
`general_conditions_article_ref`를 get_law_article에 그대로 넣으면 조문 원문이 나온다
(`general_conditions_in_corpus: false`면 원문을 우리가 못 본다 — **공사계약일반조건이
그렇다**. 그 계열 인용은 감사원 실무가이드 정리를 옮긴 것이니 원문 인용처럼 옮기지
말고 그 사실을 밝혀라). `admin_rule_version_in_corpus: false`는 **예규 발령번호·시행일을
우리가 담지 않는다**는 뜻이다 — 최신이라는 뜻이 아니라 모른다는 뜻이니, 적용 시점이
쟁점이면 계약체결일 당시 시행본을 law.go.kr에서 확인하고 답변에 '버전 미확인'을 밝혀라.
행정회신은 원문 URL이 우리에게 없다(문서번호+일자가 인용 키다) — **링크를 지어내지 마라.**

주의: `quote_truncated: true`인 항목은 우리가 회수한 조문 인용이 중간에서 끊긴 것이다
— 그대로 인용하지 말고 search_references로 전문을 확인하라. 끊긴 문장을 이어서
지어내면 그것이 이 서버가 막으려는 오답이다.

Args:
    contract_kind: estimate_delay_penalty와 같은 값. 일반조건 계열(공사/물품/용역)로
        매핑되며, 실제로 계약서에 편입된 일반조건이 진실원임을 응답이 경고한다
    ground: 특정 사유 하나만 상세히 볼 때. 생략하면 그 계약유형의 전체 목록

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
groundNo
contract_kindYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / ground / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "force_majeure",
      -      "gov_supplied_material_delay",
      -      "owner_caused_delay",
      -      "contractor_default_surety",
      -      "design_change",
      -      "innovative_product_defect",
      -      "raw_material_shortage",
      -      "sw_requirement_change",
      -      "product_owner_side_delay"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "force_majeure",
      +      "gov_supplied_material_delay",
      +      "owner_caused_delay",
      +      "contractor_default_surety",
      +      "design_change",
      +      "innovative_product_defect",
      +      "raw_material_shortage",
      +      "sw_requirement_change",
      +      "product_owner_side_delay",
      +      "other_no_fault"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/safe-read, so the bar is the extra behavioral context — and the description supplies a great deal: rejection behavior (ground_not_applicable), silent-omission guarantees (grounds_excluded_by_contract_kind, day_count_rules_excluded), provenance limits (general_conditions_in_corpus: false for construction, admin_rule_version_in_corpus: false meaning version UNKNOWN not latest), the half-credit rule for sw_requirement_change, and anti-hallucination instructions (don't invent URLs; don't quote quote_truncated items). This is exactly the beyond-annotation disclosure the dimension rewards.

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 it is front-loaded with purpose and the non-judgment constraint, then ordered into workflow and per-field caveats. Most sentences target a concrete failure mode (fabricated links, silent omissions, truncated quotes), so they earn their place; there is mild editorializing ('이 서버가 막으려는 오답이다') and date annotations that could be trimmed.

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

Completeness5/5

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

There is no output schema, so the description must explain the return shape — and it does, naming ground_not_applicable, grounds_excluded_by_contract_kind, day_count_rules_excluded, verification, general_conditions_article_ref, general_conditions_in_corpus, admin_rule_version_in_corpus, and quote_truncated. For a 2-parameter guide tool whose value is in its structured output, nothing an agent needs to interpret the response is missing.

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 description coverage is 0%, so the description must carry parameter meaning and it largely does: contract_kind is tied to estimate_delay_penalty's value and mapped to the general-conditions series, with a warning that the contractually incorporated general conditions are the true source; ground is described as single-reason detail, omitted meaning the full list. It does not individually explain all 6 contract_kind or 10 ground enum values, only illustrative ones (sw_requirement_change), so it compensates well but not exhaustively.

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 states a specific resource and scope: it is a guide (지도) to reasons for excluding (불산입) delay days, and explicitly names the boundary — 'the part estimate_delay_penalty does not determine.' It also names the sibling it complements and the specific question types it answers (force-majeure-like excuses, winter suspension, late government-supplied materials), so an agent can distinguish it from estimate_delay_penalty without opening the schema.

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?

It gives an explicit workflow ('narrow reasons with this tool → confirm must_establish with the user → feed excluded_days into estimate_delay_penalty and recalculate') and an explicit when-NOT clause: '이 도구는 해당 여부를 판정하지 않는다' — judgment belongs to the ordering agency. It also names an alternative for full-text recovery (search_references) and get_law_article for article retrieval. Nothing about when to pick this vs siblings 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.