Skip to main content
Glama

Server Details

Korean tax law graph: current statutes, 150k+ court/tribunal cases, 145k+ NTS rulings.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
98.7% over 64 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
minsooparkk/korea-tax-law-mcp
GitHub Stars
1
Server Listing
korea-tax-law
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 20 tools

Disambiguation4/5

The tool set follows a clear corpus-plus-operation split: get_* fetches a known item (statute article, annex, treaty article, reference-law article, article history, 3-tier view, evidence), search_* retrieves by keyword from a named corpus (articles, annexes, cases, interpretations, reference articles, treaties), and list_* enumerates holdings. The main residual overlap is search_tax (integrated graph traversal that also supplements with full-text search) versus the narrower search_articles/get_evidence combination, and get_article versus get_article_tiers could be misselected by an agent that just wants text. Descriptions do disambiguate these cases explicitly (e.g. get_evidence reads a known DB record, search_* finds one), so the boundaries hold up in practice.

Naming Consistency5/5

Every name is snake_case and begins with a predictable verb that matches its operation class: get_ (single-item fetch), list_ (enumeration), search_ (full-text retrieval), verify_ (validation). The noun component consistently names the resource or corpus (article, annex, treaty, reference_article, cases, interpretations, amendments), so an agent can infer both action and target from the name alone.

Tool Count4/5

At 20 tools the set sits at the upper edge of comfortable, but the count is driven by genuine breadth of corpora (statutes, decrees, annexes, bylaws, treaties, cases, interpretations, non-tax reference law, regulated-area notices) rather than by redundant variants. A few tools could arguably be folded together (get_reference_article/search_reference_articles, or get_treaty_article/search_treaties), but each currently earns its place by serving a distinct lookup mode.

Completeness4/5

The surface covers the full research lifecycle: discovery (search_*, list_laws, list_treaties), retrieval (get_article, get_annex, get_treaty_article, get_reference_article), temporal analysis (get_article_history, get_amendments, list_upcoming, get_regulated_area_history), cross-hierarchy reconciliation (get_article_tiers), synthesis (search_tax), and citation validation (verify_citations). Minor gaps remain: there is no tool to enumerate a specific law's article table of contents (list_laws gives only law names and effective dates), and no direct 통칙 search outside search_tax/get_evidence, which could leave an agent without a browsing entry point into an unfamiliar statute.

Available Tools

20 tools
get_amendmentsA
Read-onlyIdempotent
Inspect

조문의 적용례·경과조치를 부칙에서 찾는다. 언제부터 적용되는지는 조문이 아니라 부칙에 있다. period_start·period_end(취득·증여·양도일 등 사건 날짜)를 주면 그 기간에 걸리는 부칙을 경과조치→적용례→당시 판→후속 개정 순으로 고르고, 그 조문을 언급한 조항만 발췌하며, 기간 안에서 조문 판이 바뀐 경계의 바뀐 말도 붙인다. 날짜가 없으면 최근 공포 순.

NameRequiredDescriptionDefault
limitNo부칙 수 (기본 6, 최대 10)
law_nameYes법령명 (약칭·띄어쓰기 차이도 받는다)
period_endNo기준 기간 끝 (예: 증여 뒤 양도일 '2026-05-01')
period_startNo기준 기간 시작 (예: '2022-03-01', 연도만 '2022'도 가능). 사건이 하나면 이것만 준다
article_numberYes조번호 (예: '제97조의2', '97조의2')

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety bar is low. The description still adds real behavior: the selection ordering (경과조치→적용례→당시 판→후속 개정), the fact that only clauses mentioning the article are excerpted, and that changed wording at version boundaries is appended. It stops short of describing the response shape or how many items come back beyond the schema's limit.

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 the purpose, then the why, then the mechanics, then the fallback – no filler sentences. The middle sentence is long and packs several rules at once, which costs some readability but every clause is load-bearing.

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?

No output schema exists, so the description must carry the return-value burden; it does so partially by explaining ranking order, excerpting scope, and appended wording changes. It leaves the actual returned fields unstated, but for a lookup tool with full schema coverage and clear annotations this is close to sufficient.

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 baseline is 3, but the description goes further by stating what period_start/period_end actually mean (event dates such as 취득·증여·양도일) and how they drive selection. It also gives the default-order behavior when they are omitted, which the schema does not convey.

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?

States a specific verb and resource: find an article's 적용례/경과조치 in the 부칙 (supplementary provisions), and explicitly contrasts this with looking at the 조문 itself ('언제부터 적용되는지는 조문이 아니라 부칙에 있다'). The resource is distinctive enough to separate it from get_article / get_article_history, though no sibling is named outright.

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?

Gives clear triggering context (when you need to know from when a provision applies) and a concrete calling pattern: supply period_start/period_end as event dates. It also states a fallback when no dates are given ('날짜가 없으면 최근 공포 순'), so behavior is predictable. No explicit when-not or named alternative tool.

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

get_annexA
Read-onlyIdempotent
Inspect

특정 별표·서식의 본문을 반환한다. 조문이 '별표 N에 따른다'로 위임한 세율·기준금액을 확인할 때 사용. 한 번에 6,000자씩 주며 긴 표는 offset으로 이어 읽는다.

NameRequiredDescriptionDefault
offsetNo선택: 이어 읽을 시작 글자 위치 (앞 응답이 알려 준 값)
law_nameYes법령명 (예: '소득세법 시행령')
annex_numberYes'별표 2', '별표 1의3', '서식 1' 또는 숫자만

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the description's job is to add what they cannot: it discloses truncation at 6,000 characters per call and continued reading via offset. Not stated: what happens when the annex number does not exist or how the continuation value is signalled.

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?

Three short sentences, each carrying distinct information: what it returns, when to reach for it, and how paging works. Purpose is front-loaded and nothing is redundant.

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 read-only lookup with no output schema, the definition covers return content (annex body text), the reason to call it, and the pagination limit. Failure behavior on a missing or ambiguous annex number is the only notable gap.

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 baseline is 3, but the description adds real meaning about offset: it exists because long tables are paginated in 6,000-character chunks, which explains how to use it rather than just what it is.

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 ties it to annex/form body text, which separates it cleanly from get_article (article text) and search_annexes (searching). An agent knows exactly what it gets back 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 Guidelines4/5

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

