Skip to main content
Glama
korean-tax-calc-mcp

korean-tax-calc-mcp

related_judge

Judges whether two parties are related parties under Korean tax law and identifies the applicable clause for a given fact date in tax audits and deemed-gift reviews.

Instructions

두 당사자의 특수관계 여부·호수를 국세기본법·법인세법·상증법 기준으로 판정한다. 언제: 세무조사·증여의제 검토에서 두 사람·법인 간 특수관계와 적용 호수를 확인할 때. 입력: 당사자 a(이름) → a, 당사자 b(이름) → b, 사실관계 시점(YYYY-MM-DD, 필수) → on, people={이름: {구분: "개인"|"법인"}} → people, family=[[a, b, "부모자녀"|"배우자"]] → family, stakes=[[보유자, 법인, 지분율(0~1)]] → stakes, officers={법인: [이름]} → officers, employees={법인: [이름]} → employees, livelihood=[[부양자, 피부양자]] → livelihood, 생계를 함께하는 친족 사실관계 [{친족, 상대방, 주민등록_동일세대, 동거_사실, 생활비_공동부담, 독립생계_소득, 경제적_지원, 별거_사유, 별도_임대차, 별거_증빙_유형, 연말정산_부양가족_등록, 수입_상대방계좌_입금, 혼인_독립가구}] → livelihood_shared, influence=[[사실상 영향력자, 법인]] → influence, group={기업집단: [계열회사]} → group, group_exempt={법인: 공정위 통지 내용} → group_exempt, 법령 인용 포함 여부 → with_citation. 생계를 함께하는 친족(국기령 제1조의2②3호, 법인령 제2조⑧3호 — 2019.2.12.~2023.12.31. 제2조⑤3호, 그 전 제87조①3호): 전제는 상대방이 다른 당사자 본인의 임원·사용인(같은 법인 동료는 아님) 또는 생계유지자, 친족이 기준일 친족 범위(2023.3.1.부터 4촌 혈족·3촌 인척) 안. 1차 기준은 동거 불요·생활비 공동 부담: 생활비 공동부담, 무소득+정기송금, 수입이 상대방 계좌로 입금이면 생계 공동 / 안정 소득+따로 거주 또는 별도 세대+생활비 각자+지원 없음, 제3자 지원(금융자료), 혼인 독립 가구+주소 다름(소득 없으면 제외)이면 생계 별도 / 주민등록 동일세대는 객관 자료(진술서만은 안 됨)로 반증해야 하고, 동일세대+소득만·동거만·부양가족 공제 이력이면 생계 공동 추정(인정되는 증빙 안내) / 그 밖은 입력 확인 필요(확인할 항목·필요 자료). 상증법에는 이 항목 없음. 결과: 특수관계 여부·적용 호수와 근거 조문(기준일 시행 법령 위치), 근거, 생계를_함께하는_친족(결론·사유·결정·해석 번호). 두 당사자의 특수관계 여부와 적용 호수를 국세기본법·법인세법·상증법 기준으로 판정한다(두 사람·법인 간 특수관계와 적용 호수 확인).

Input Schema

