Skip to main content
Glama

fin-law-mcp

이런 게 좋아집니다

  • 근거가 붙은 답 — 예규 문서번호·회신일자·원문 링크, 조문 본문·시행일자가 답에 함께 옵니다. 검토서에 그대로 옮길 수 있습니다.

  • 법률–시행령–시행규칙–예규를 한 번에 — 조문 하나를 물으면 위임된 시행령·시행규칙 본문, 국세청 예규 후보, 별표까지 한 번에 가져옵니다.

  • 없는 조문 인용을 잡습니다 — AI 초안의 법령·조문 인용이 실제로 있는지 대조해 ✓ 있음 / ✗ 없음 / ⚠ 확인 못 함으로 표시합니다. 삭제된 조문은 ✓로 통과시키지 않습니다.

  • 내년에도 맞는 답인지 — 이미 공포된 미래 시행 개정을 경고하고, basis_date로 과거 시점의 조문도 조회합니다.

  • 계산은 코드로 — 임원퇴직금 한도·기업업무추진비 한도·감가상각비·가지급금 인정이자·퇴직소득세를 AI 산수 대신 법정 산식으로 계산하고 근거 조문을 붙입니다.

판단은 사람 몫입니다. 이 도구는 원문을 가져오고 인용의 실존을 대조할 뿐, 답변이 원문과 일치함을 보장하지 않습니다. ✓는 번호가 실존한다는 뜻이지 내용이 맞다는 뜻이 아닙니다. 결론을 쓰기 전에 응답에 실린 원문을 확인하세요.

Related MCP server: 갈피 법령조회 MCP

예시

"직원 결혼 축의금을 회사 돈으로 주면 세금 문제 있나?"

AI가 이 서버로 근거를 조회하면 이런 재료를 받습니다 (2026-09 실측 발췌).

■ 국세청 예규 [행정해석 — 과세실무 기준이나 법원 구속력 없음] — 최신순 4건
  · 서이46012-11058 (2003.05.27) 임직원에게 지급하는 경조사비의 손금산입 범위 · https://taxlaw.nts.go.kr/…
  …
■ 법인세법 시행령 제45조
제45조(복리후생비의 손금불산입)
    8. 그 밖에 임원 또는 직원에게 사회통념상 타당하다고 인정되는 범위에서 지급하는 경조사비 등 …
■ 모법 위임 근거 (역방향)
[모법] 법인세법 제26조
제26조(과다경비 등의 손금불산입) 다음 각 호의 손비 중 … 손금에 산입하지 아니한다.
    2. 복리후생비

전체 출력과 읽는 법은 상세 안내 — 예를 들면에 있습니다.

다른 법령 MCP와 비교

범용 법령 MCP인 korean-law-mcp(이 프로젝트가 공통 모듈 일부를 가져온 곳)와의 기능 비교입니다. 답변 품질을 측정해 비교한 표가 아닙니다.

fin-law-mcp

korean-law-mcp (4.14.2 README 기준)

초점

세무·회계·재무 실무

법제처 API 전반 (조약·자치법규·헌재·관세 등 포함)

조문 하나 조회에 위임 시행령·시행규칙 본문 + 예규 후보 + 별표 + 개정 예정 동봉

✅ 법령명+조문으로 한 번에 (fin_article)

조문 조회는 조문 전문만 — 3단비교·해석례는 별도 도구·체인으로

법정 산식 계산 (퇴직금 한도·기업업무추진비 한도 등)

✅ fin_calc

없음

인용 실존 검증

✅ 법령·조문·고시, 삭제 조문은 ⚠

✅ 법령·판례, 조문 제목까지 대조

과거 시점 조회

✅ basis_date

✅ 행위시법·두 시점 비교

검토서 저장 때 인용 자동 검증 (Claude Code 훅)

✅ docs/HOOKS.md

없음

판례 변경·폐기 추적, 조약·자치법규

없음

✅

세무 질문이 많다면 fin-law-mcp, 그 밖의 법 분야까지 넓게 본다면 korean-law-mcp가 맞습니다. 둘을 함께 등록해도 됩니다.

설치 (5분)

준비물: Node.js 20.19 이상 (node -v로 확인)

1. 내려받아 빌드

git clone https://github.com/dolseom/fin-law-mcp.git
cd fin-law-mcp
npm install
npm run build

2. 법제처 API 키 받기 (무료) — 법제처 OPEN API 신청에서 가입하면 가입 이메일의 @ 앞부분이 키입니다. (예: hong@company.com → hong)