Gives a concrete triggering condition: use it when an article delegates via '별표 N에 따른다' to check tax rates or threshold amounts. That is a genuinely useful routing cue, but it never names alternatives such as search_annexes or states 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.

get_articleA
Read-onlyIdempotent
Inspect

특정 조문의 원문 전체를 반환한다. as_of가 없으면 현행 판(시행일·검증된 위임 상·하위법령·별표·검증된 인용 포함), as_of를 주면 그날 시행 중이던 판(시행 구간·판 목록·부칙 요약)을 준다 — 지난 사업연도·과세기간·경정청구 대상 연도 판단에 쓴다. 그 날짜의 판이 수록 전·미검증이면 현행으로 대신하지 않고 '확인 불가'로 답한다. 세법 조문은 TaxDoctorAI 3단보기 링크를 제공한다. as_of 응답의 현행 3단보기는 당시 판이 아니다. 세율·한도·요건 등 정확한 수치는 반드시 이 도구로 원문을 확인할 것. 인용은 적용 확정이 아니다. 법령명이 비세법 참조 법령(민법·주택법 등)이면 '세법이 아님' 표시와 함께 그 조문을 준다.

NameRequiredDescriptionDefault
as_ofNo선택: 기준일 (예: '2025-12-31' — 사업연도 말일·거래일·증여일). 그날 시행 중이던 판을 준다. 없으면 현행
law_nameYes법령명 (예: '소득세법', '상속세 및 증여세법'). 약칭(조특법·상증법·국기법)·띄어쓰기 차이도 받는다
article_numberYes조번호 (예: '제97조의2', '97조의2', '55')
effective_dateNoas_of와 같다(다른 법령 도구와 맞춘 이름)

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses important behavior: no substitution of current law when the requested dated version is unloaded or unverified, explicit 'unable to confirm' handling, and a caveat that the current three-column view is not the historical version. It also notes non-tax-law handling and that citations do not confirm application.

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 front-loaded with the core purpose and every sentence appears to carry relevant legal-retrieval caveats. It is dense and somewhat run-on for the number of edge cases it covers, but it avoids redundant filler.

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 still explains what is returned in both current and as_of modes, including effective dates, delegated statutes, annexes, citations, effective periods, version lists, and supplementary-provision summaries. It also covers the critical unverified-date and non-tax-law edge cases, making it complete enough for correct invocation.

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 schema already documents the parameters in detail. The description adds meaningful parameter behavior beyond the schema, especially the unverified-date fallback for as_of and the warning that a current three-column view in an as_of response is not the historical version.

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 uses a specific verb and resource: it returns the full original text of a particular article, and it explains the current-version versus as_of-version distinction. It does not explicitly distinguish itself from sibling tools such as get_reference_article or search_articles, so it is clear but not fully sibling-differentiating.

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?

It gives concrete usage contexts, especially for as_of when determining past fiscal years, tax periods, or refund-claim years, and states that exact rates, limits, and requirements must be confirmed through this tool. It does not name alternatives or explicitly say when not to use it, so the guidance is strong but not complete.

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

get_article_historyA
Read-onlyIdempotent
Inspect

특정 조문의 개정 연혁(버전 이력, 개정 표기, 검증·원천 여부)을 반환한다. '언제 바뀌었나' 질문에 사용. 미검증 버전은 적용 단정에 쓰지 말 것.

NameRequiredDescriptionDefault
law_nameYes
article_numberYes

TDQS

A3.6/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the description's added value is the semantic caveat: some versions are unverified and must not anchor an assertion. That is real behavioral context that the annotations cannot convey. It still doesn't say how many versions come back or whether the full history or a windowed slice is returned.

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?

Three short sentences, with the return contents stated first and the caveat last, so nothing is buried. There is no filler. The only weakness is that the trigger advice and the caveat could be tightened into one line.

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?