NameRequiredDescriptionDefault
aYes당사자 a(이름)
bYes당사자 b(이름)
onYes사실관계 시점 YYYY-MM-DD(필수, 친족 범위·조문 위치가 시점마다 다름)
groupNo기업집단 {기업집단: [계열회사]}. 예: {"XX그룹": ["㈜대한", "㈜민국"]}
familyYes친족 관계 목록 [[a, b, "부모자녀"|"배우자"]]. 예: [["김갑", "김을", "부모자녀"]] — 부모자녀는 [부모, 자녀] 순서
peopleYes사람·법인 목록 {이름: {"구분": "개인"|"법인"}. 예: {"김갑": {"구분": "개인"}, "㈜대한": {"구분": "법인"}}
stakesYes직접보유비율 목록 [[보유자, 법인, 지분율(0~1)]]. 예: [["김갑", "㈜대한", 0.30]]
officersNo임원 목록 {법인: [이름]}. 예: {"㈜대한": ["김갑"]}
employeesNo직원 목록 {법인: [이름]}. 예: {"㈜대한": ["김을"]}
influenceNo사실상 영향력 [[사실상 영향력자, 법인]]. 예: [["김갑", "㈜대한"]]
livelihoodNo부양 관계 [[부양자, 피부양자]]. 예: [["김갑", "김이쁜"]]
group_exemptNo공정위 계열편입 유예·제외 통지 {법인: 통지 내용}. 예: {"㈜대한": "유예 통지"}
with_citationNo법령 인용 포함 여부(기본 True)
livelihood_sharedNo생계를 함께하는 친족 사실관계 [{친족, 상대방(임원·사용인·생계유지자), 주민등록_동일세대: true|false|모름, 동거_사실: 같은집_공유구조|같은집_독립구조|따로거주|모름, 생활비_공동부담: 공동|각자분담_증빙있음|각자분담_증빙없음|일방지원|모름, 독립생계_소득: 안정소득_있음|소액_일시|없음|모름, 경제적_지원: 정기송금_있음|차입후상환|용돈수준|제3자_지원|없음|모름, 별거_사유: 취학|질병요양|근무|사업|혼인파탄|독립|해당없음, 별도_임대차: bool, 별거_증빙_유형: [공과금·관리비_명의|금융_송금|출입국|전화·인터넷_가입|임대차_중개확인|진술서만|없음], 연말정산_부양가족_등록: bool, 수입_상대방계좌_입금: bool, 혼인_독립가구: bool, 친족관계?: 배우자|혈족|인척, 촌수?}]. 예: [{"친족": "이배우", "상대방": "김대표", "생활비_공동부담": "공동"}]

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.15.1
    • addedInput schema / properties / livelihood_shared
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {},
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "생계를 함께하는 친족 사실관계 [{친족, 상대방(임원·사용인·생계유지자), 주민등록_동일세대: true|false|모름, 동거_사실: 같은집_공유구조|같은집_독립구조|따로거주|모름, 생활비_공동부담: 공동|각자분담_증빙있음|각자분담_증빙없음|일방지원|모름, 독립생계_소득: 안정소득_있음|소액_일시|없음|모름, 경제적_지원: 정기송금_있음|차입후상환|용돈수준|제3자_지원|없음|모름, 별거_사유: 취학|질병요양|근무|사업|혼인파탄|독립|해당없음, 별도_임대차: bool, 별거_증빙_유형: [공과금·관리비_명의|금융_송금|출입국|전화·인터넷_가입|임대차_중개확인|진술서만|없음], 연말정산_부양가족_등록: bool, 수입_상대방계좌_입금: bool, 혼인_독립가구: bool, 친족관계?: 배우자|혈족|인척, 촌수?}]. 예: [{\"친족\": \"이배우\", \"상대방\": \"김대표\", \"생활비_공동부담\": \"공동\"}]",
      +  "title": "Livelihood Shared"
      +}
  2. First observedv0.9.1

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it lays out the livelihood-shared-kinsfolk test, the hierarchy of primary criteria, the presumption from same-household registration, what evidence is insufficient (진술서만은 안 됨), and the fact that 상증법 has no such category. It also discloses the return contents (결론·사유·결정·해석 번호). It does not discuss failure modes or how ambiguous inputs are reported beyond '입력 확인 필요'.

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

Conciseness3/5

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

Purpose, "언제", "입력", and "결과" are cleanly front-loaded, but the final sentence repeats the opening sentence almost verbatim, and the "입력" block restates parameter descriptions that are already 100% covered in the schema. Both could be cut without losing information.

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 14-parameter, nested-object tool with no output schema, the definition covers purpose, trigger conditions, per-parameter meaning, decision logic, and the shape of the returned judgment. Only the precise output format and behavior on missing required inputs remain unstated, which is a modest 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 the baseline is 3, but the description earns an extra point by mapping each parameter to its role and by explaining the legal logic behind the many livelihood_shared fields rather than just naming them. The primary-criterion rules add real meaning an agent cannot infer from the schema's enum labels.

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: judge (판정한다) whether two parties are in a special relationship (특수관계) and the applicable subparagraph (호수), scoped to three named statutes (국세기본법·법인세법·상증법). That is far more specific than the name alone. It does not, however, differentiate itself from overlapping siblings such as kinship_check, related_provision_at, or extract_relations, which an agent could easily confuse it with.

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?

An explicit "언제" line gives clear context: use during tax audits or deemed-gift review to confirm a special relationship and the applicable subparagraph between two persons or entities. That satisfies 'clear context'. No when-not conditions or named alternatives are given, which is the gap keeping it from a 5 despite several candidate siblings.

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

Deploy Server

Other Tools