3. AI에 등록 — /절대경로/를 1단계에서 받은 폴더 위치로 바꾸세요.

  • Claude Code

    claude mcp add fin-law -e LAW_OC=발급받은키 -- node /절대경로/fin-law-mcp/build/index.js
  • Claude Desktop — claude_desktop_config.json에 추가 (Windows 경로는 C:\\dev\\fin-law-mcp\\build\\index.js처럼 \\ 또는 /)

    {
      "mcpServers": {
        "fin-law": {
          "command": "node",
          "args": ["/절대경로/fin-law-mcp/build/index.js"],
          "env": { "LAW_OC": "발급받은키" }
        }
      }
    }

4. 확인 — AI에게 fin_ping 실행해줘 라고 하세요. 법제처 API 통신: 성공이 나오면 끝입니다. 실패하면 원인과 다음 조치가 함께 나옵니다 (실패 원인표). .env 파일로 키를 넣는 방법도 상세 안내에 있습니다.

도구

도구

하는 일

fin_article

조문 + 위임 시행령·시행규칙 본문 + 예규 후보 + 별표 + 개정 예정 경고를 한 번에

fin_verify

초안의 법령·조문·고시 인용이 실존하는지 ✓ / ✗ / ⚠로 대조

fin_ruling_search

국세청 예규·조세심판원·법제처 해석례·법원 판례를 한 번에 검색 (문서번호·일자·원문 링크)

fin_law_search

법령 검색 — 재무 관련도순 정렬, 폐지·연혁·시행예정 표시

fin_annex

별표·서식 목록, 지정한 별표(HWP·PDF)는 표를 살려 추출 (내용연수표·세율표 등)

fin_calc

법정 산식 계산 — 임원퇴직금 한도·기업업무추진비 한도·감가상각비·가지급금 인정이자·퇴직소득세

fin_ping

설치 점검 — 법제처와 실제로 통신되는지 확인

옵트인: fin_nts_ruling(국세청 예규 본문 동봉, FIN_NTS_BODY_ENABLED=true) · fin_topic(실험 기능, FIN_TOPIC_ENABLED=true). 자세한 동작·한계·환경변수는 상세 안내를 보세요.

더 보기

라이선스·출처

MIT. 공통 모듈 일부는 korean-law-mcp(MIT)에서 가져와 수정했습니다 — 상세는 NOTICE. 데이터 출처: 법제처 국가법령정보센터 OPEN API · 국세청 국세법령정보시스템. 법적 효력이 필요한 판단에는 원문을 확인하세요.

Available Tools

7 tools
fin_annexA
Read-onlyIdempotent

[재무·세무·회계 전용 — 세율표·감가상각 내용연수표·서식은 이 도구를 우선 사용] 법령의 별표·서식 목록을 반환하고, annex_no를 지정하면 해당 별표의 표 내용을 추출해 반환한다 (병합 셀 보존을 위해 표는 HTML table로 나온다). 내용연수표·세율표는 대개 시행규칙에 있다 (예: law='법인세법 시행규칙', keyword='내용연수' → 목록에서 번호 확인 후 annex_no로 재호출).

ParametersJSON Schema
NameRequiredDescriptionDefault
lawYes법령명 (내용연수표·세율표는 대개 시행규칙)
kindNo1=별표(기본) 2=서식 3=별지 4=별도 5=부록
keywordNo별표명 필터 키워드 (예: 내용연수). 번호 없는 별표는 이것으로 지정하며, 한 건으로 좁혀지면 표 내용을 반환
annex_noNo별표 선택 (예: '6', '별표6', '1의2') — 지정 시 표 내용을 추출해 반환 (병합 셀은 HTML table). 번호가 없는 별표(목록에 '[별표]'로 표시)는 annex_no 대신 keyword로 지정

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds genuine behavioral context beyond the structured fields: tables are returned as HTML table markup specifically to preserve merged cells, and numbered-less annexes must be targeted via keyword instead of annex_no. That is useful operational detail.

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 domain-priority bracket is front-loaded, followed by behavior and then a concrete example. It is appropriately sized with no obvious filler, though the bracketed routing note and the parenthetical example make it slightly denser than strictly necessary.

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 still explains the return shape (a list, or HTML table for extracted annexes) and the two-call pattern, which is enough for an agent to call it correctly. It leaves minor gaps such as pagination or size limits on large annexes, but is otherwise complete for this read-only tool.

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 exceeds the baseline by explaining the interplay between keyword and annex_no (keyword to filter/single out un-numbered annexes, annex_no to extract the table) and by giving a worked law/keyword example, adding workflow meaning the schema alone 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?