There is no output schema, but the description covers what the result contains (history, notation, verification flags), which partly compensates. The gap is the callable side: the required law_name/article_number formats are left entirely unaddressed, and the agent can easily supply the wrong shape. This is adequate but incomplete for a two-required-param lookup.

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 carry the burden for law_name and article_number, but it says nothing about expected formats (for example, whether article_number is '3' or '제3조'). The phrase '특정 조문' only implies what the parameters are, without giving an agent enough information to fill them in reliably.

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 a specific verb (returns) and a well-scoped resource (revision history of a specific article), and it enumerates what the payload contains: version history, revision notation, verification/source status. It does not explicitly distinguish itself from get_article (current text), but the scope is clear enough that an agent can tell the two apart.

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 names the trigger question ('when did it change') directly, so the agent knows when this tool is the right call. It also adds an exclusion ('don't use unverified versions for definitive application'), which is useful usage guidance. It stops short of naming an alternative tool for current text.

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

get_article_tiersA
Read-onlyIdempotent
Inspect

법률 조문과 위임·정의·집행 관계로 이어진 시행령·시행규칙 조문 본문을 3단(법률·시행령·시행규칙)으로 한 번에 반환한다. 시행령·시행규칙 쪽 조문을 넣어도 위아래를 찾는다. 이 조문에 쓰라고 정한 별지 서식도 함께 준다. 비세법 참조 법령(중소기업기본법·수도권정비계획법·주택법 등)도 같은 방식으로 3단과 가리키는 별표를 준다(세법 아님 표시).

NameRequiredDescriptionDefault
law_nameYes법령명 (예: '소득세법', '소득세법 시행령'). 약칭도 받는다
article_numberYes조번호 (예: '제89조', '155')

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuine behavior: it expands up and down the delegation chain, bundles annex forms tied to the article, and flags non-tax laws with a '세법 아님' marker. It does not discuss resolution limits or what happens when no tier linkage exists, which keeps it from a 5.

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 three-tier return is front-loaded in the first sentence, followed by input flexibility, annex forms, and the non-tax-law caveat — each sentence carries distinct information. It is dense but nothing is redundant.

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?

With no output schema, the description does the work of describing the return shape (three tiers, annex forms, non-tax marker), which is the key thing an agent needs. Missing only edge-case behavior such as articles with no decree/rule counterpart.

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 adds real meaning: law_name may point at a decree/rule level and article_number still resolves the surrounding tiers, which is not obvious from the schema alone. The 약칭 acceptance is only echoed from the schema.

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?

States a specific action (3단으로 반환한다) and a specific resource (법률·시행령·시행규칙 조문 본문), plus a concrete extra output (별지 서식). An agent can tell it is the multi-tier/expanded lookup rather than a plain article fetch, although no sibling is named outright to sharpen the contrast with get_article or get_reference_article.

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?

Gives useful applicability cues: it works even when you pass an enforcement-decree or enforcement-rule article ('시행령·시행규칙 쪽 조문을 넣어도 위아래를 찾는다') and it covers non-tax referenced laws. However, it never states when NOT to use it or which sibling to prefer for a single-law article, so the routing decision is left implicit.

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

get_evidenceB
Read-onlyIdempotent
Inspect

근거의 DB 원문을 읽는다. 판례·해석례·예규·조문·통칙·별표·부칙·조약·역사버전을 지원.

NameRequiredDescriptionDefault
limitNo
offsetNo
evidence_idYes
source_fieldNo선택: original_text.available_fields의 다른 원문 필드 조회
evidence_typeYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds that what comes back is the raw DB source text (원문) rather than a summary, which is useful context. It says nothing about truncation or paging despite a 12000-character default limit, which matters for a full-text reader.

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?

Two short sentences, front-loaded with the operation and followed by the coverage list; nothing is redundant. It is terse to the point of omitting behavioral detail, but there is no filler.

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?

An output schema exists so return values need not be explained, and annotations cover the safety profile. Yet for a 5-parameter full-text retrieval tool with a default 12000 / max 24000 character limit, the absence of any note on truncation, paging, or how this generic getter relates to the type-specific siblings leaves gaps an agent would hit in practice.

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 only 20% (only source_field has a description), so the description carries real weight here and does help by glossing evidence_type values in Korean (판례=case, 해석례=interpretation, 예규=ruling, 통칙=basic_rule, 별표=annex, 부칙=amendment, etc.). However, evidence_id format, limit, offset, and source_field are left entirely to the schema, and source_field is not mentioned at all.

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?

States a specific verb (reads the raw DB text) plus the resource (evidence original text), and enumerates the nine supported evidence categories, which maps directly onto the evidence_type enum. It never distinguishes itself from the type-specific siblings (get_article, get_annex, get_treaty_article, get_article_history), so an agent cannot tell from the text alone when this generic getter beats the specialized ones.

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 only implied: 'reads the raw original text' suggests calling it after a search when full text is needed, and the type list hints at coverage. There is no explicit when-to-use, no exclusion, and no naming of alternatives such as get_article or get_annex, which overlap heavily.

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

get_reference_articleA
Read-onlyIdempotent
Inspect

비세법 참조 법령(세법 아님: 민법·신탁법·상법·주택법·민간임대주택법·도시정비법·건축법·국토계획법·토지보상법·농지법·부동산공시법·가족관계등록법·주택임대차보호법·중소기업기본법 등) 조문을 반환한다. as_of를 주면 그날 시행 중이던 판을 준다(2016-01-01 당시 판부터 수록, 그 이전은 확인 불가 — 현행으로 대신하지 않는다). 세법상 결론은 세법 조문으로 따로 확인할 것.

NameRequiredDescriptionDefault
as_ofNo선택: 기준일 (예: '2020-08-18'). 없으면 현행
law_nameYes참조 법령명 (예: '민법', '민간임대주택법', '도시정비법', '주택법 시행령'). 세법 이름은 받지 않는다
article_numberYes조번호 (예: '제1009조', '43'). 고시(예: '사업종류별 산재보험료율 고시', '최저임금 고시')는 '본문' 또는 '별표 1'

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description adds substantive behavior: as_of returns the version in force on that date, coverage begins at 2016-01-01, and out-of-range dates are refused rather than silently resolved to the current text. That refusal rule and the tax-law rejection are exactly the failure modes an agent needs to know about.

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?

Three sentences, front-loaded with the resource scope, then the temporal rule, then the tax-law caveat — each earns its place. The long statute enumeration is lengthy but functions as a scope boundary, so it is defensible rather than filler.

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 single-article retrieval tool with no output schema, the description covers scope, temporal range, known limitation, and the non-tax restriction that define correct use. It does not say what happens for an unknown law name or nonexistent article, a minor remaining gap.

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 baseline is 3; the description still adds meaning by explaining the temporal semantics of as_of (version in force, 2016 floor, no substitution with current law) and by reinforcing that law_name rejects tax-law names. article_number syntax is left entirely to 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?

States a specific verb and resource: returns provisions (조문) of non-tax reference statutes, with an explicit enumeration of which statutes count. It also draws the boundary against the tax-law siblings ('세법 아님', '세법 이름은 받지 않는다'), so an agent can distinguish it from get_article/search_tax without opening a schema.

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?

Gives clear when-to-use (non-tax statutory provisions, optionally as of a date) and when-not (tax-law questions must be confirmed against tax provisions separately), plus a hard coverage cutoff before 2016-01-01. It stops short of naming the specific fallback sibling tool, leaving the agent to infer that the tax route is get_article/search_tax.

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

get_regulated_area_historyA
Read-onlyIdempotent
Inspect

조정대상지역·투기과열지구·투기지역 지정·해제 공고 이력(2017-08-03 이후, 관보 원문 대조 — 세법 아님)을 시군구별로 반환한다. 효력일·공고일·공고번호·범위(전역/읍면동·지구 한정)·관보 출처를 주고, as_of(없으면 오늘) 당시 상태를 '지정됨/지정 아님'으로 말하되 읍면동·지구 단위 공고가 걸리면 '부분 지정'으로 두고 넘겨짚지 않는다. 중과·거주요건·공고일 이전 계약 예외 등 세법 효과는 세법 조문으로 확인할 것.

NameRequiredDescriptionDefault
kindNo선택: 하나만 볼 때. 없으면 셋 다
as_ofNo선택: 기준일 (예: '2020-06-30'). 없으면 오늘
regionYes시도·시군구 (예: '서울 강남구', '강남구', '성남시 분당구', '용인 기흥')

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: discloses the data source (관보 원문 대조), the coverage start date, the exact fields returned (효력일·공고일·공고번호·범위·관보 출처), and the deliberate '부분 지정' behavior when 읍면동·지구 단위 공고 applies rather than guessing. That is exactly the kind of result-shaping behavior an agent needs before calling.

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 the resource and scope, and each following sentence adds distinct value (caveat about 부분 지정, redirect to tax-law sources). It is dense and slightly long as a single block, but nothing is redundant.

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 carries the return-shape burden and does so by enumerating the fields and their meaning. Combined with annotations covering safety, an agent has everything needed to call it and interpret the answer 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?

Schema coverage is 100%, so the baseline is 3; the description still adds value by explaining what as_of actually governs (the designation state as of that date, defaulting to today) and by tying partial-scope designations to that evaluation. The region granularity '시군구별' also clarifies expected input shape beyond the schema examples.

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 — returns the designation/release history of 조정대상지역·투기과열지구·투기지역 by 시군구 — plus scope boundaries (since 2017-08-03, based on 관보 원문, explicitly '세법 아님'). The 'not tax law' framing separates it cleanly from the tax-law siblings like get_article/search_tax.

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?

Clearly says when to use it (historical designation status as of a given date) and when not to (중과·거주요건·계약 예외 등 세법 효과는 세법 조문으로 확인), which routes the agent elsewhere. It stops short of naming the specific sibling tool to use instead, so the redirect requires inference.

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

get_treaty_articleA
Read-onlyIdempotent
Inspect

특정국 조세조약의 조문 원문 전체를 국문·영문으로 반환한다. 제한세율 등 정확한 수치는 반드시 이 도구로 원문을 확인할 것.

NameRequiredDescriptionDefault
countryYes체결국 한글명 (예: '미국')
article_numberYes조번호 (예: '제12조', '12')

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful context beyond that — the return is bilingual full text — and imposes a verification obligation for exact numbers. It does not say what happens for a missing country/article or how large articles are handled, so it stays at adequate rather than rich.

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 short sentences with zero waste: the return content comes first, the verification rule second. Nothing is repeated from the schema or annotations.

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?

With no output schema, the description correctly states what comes back (full article text, Korean and English) and when to trust it over other sources. Only the empty/not-found case is unaddressed, which is a minor gap for a two-required-param read 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 coverage is 100% and both parameters carry their own descriptions with examples ('미국', '제12조'/'12'), so the schema does the work. The description adds nothing about accepted country-name forms or article-number formats beyond what the schema already states; baseline 3 applies.

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?

States a specific verb and resource: returns the full original text of a given country's tax treaty article, in both Korean and English. The '특정국 조세조약' qualifier separates it from domestic-law siblings like get_article, but it never explicitly names or contrasts those siblings, leaving the agent to infer the treaty-vs-statute split.

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?

Gives an explicit use condition: for precise figures such as 제한세율 (limited tax rates), the original text must be confirmed with this tool. That is a real routing directive rather than implied usage, though it offers no exclusion or named alternative for broader article lookups.

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

list_lawsA
Read-onlyIdempotent
Inspect

이 DB에 수록된 현행 세법 법령 목록(법률·시행령·시행규칙)과 시행일을 반환한다. 국세청 조세법령 목록의 현행만 포함하며 목록 역사 법령은 제외. 별도 절에 비세법 참조 법령(세법 아님) 목록도 준다. 다른 도구를 쓰기 전 수록 범위 확인용.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the bar is lower; the description still adds what the response contains — current statutes plus effective dates and a separate non-tax reference section. It does not describe ordering or pagination, but the payload is a simple inventory.

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?

Four short sentences, with the core purpose front-loaded and the usage hint last — no filler. Slight redundancy between the current-only statement and the historical-exclusion statement, but both sharpen scope.

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?

There is no output schema, and the description compensates by describing the returned content, including the separate non-tax reference section. No parameters need explaining, so an agent has enough to call this correctly, though the return shape is described only at a high level.

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 takes no parameters, so there is nothing for the description to disambiguate; baseline is 4. The scope statements still clarify what the implicit 'unfiltered listing' means.

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 concrete verb+resource: returns the list of current tax statutes (법률·시행령·시행규칙) with effective dates stored in this DB. It also demarcates scope precisely — current versions only, historical laws excluded — which effectively separates it from history-oriented siblings like get_article_history.

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 closing line explicitly says to use it to confirm coverage before using other tools, which is a clear usage context. The exclusion of historical laws implies when not to rely on it, though no alternative tool is named for that case.

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

list_treatiesA
Read-onlyIdempotent
Inspect

한국이 체결한 조세조약(이중과세방지협약) 수록 현황을 반환한다. country 없이 호출하면 체결국 목록, country를 주면 그 나라 조약(협약·개정의정서·교환각서) 목록과 발효일.

NameRequiredDescriptionDefault
countryNo체결국 한글명 (예: '미국', '일본'). 생략하면 전체 체결국 목록

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral detail absent from annotations: what each call mode returns, including effective dates. With no output schema, this return-content disclosure is genuinely valuable.

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, zero waste, with the resource statement front-loaded and the mode behavior immediately after. Nothing is redundant or padded.

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?

For a single-optional-parameter read tool with annotations covering the safety profile, the description supplies everything an agent needs: what is returned in each mode. With no output schema required, nothing material 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 coverage is 100% and the country parameter is already documented in the schema. The description still adds value by spelling out the consequence of omitting country (full partner list) versus supplying it (treaty, protocol, and exchange-of-notes list plus effective dates), clarifying the mode switch beyond the schema.

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 a specific verb (returns) and resource (Korea's concluded tax treaties, listed status), and it distinguishes the two call modes clearly. It does not explicitly name the sibling search_treaties to differentiate list vs. search, so it stops short of a 5.

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?

It gives concrete usage context: call without country for the list of treaty partners, with country for that country's instruments and effective dates. No explicit exclusions or alternatives (e.g., search_treaties) are named, so it is clear context without routing guidance.

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

list_upcomingA
Read-onlyIdempotent
Inspect

공포됐으나 아직 시행 전인 개정(시행예정)을 반환한다. 시행일·법령·달라지는 조문 목록. 미래 과세기간이 걸린 질문에서 현행 조문만 보고 답하지 않도록 확인용.

NameRequiredDescriptionDefault
law_nameNo법령명 필터 (생략 시 전체). 부분 일치라 '소득세법'은 시행령·시행규칙도 함께 준다

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real value by disclosing the shape of the return payload (enforcement date, law, list of changed articles), which no annotation provides. Pagination and empty-result behavior are still unstated.

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?

Three compact sentences/fragments, front-loaded with the definition before the usage rationale, with no filler. The middle fragment is telegraphic ('시행일·법령·달라지는 조문 목록') but it earns its place by conveying the return fields.

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 one-parameter, annotation-covered, read-only list tool with no output schema, the description covers purpose, payload contents, and the decision context that motivates a call. Only edge cases (no results, volume of results) are left out.

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 100% and the single law_name parameter already documents partial-match behavior including 시행령·시행규칙. The description adds nothing about the filter, so the baseline 3 applies.

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?

States a precise verb and resource: returns amendments that are promulgated but not yet in force (시행예정), and names the returned fields (시행일·법령·달라지는 조문). The scoping distinguishes it in practice from get_amendments, but the sibling is never named explicitly, so an agent must infer that 'amendments' means already-in-force changes.

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?

Gives an explicit usage trigger: questions involving future tax periods, where answering from current articles alone would be wrong. It stops short of saying when NOT to use it or pointing to get_amendments as the alternative for in-force amendments.

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

search_annexesA
Read-onlyIdempotent
Inspect

법령 별표·서식을 전문검색한다. 세율표·기준금액·한도·분류표는 조문이 아니라 별표에 있는 경우가 많다 (예: 근로소득 간이세액표, 면세 미가공식료품 분류표).

NameRequiredDescriptionDefault
limitNo기본 5, 최대 15
queryYes검색어 (표 제목·항목 낱말)
law_nameNo법령명 필터 (부분 일치)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds only a content hint (annexes hold tables rather than article prose); it says nothing about result shape, ranking, or what happens at the limit cap. With annotations doing the heavy lifting, this is adequate but thin.

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, purpose front-loaded, followed by a single justifying sentence with compact parenthetical examples. No filler or repetition of schema/annotation content.

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 3-parameter read-only search with no output schema, the definition gives enough to call it correctly and to know why annexes matter. Minor gaps remain: no indication of what a hit looks like or how annex results relate to their parent law, which matters for a full-text search 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 100% — query, law_name (부분 일치), and limit (기본 5, 최대 15) are all documented in the schema. The description adds no meaning about search semantics (e.g., whether query matches table titles only or cell contents), so the baseline 3 applies.

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?

States a specific verb and resource (법령 별표·서식을 전문검색한다) and implicitly differentiates from article search by explaining that rate tables, thresholds, limits, and classification tables live in annexes rather than 조문. It never names the sibling tools (search_articles, get_annex), so routing still requires the agent to infer which sibling to avoid.

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?

Gives a clear use context: reach for this when the value sought is a tax-rate table, threshold, cap, or classification table, with two concrete examples (간이세액표, 면세 미가공식료품 분류표). It does not state exclusions or name alternatives such as search_articles for narrative text or get_annex for retrieving a single annex by ID.

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

search_articlesA
Read-onlyIdempotent
Inspect

현행 세법 조문을 전문검색한다. 키워드는 조사 없는 명사 위주가 정확함 (예: '이월과세 배우자', '대손세액공제'). law_name으로 특정 법령 한정 가능.

NameRequiredDescriptionDefault
limitNo최대 결과 수 (기본 8, 최대 20)
queryYes검색어 (명사 위주, 구문검색은 따옴표)
law_nameNo법령명 필터 (부분 일치, 예: '소득세법')

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already establish that this is a safe, read-only, idempotent, closed-world operation. The description adds that it searches current tax law articles via full text and gives keyword guidance, but it does not explain result ordering, pagination behavior, or what the response contains.

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 short and front-loads the main purpose before giving query tips and the law_name filter. It is efficient, though one sentence partially repeats information already present in the schema.

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 simple three-parameter search tool with full schema coverage and safety annotations, the description covers the essential purpose, query style, and filtering option. It does not describe return values, but no output schema exists and the core calling information is present.

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 100%, so all three parameters are already documented. The description adds examples and a no-particle keyword nuance, but it largely repeats the schema's query and law_name descriptions rather than adding substantial new parameter semantics.

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 a specific verb and resource: full-text search of current tax law articles. It is clear enough to distinguish from retrieval tools like get_article, though it does not explicitly differentiate itself from the sibling search_tax tool.

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?

It gives useful query-formulation guidance, such as using noun-oriented keywords without particles and limiting by law_name. However, it does not explicitly say when to use this tool instead of alternatives like search_tax or get_article.

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

search_casesA
Read-onlyIdempotent
Inspect

판례·불복 결정례를 전문검색한다 (대법원·고등법원 등 법원 판례, 조세심판원 심판례, 국세청 심사청구·이의신청·과세전적부심사 결정례). 단일 핵심 키워드가 정확함. 사건번호(2015두41937·조심2020서8493)를 넣으면 그 사건을 번호로 찾아 맨 앞에 두고 법원 판결은 주문·원심·환송 후 판결을 붙인다. 키워드 히트는 현행 조문에 대한 검증된 인용이 아니다.

NameRequiredDescriptionDefault
limitNo기본 5, 최대 15
queryYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive and closed-world, so safety is covered. The description adds genuinely non-obvious behavior: case-number queries are hoisted to the front with 주문·원심·환송 후 판결 appended. The caveat that keyword hits are unverified against current law is a valuable reliability disclosure.

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?

Three sentences, all load-bearing: scope enumeration, query-form guidance, and the citation caveat. The most decision-relevant information (what corpus this searches) is front-loaded with no filler.

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 2-parameter read-only search with no output schema, the description covers scope, query construction, ranking special-cases, and a caveat about result validity. Only a hint about result shape/pagination is missing, which is minor given annotations and the simple surface.

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 50% — limit is documented in-schema but query is not. The description compensates by explaining query semantics (single keyword preferred, case-number format with two concrete examples). It does not discuss limit, but that gap is already filled by 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 opens with a specific verb+resource ("판례·불복 결정례를 전문검색한다") and then enumerates exactly which corpora are covered (court precedents, Tax Tribunal decisions, NTS 심사청구/이의신청/과세전적부심사). This clearly separates it from sibling search tools like search_articles, search_interpretations, and search_tax.

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?

It gives concrete usage guidance: a single core keyword works best, and a case number (with example formats 2015두41937, 조심2020서8493) triggers special ranked behavior. It also warns that keyword hits are not verified citations to current statutes. It stops short of naming a sibling as the alternative for those cases, so 4 rather than 5.

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

search_interpretationsA
Read-onlyIdempotent
Inspect

국세청 질의회신·법제처·행정안전부 해석례를 전문검색한다. 실무 쟁점의 과세관청 입장 확인에 사용. 쟁점 문장을 그대로 넣어도 되고, 문서번호를 넣으면 그 문서를 맨 앞에 준다. 키워드 히트는 현행 조문에 대한 검증된 인용이 아니다.

NameRequiredDescriptionDefault
limitNo기본 5, 최대 15
queryYes

TDQS

A4.1/5.0
Behavior4/5

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

With annotations already covering read-only and idempotent behavior, the description adds useful behavioral detail: document-number queries return that document first, and keyword hits should not be treated as verified citations. It does not describe rate limits or output structure, but it provides meaningful context beyond the annotations.

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?

Three sentences, front-loaded with the core purpose, then usage, query behavior, and a reliability caveat. Every sentence adds useful information without repetition.

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 two-parameter search tool with no output schema, the description gives enough guidance to invoke it correctly and understand the key caveat about citation verification. It could say more about the shape of returned results, but the essential invocation context is complete.

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 50%, with limit documented in the schema but query undocumented there. The description compensates well by explaining that query can be an issue sentence or a document number and by describing the resulting ranking behavior when a document number is used.

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 a specific verb and resource: full-text search of interpretation cases from the National Tax Service, Ministry of Government Legislation, and Ministry of Public Administration and Security. This distinguishes the source material from sibling tools like search_cases or search_articles, though it does not explicitly name those alternatives.

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?

It gives a clear usage context: confirming the tax authority's position on practical issues. It also explains that either an issue sentence or a document number can be used, and warns that keyword hits are not verified citations to current statutory provisions. It does not explicitly route users to alternatives such as verify_citations, but the context is clear.

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

search_reference_articlesA
Read-onlyIdempotent
Inspect

비세법 참조 법령(세법 아님) 조문을 전문검색한다. 부동산·상속증여 세법 쟁점의 전제(상속분, 임대사업자 등록·의무기간, 관리처분계획인가, 주택·준주택 정의 등) 확인용.

NameRequiredDescriptionDefault
limitNo최대 결과 수 (기본 8, 최대 20)
queryYes검색어 (명사 위주, 구문검색은 따옴표)
law_nameNo참조 법령명 필터 (예: '민법', '민간임대주택법')

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered. The description adds real behavioral context: this is full-text (전문검색) matching over non-tax statutes only, which tells the agent what kind of matching to expect and that tax-law hits will not appear here.

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, front-loaded with the scope constraint and followed by the use case. The parenthetical example list is compact and directly supports routing decisions, so no sentence is wasted.

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 3-parameter, fully documented read-only search with annotations, the description supplies domain scope and intent. It could say slightly more about what a hit contains (law name, article number) or result-ordering, but nothing essential to calling it correctly is missing.

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 100%, with limit defaults/max, query phrasing advice, and law_name examples all documented in the schema. The description adds nothing parameter-specific, so the baseline of 3 applies.

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?

States a specific verb+resource ('비세법 참조 법령 조문을 전문검색한다') and explicitly narrows scope with '(세법 아님)', which implicitly separates it from the tax-law search siblings like search_articles and search_tax. It does not name a sibling directly, so it stops short of a 5.

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 second sentence gives concrete when-to-use context: verifying premises behind real-estate and inheritance/gift tax issues (inheritance shares, rental-business registration, management-disposal approval, housing definitions). It lacks an explicit negative rule or a named alternative for the tax-law case, but the domain boundary is clear.

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

search_taxA
Read-onlyIdempotent
Inspect

세무 쟁점의 근거를 한 번에 모으는 통합 그래프 탐색. law 시작 조문에서 위임을 최대 2단계 따라 판례·예규·해석례·참조조문·통칙·부칙 적용근거·별표를 모으고 전문검색으로 보충한다. 결과마다 번호·제목, DB 원문, 시행일·적용버전·미확정 상태와 실제 탐색 경로 요약(graph_route)을, 원문을 싣지 않은 결과는 목차(not_shown)로 반환한다.

NameRequiredDescriptionDefault
as_ofNo선택: YYYY-MM-DD 또는 YYYYMMDD. 조문별 당시 버전을 별도 반환하며 불명 시 현행으로 대체하지 않음.
limitNo한 쪽 건수. 원문 포함(full)은 기본 3·최대 25, 목록(list)은 기본 30·최대 100. 한 쪽의 원문은 합쳐 약 3,000자(앞부분)까지 싣고 나머지는 continuation으로 이어 읽는다
detailNofull = 원문·시행일·적용 상태와 탐색 경로 요약. list = 원문 없이 번호·제목·날짜·요지·길이만. trace = full 에 탐색 경로의 노드·관계 전체와 원천 지문까지full
offsetNo
result_set_idNo다음 페이지는 이전 응답의 식별자를 전달하여 검색 집합 변경을 감지
search_intentsYes유형별 검색 의도. 전체 1~8개. 예: {law:[소득세법 제97조의2],case:[이월과세],ruling:[배우자 증여]}

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive, closed-world), the description discloses substantive behavior: delegation is followed a maximum of 2 hops from law articles, results carry effective date/applicable version/unconfirmed status, the traversal path is summarized as graph_route, and results without full text fall back to a table of contents (not_shown). These are non-obvious traits an agent could not derive from the annotations alone.

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?

Three dense sentences with the core operation stated first, followed by collection scope and return contract. Every sentence carries information, though the return-value sentence is long and packs several distinct concepts (number/title, original text, effective date, unconfirmed status, graph_route, not_shown) into one clause chain.

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?

With an output schema present and 83% parameter coverage, the description covers what the agent still needs: the composite traversal model, its depth limit, and the not_shown fallback. Remaining gaps — pagination continuity and the result_set_id contract — are handled by the schema, so the description is largely complete for a tool of this complexity.

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

Parameters4/5

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

Schema coverage is 83%, so the baseline is 3, but the description adds real semantics beyond the schema: it explains that 'law' entries act as starting articles from which delegation is followed two levels, while other intent types are supplemented by full-text search — behavior the schema's bare string arrays do not convey. The detail/limit/pagination parameters are left to the schema, which already documents them well.

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 names a specific operation and scope: an integrated graph traversal that starts from law articles and collects cases, rulings, interpretations, reference articles, 통칙, supplementary-provision bases and annexes, supplemented by full-text search. It is clear what the tool does, but it never explicitly distinguishes itself from siblings such as search_articles, search_cases or search_interpretations, so an agent must infer that this is the multi-type composite variant.

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 phrases like '한 번에 모으는' and '전문검색으로 보충한다', suggesting this is the tool for gathering all grounds of a tax issue at once. However, there is no explicit when-to-use/when-not guidance and no routing statement telling the agent to prefer a narrower sibling search when only one source type is needed.

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

search_treatiesA
Read-onlyIdempotent
Inspect

조세조약(이중과세방지협약) 조문을 전문검색한다. 비거주자·외국법인의 원천징수 제한세율, 고정사업장, 사용료·배당·이자 과세권 확인에 사용. country로 특정국 한정 가능.

NameRequiredDescriptionDefault
limitNo기본 5, 최대 15
queryYes검색어 (예: '사용료', '고정사업장', '배당 제한세율')
countryNo체결국 한글명 필터 (부분 일치)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety is fully covered without the description. The description adds domain framing (treaty article search, optional country narrowing) but says nothing about result shape, ranking, or what happens when limit is exceeded beyond the schema's own note.

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?

Three short sentences, verb-and-resource first, then use cases, then the optional filter. Every clause carries information an agent needs to decide or to query; nothing is repeated from structured fields.

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 read-only search tool with full schema coverage and no output schema, the description covers what is searched, why, and how to narrow it. The only gap is result-set behavior (ordering, pagination beyond limit) and explicit sibling disambiguation.

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 100%: query examples (사용료, 고정사업장, 배당 제한세율), limit default/max, and country partial-match are all documented in the schema. The description's 'country로 특정국 한정 가능' only restates the existing country parameter, adding no new syntax or semantics — baseline 3 applies.

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?

States a specific verb (전문검색) and resource (조세조약 조문), and the parenthetical 이중과세방지협약 removes ambiguity about which treaties. It does not name the nearest siblings (search_articles, get_treaty_article), so an agent must infer the boundary, but the resource is distinctive enough to be actionable.

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?

Gives concrete use cases — 원천징수 제한세율 for 비거주자·외국법인, 고정사업장, and 사용료·배당·이자 과세권 — which tell the agent what question shapes select this tool. No explicit exclusions or named alternatives, and the country filter is offered as a refinement rather than a routing condition.

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

verify_citationsA
Read-onlyIdempotent
Inspect

답변·의견서 초안에 적힌 해석례·판례·결정례 문서번호(예: 서면-2023-법규기본-2595, 기획재정부 소득세제과-1059, 2015두41937, 조심2023서1234)와 조문 인용이 이 DB에 실제로 있는지 확인한다. 「법령명」·약칭(조특법·상증법)·'같은 법 시행령'·'제1조, 제2조' 열거를 읽고, 조문 뒤 괄호 제목은 현행 제목과 대조한다(title_check). 지어낸 번호·없는 조문·엉뚱한 제목을 거르는 용도이며, 본문 내용 일치 확인은 아니다. unchecked·unresolved_articles는 검사 못 한 것이다. 비세법 참조 법령(민법 등) 조문은 found_reference로 따로 표시한다.

NameRequiredDescriptionDefault
textYes검증할 초안 본문 또는 문서번호 목록
max_citationsNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, so the description does not need to repeat safety claims. It adds useful behavioral context: title_check semantics, unchecked/unresolved_articles meaning, found_reference for non-tax statutes, and the limitation that body-text consistency is not verified.

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 purpose is front-loaded and the paragraph is dense with necessary distinctions rather than filler. It is somewhat long, but the length is justified by the variety of citation formats and result labels it must cover.

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 verification tool with no output schema, the description explains scope, key output labels, and important limitations well. It still leaves some gaps around result structure and how max_citations truncation is surfaced, but it is substantially 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 coverage is 50%: the 'text' parameter is well documented in both schema and description, including citation formats and article enumeration handling. However, the description never mentions 'max_citations' or truncation behavior, leaving half the parameter set to the schema alone.

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 verb (검증한다/확인한다) and resource (문서번호와 조문 인용) with concrete citation examples. It clearly distinguishes verification from content matching ("본문 내용 일치 확인은 아니다") and from sibling search 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?

It explains the intended context (draft answers/opinions) and what it is not for (content match verification), plus how to interpret unchecked/unresolved results. It does not explicitly name alternative sibling tools such as search_cases or search_interpretations for follow-up, but the usage boundary is clear.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedget_reference_article1 field changed
      • changedInput schema / properties / article_number / description
        Previous value: -"조번호 (예: '제1009조', '43')"New value: +"조번호 (예: '제1009조', '43'). 고시(예: '사업종류별 산재보험료율 고시', '최저임금 고시')는 '본문' 또는 '별표 1'"
  2. 1 tool update
    • Changedsearch_tax1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"한 쪽 건수. 원문 포함(full)은 기본 3·최대 25, 목록(list)은 기본 30·최대 100. 한 쪽의 원문은 합쳐 약 16,000자까지 싣고 넘치면 continuation으로 이어 읽는다"New value: +"한 쪽 건수. 원문 포함(full)은 기본 3·최대 25, 목록(list)은 기본 30·최대 100. 한 쪽의 원문은 합쳐 약 3,000자(앞부분)까지 싣고 나머지는 continuation으로 이어 읽는다"
  3. 1 tool update
    • Changedsearch_tax2 fields changed
      • changedInput schema / properties / detail / description
        Previous value: -"full = 원문까지. list = 원문 없이 번호·제목·날짜·요지·길이만"New value: +"full = 원문·시행일·적용 상태와 탐색 경로 요약. list = 원문 없이 번호·제목·날짜·요지·길이만. trace = full 에 탐색 경로의 노드·관계 전체와 원천 지문까지"
      • changedInput schema / properties / detail / enum
        Previous value: -[
        -  "full",
        -  "list"
        -]New value: +[
        +  "full",
        +  "list",
        +  "trace"
        +]
  4. 2 tool updates
    • Changedsearch_tax1 field changed
      • changedInput schema / properties / detail / description
        Previous value: -"full = 원문까지. list = 원문 없이 번호·제목·날짜·요지·길이만(고른 뒤 같은 result_set_id로 offset을 지정하거나 get_evidence로 읽는다)"New value: +"full = 원문까지. list = 원문 없이 번호·제목·날짜·요지·길이만"
    • Changedverify_citations1 field changed
      • addedInput schema / properties / max_citations
        Added value: +{
        +  "default": 15,
        +  "maximum": 30,
        +  "minimum": 1,
        +  "type": "integer"
        +}
  5. 1 tool update
    • Changedget_article2 fields changed
      • addedInput schema / properties / as_of
        Added value: +{
        +  "description": "선택: 기준일 (예: '2025-12-31' — 사업연도 말일·거래일·증여일). 그날 시행 중이던 판을 준다. 없으면 현행",
        +  "type": "string"
        +}
      • addedInput schema / properties / effective_date
        Added value: +{
        +  "description": "as_of와 같다(다른 법령 도구와 맞춘 이름)",
        +  "type": "string"
        +}
  6. 3 tool updates
    • Addedget_reference_article
    • Addedget_regulated_area_history
    • Addedsearch_reference_articles
  7. 2 tool updates
    • Addedget_amendments
    • Addedget_article_tiers
  8. 3 tool updates
    • Changedget_annex1 field changed
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "선택: 이어 읽을 시작 글자 위치 (앞 응답이 알려 준 값)",
        +  "minimum": 0,
        +  "type": "integer"
        +}
    • Changedlist_upcoming1 field changed
      • changedInput schema / properties / law_name / description
        Previous value: -"법령명 필터 (생략 시 전체)"New value: +"법령명 필터 (생략 시 전체). 부분 일치라 '소득세법'은 시행령·시행규칙도 함께 준다"
    • Changedsearch_tax4 fields changed
      • addedInput schema / properties / detail
        Added value: +{
        +  "default": "full",
        +  "description": "full = 원문까지. list = 원문 없이 번호·제목·날짜·요지·길이만(고른 뒤 같은 result_set_id로 offset을 지정하거나 get_evidence로 읽는다)",
        +  "enum": [
        +    "full",
        +    "list"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / limit / default
        Previous value: -10New value: +3
      • addedInput schema / properties / limit / description
        Added value: +"한 쪽 건수. 원문 포함(full)은 기본 3·최대 25, 목록(list)은 기본 30·최대 100. 한 쪽의 원문은 합쳐 약 16,000자까지 싣고 넘치면 continuation으로 이어 읽는다"
      • changedInput schema / properties / limit / maximum
        Previous value: -25New value: +100
  9. 1 tool update
    • Changedget_article1 field changed
      • changedInput schema / properties / law_name / description
        Previous value: -"법령명 (예: '소득세법', '상속세 및 증여세법')"New value: +"법령명 (예: '소득세법', '상속세 및 증여세법'). 약칭(조특법·상증법·국기법)·띄어쓰기 차이도 받는다"

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Enables deterministic research of Korean tax-law issues by retrieving and scoring official statutory evidence from law.go.kr and other legal sources, with citation verification and provenance, without deciding legal conclusions.
    8
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to query Korean statutes, delegated legislation, rulings, and administrative interpretations, verify citations, and calculate tax deadlines, penalties, and estimated liabilities.
    19
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Korean real-estate tax engine: computes acquisition, property, comprehensive holding, capital gains, gift and inheritance tax, citing the statute article behind every result. Regression-tested against 991 court and tribunal rulings.
    43
    27 PyPI
    1
    AGPL 3.0
  • A
    license
    A
    quality
    A
    maintenance
    Korean tax law for AI agents: search NTS rulings, court and Tax Tribunal decisions; read point-in-time statutes with the Act → Decree → Rule chain and amendment history; basic rules and execution standards; 96 tax treaties with withholding rates; forms and schedules; and verify citations in drafts. Fact-pattern comparison is done by your AI (or optional on-prem/cloud Upstage Solar).
    14
    24
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.