The description states a concrete verb+resource pair (returns a law's annex/form list, and extracts the table content of a selected annex) and clarifies its financial/tax/accounting specialization. It tells the agent this tool is the priority for tax-rate tables and useful-life tables/forms, but it does not explicitly contrast itself against sibling fin_article, so differentiation from the closest sibling is implied rather than stated.

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 clear usage context: prioritize this tool for tax/accounting tables and forms, and it spells out a two-step workflow (call with keyword, confirm the number in the list, re-call with annex_no). No explicit when-not or excluded scenarios are provided, keeping it short of a 5.

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

fin_articleA
Read-onlyIdempotent

[재무·세무·회계 전용 — 세법 조문 질의에는 이 도구를 우선 사용] 조문 1개를 물으면 조문 본문 + 위임 시행령·시행규칙 조문 + 국세청 예규 후보(조문 제목 키워드 검색 — 적용 관계 미확인) + 별표 + 개정 정보를 한 번에 반환한다. 예: 법인세법 제26조. 실무 검토의 시작점.

ParametersJSON Schema
NameRequiredDescriptionDefault
lawYes법령명 (약칭 허용: 법인세법, 조특법, 상증세법 등)
articleYes조문 번호 (예: '제26조', '제10조의2')
basis_dateNo기준일 YYYY-MM-DD (생략 시 현행)
include_rulingsNo예규 후보 검색 포함 (기본 true — 조문 제목 키워드 검색이라 적용 관계는 미확인)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety is covered, but the description adds genuinely valuable behavioral context: the call is a multi-part bundle returned 'in one shot', and the ruling candidates come from a title-keyword search whose applicability is explicitly unverified (적용 관계 미확인). That disclaimer is exactly the kind of caveat an agent needs. It does not, however, mention result size, truncation, or what happens when an article number does not exist.

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 domain and routing directive; each clause earns its place by naming a distinct part of the returned payload, and the example is embedded compactly rather than given its own sentence.

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 full burden of describing return values — and it does so by enumerating every component (본문, 위임 시행령·시행규칙, 예규 후보, 별표, 개정 정보) plus the reliability caveat on the 예규 portion. For a read-only lookup tool with 100% parameter coverage, nothing an agent needs to call 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%, so the schema already documents all four parameters including the 약칭 allowance, the '제10조의2' article format, and the basis_date default. The description only echoes the schema's own caveat about keyword-based ruling search and repeats an example article, adding little beyond structured data — the baseline 3 applies.

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 bracketed opener states a specific domain (재무·세무·회계 전용) and an explicit precedence rule (세법 조문 질의에는 이 도구를 우선 사용), then enumerates precisely what a single-article query returns: article body, delegated 시행령/시행규칙 articles, 예규 candidates, 별표, and amendment info. The example (법인세법 제26조) makes the unit of work unambiguous, and it is clearly distinguishable from fin_law_search / fin_ruling_search / fin_annex.

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 clear when-to-use direction ('use this tool first for tax-law article queries') and frames itself as 'the starting point for practical review', which tells the agent where it sits in a workflow. It stops short of naming the sibling tools it supersedes or stating a when-not condition (e.g., use fin_annex for annex-only lookups), so routing is implied rather than fully spelled out.

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

fin_calcA
Read-onlyIdempotent

[재무·세무·회계 전용 — 법정 한도·세액은 직접 계산하지 말고 이 도구를 사용] 세법에 명문화된 산식을 결정형 코드로 계산한다 (계산 과정·근거 조문 동봉). 지원: 임원퇴직금한도(법인세 손금 한도 — 일반 근로자 퇴직금은 미지원), 기업업무추진비한도, 감가상각비 상각범위액, 가지급금인정이자, 퇴직소득세.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo[가지급금인정이자] 대여 일수(일)
yearsNo[임원퇴직금한도·필수] 근속 연수(년)
is_smeNo[기업업무추진비한도·필수, 기본값 없음] 중소기업 여부
methodNo[감가상각비·필수] 상각방법
monthsNo[임원퇴직금한도] 잔여 개월(기본 0)
revenueNo[기업업무추진비한도·필수] 일반 수입금액(원)
calc_typeYes계산 유형
principalNo[가지급금인정이자] 잔액(원) — days와 함께
rate_typeNo[가지급금인정이자·필수, 기본값 없음] 가중평균차입이자율=원칙(시행령 §89③ 본문) · 당좌대출이자율=예외(가중평균 적용 불가·대여기간 5년 초과·신고 시 선택, §89③ 단서 각 호) — 근거 없이 당좌대출 선택 금지
useful_lifeNo[감가상각비·필수] 내용연수(년)
balance_daysNo[가지급금인정이자] 적수(원×일) — principal·days 대신
is_leap_yearNo[가지급금인정이자] 윤년 여부(기본 false)
annual_salaryNo[임원퇴직금한도·필수] 직전 1년 총급여액(원)
paid_interestNo[가지급금인정이자] 수령 약정이자(원, 기본 0)
service_yearsNo[퇴직소득세·필수] 근속연수(년)
severance_payNo[퇴직소득세·필수] 퇴직소득금액(원, 비과세 제외)
business_monthsNo[기업업무추진비한도·감가상각비] 사업연도·상각 월수(기본 12)
remaining_valueNo[감가상각비·정률법 필수] 기초 미상각잔액(원)
acquisition_costNo[감가상각비·필수] 취득가액(원)
short_period_basisNo[감가상각비·business_months<12 필수] 기중취득=사업연도 중 취득(월할) · 사업연도변경의제=사업연도 변경으로 그 해만 짧음(월할) · 사업연도1년미만=정관상 사업연도 자체가 1년 미만(환산내용연수, 월할 아님)
related_party_revenueNo[기업업무추진비한도] 특수관계인 수입금액(원, 기본 0)
weighted_average_rateNo[가지급금인정이자·가중평균 선택 시 필수] 연 이자율(%)

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds real behavioral context beyond that: deterministic computation, output bundled with the calculation process and legal citations, and a scope boundary (ordinary employee severance unsupported). It says nothing about error behavior for out-of-range or unsupported inputs.

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 most actionable instruction (do not hand-calculate statutory limits) front-loaded in the bracket. It is appropriately sized for a 22-parameter tool; the supported-types list is a compact enumeration 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 complex multi-mode calculator with no output schema, the description covers supported calc types, scope exclusions, and what the response contains (process plus cited articles), while the oneOf schema handles conditional parameter requirements. An agent can call it correctly without guessing at the tool's boundaries.

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% and the 22-parameter schema (including oneOf branches) already documents every field in detail. The description only clarifies the meaning/scope of each calc_type value, which the enum and per-parameter bracketed tags already convey, so it adds marginal value over structured data.

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 enumerates all five supported calculation types, matching the calc_type enum exactly. It clearly reads as the calculator in a sibling set of search/verification tools, but it never names a sibling to differentiate against, so it lands at 4 rather than 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?

Gives an explicit use directive in the bracket ('법정 한도·세액은 직접 계산하지 말고 이 도구를 사용') and one concrete exclusion ('일반 근로자 퇴직금은 미지원'). It does not point to any alternative sibling (e.g., fin_verify for checking a result or fin_article for the source text), so no alternatives are covered.

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

fin_pingA
Read-onlyIdempotent

[재무·세무·회계 전용] fin-law-mcp 서버 연결·설정 진단. 서버가 살아 있는지, API 키가 설정됐는지, 법제처가 실제로 응답하는지(가벼운 검색 1건 실행)를 확인한다 (키 오타까지 가려내지는 못할 수 있음). 설치 직후 점검·조회 실패 원인 파악에 사용.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint and idempotentHint, so safety is already covered; the description adds that it fires one real search request and honestly discloses a limitation (it may not catch API key typos). That side-effect and limitation detail is genuine value beyond the annotations, though the result format is not described.

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 a domain tag and the core action, then the checklist and usage triggers. Dense but every clause (what is checked, the typo caveat, when to use) carries information; only minor trimming is possible.

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 zero-parameter, no-output-schema diagnostic, the description covers scope, checks performed, a known limitation, and usage timing. It could say a bit more about what the response reports (pass/fail per check), but nothing essential for calling it correctly 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?

The tool takes zero parameters and the schema is empty, so the baseline of 4 applies. Nothing about argument semantics needs explaining.

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 — diagnosing the fin-law-mcp server connection/configuration — and enumerates exactly what is checked (server liveness, API key presence, live 법제처 response via a light search). This is clearly distinguishable from the sibling lookup tools (fin_law_search, fin_article, etc.).

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?

Explicitly names the two triggering situations: post-install verification and root-causing lookup failures. It does not name alternatives or explicit when-not conditions, but the diagnostic vs. search split with siblings is implied clearly enough.

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

fin_verifyA
Read-onlyIdempotent

[재무·세무·회계 전용 — 검토서·답변 초안의 인용 검증에 이 도구를 우선 사용] 텍스트에 인용된 법령·조문·행정규칙(고시·훈령·예규)의 실존을 법제처 DB와 대조해 ✓있음/✗없음/⚠판정불가 3값으로 반환한다. 오류를 '없음'으로 위장하지 않는다. 국세청 기본통칙·집행기준은 법제처 DB 미수록이라 번호를 검증하지 않고 ⚠로 표시하며, 삭제된 조문은 ✓가 아닌 ⚠(사용 보류)다. ✓는 법령·조문 번호의 실존만 뜻하며 항·호·내용의 옳고 그름은 검증하지 않는다 — 내용 확인은 fin_article로 본문을 대조할 것.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes검증할 초안 텍스트
basis_dateNo기준일 YYYY-MM-DD (생략 시 현행)

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover readOnly/idempotent, but the description goes well beyond: it defines the 3-value return, states it will not disguise errors as '없음', flags that 국세청 기본통칙·집행기준 are absent from the DB and marked ⚠ without number verification, and marks deleted articles as ⚠ (사용 보류). This is exactly the behavioral context an agent needs.

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 priority-usage directive is front-loaded and the behavioral rules follow in a logical order with no filler. It is dense rather than verbose, though the single long sentence packs several distinct constraints together, slightly reducing scannability.

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-value burden and discharges it: it defines the three possible verdicts and the scope limit ('✓ = existence of the number only, not 항·호 or content'). Alternatives and edge cases (deleted articles, DB-missing sources) are all covered.

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 both parameters (text, basis_date) are already documented with types and one inline hint ('생략 시 현행'). The description adds no additional parameter syntax or format detail, so the baseline 3 applies.

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: it verifies the existence of cited statutes/articles/administrative rules by cross-checking the 법제처 DB and returns a 3-valued result. It also explicitly differentiates itself from the sibling fin_article by declaring that content-correctness checking belongs there, so an agent can route between them 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 Guidelines5/5

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

The bracketed lead states the preferred use case ('우선 사용' for citation verification in review/answer drafts) and names the alternative tool (fin_article) with the exact condition that selects it (content verification). Both when-to-use and the sibling boundary are explicit.

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. 7 tool updatesv0.1.0
    • First observedfin_annex
    • First observedfin_article
    • First observedfin_calc
    • First observedfin_law_search
    • First observedfin_ping
    • First observedfin_ruling_search
    • First observedfin_verify

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a clearly distinct resource or action: statute search, single-article retrieval, ruling search, annex retrieval, citation verification, statutory calculation, and server diagnostics. Overlap is minimal, and descriptions explicitly assign priority use cases to further prevent misselection.

Naming Consistency5/5

All tools use lowercase snake_case with a consistent 'fin_' domain prefix, and no mixed camelCase or chaotic verb styles appear. Although the names mix nouns and verbs, the overall pattern is predictable and easy to scan.

Tool Count5/5

Seven tools is well-scoped for a specialized Korean tax-law research server. Each tool covers a distinct research or verification stage, and there is no obvious redundancy or bloat.

Completeness3/5

The core research lifecycle is mostly covered: statute search, article retrieval, ruling search, annex lookup, citation verification, and calculations. However, fin_ruling_search instructs users to use a non-existent 'fin_nts_ruling' tool to retrieve ruling bodies, and no tool appears to fetch full ruling or court decision texts, creating a notable dead end for deeper research.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Integrates Korean startup laws (19 curated laws) and K-Startup support programs, enabling legal article search, citation verification, reference tracking, and program lookup with real-time status.
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search and retrieve Korean laws, regulations, administrative rules, legal interpretations, and precedents via official APIs for legal review workflows.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to query and analyze Korean law, including statutes, precedents, and ordinances, with citation verification and impact analysis.
    10
    6,898 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to retrieve current Korean tax statutes, judicial precedents, and tax authority interpretations via MCP, with daily-updated legislative history and full-text search.
    1
    MIT