Skip to main content
Glama

Acquisition tax (취득세)

calc_acquisition_tax
Read-onlyIdempotent

Korea acquisition tax (취득세) on real estate plus local education tax and rural special tax, by year and acquisition type.

취득세(+지방교육세+농어촌특별세)를 계산한다. 세율은 year로 상수표에서 읽는다.

rate_special (2026-10-12 추가): 지방세법 §15①(세율의 특례) 해당 호. "" | "환매" | "상속1가구1주택" |
  "상속자경농지" | "적격합병" | "공유물분할" | "건축물이전" | "재산분할" | "형식적취득" | "없음".
  §15①이면 §11 세율에서 중과기준세율(2%)을 뺀 세율(주택유상은 해당 세율×50%)이 취득세율이다 —
  공유물분할(본인 지분 이내) 0.3%, 상속 1가구1주택 0.8%, 재산분할(무상 3.5%) 1.5%.
  acquisition_type="공유물분할"은 §11①5호 자체가 본인 지분 이내 분할이라 §15①4호를 자동 적용한다
  (지분 초과분은 유상·무상 유형으로 따로 계산; 자동 적용을 끄려면 "없음").
  지방교육세는 §151①1호대로 (§11 세율−2%)×20% 그대로, 농특세 취득세분(§5①6호)은 표준세율 2% 치환
  재계산이라 0(주택유상은 2%×50%×10%), 감면분(§2①3호·§5①1호 감면세액×20%)은 건축물이전·재산분할만
  과세(1~4·7호는 §4 8호·영 §4④·10의4 비과세), 전용 85㎡ 이하 주택은 §4 11호 비과세.
  heavy_type과 함께 줄 수 없다(재산분할은 영 §28의6②2호로 무상 중과 제외).

⚠️ 2026-08-30 변경 — year 필수. 종전에는 세 세율을 전부 호출자가 계산해 넘겨야 했고,
특히 부가세 두 개는 '취득세액×비율'이 아니라 **세율을 갈아끼워 다시 산출**하는 구조라
사람이 재현하다 틀리기 쉬웠다(종부세 §4의3에서 실제로 낸 사고와 같은 유형). 이제
산식을 코드가 수행한다 — tax_params.acquisition_* 참조.

acquisition_type: "주택유상"(§11①8호 구간세율 1~3%) / "유상.농지외"(4%) / "유상.농지"(3%)
  / "상속.농지외"(2.8%) / "상속.농지"(2.3%) / "무상"(3.5%) / "무상.비영리사업자"(2.8%)
  / "원시취득"(2.8%) / "공유물분할"(§11①5호 2.3% → 본인 지분 이내라 §15①4호 0.3% 자동, rate_special 참고)
heavy_type: §13의2 중과 유형. "" | "법인" | "2주택조정_또는_3주택비조정"
  | "3주택이상조정_또는_4주택이상비조정". 일시적 2주택은 §13의2①2호 괄호로 제외되므로
  판정 결과가 '중과 아님'이면 빈 문자열을 넘길 것.
exclusive_area: 전용면적(㎡). 85 이하면 농특세 비과세(농특세법 §4 11호).

지방세법 제11조(부동산 취득의 세율)의 표준세율에, 해당하면 제13조의2(법인/다주택
중과)의 가산세율과 제14조(조례에 따른 세율 조정, 100분의 50 범위)를 더해 실효세율을
구성한다. calc_transfer_tax와 같은 이유로 이 함수는 세율표를 하드코딩하지 않는다 —
조정대상지역 지정 현황, 다주택 판정 기준(일시적 2주택 등 중과 배제 사유 포함)이
수시로 바뀌므로, 매번 search_law("지방세법")로 시행 중인 조문을 확인해서 세율을
직접 계산한 뒤 넘길 것. 이 함수는 세율을 판단하지 않고 산식만 적용한다.

지방교육세·농어촌특별세도 취득세 부가세목이라 함께 계산할 수 있게 인자를 뒀지만,
두 세율도 정책적으로 바뀔 수 있어 하드코딩하지 않는다 — 생략하면 0으로 간주해
취득세 본세만 계산한다.

⚠️ 두 부가세율은 '취득세액×비율'이 아니라 과세표준 대비 실효율로 넘겨야 하며,
산식이 서로 다르다 (2026-08-17 법문 확인 — 지방세법 §151①1호, 농특세법 §5①6호):
  · 지방교육세: 일반 부동산 = (표준세율−2%)×20% (4%면 0.4%) /
    주택 유상(§11①8호 1~3%) = 취득세율×50%×20% (0.1~0.3%) /
    다주택·법인 중과(§13의2, 8·12%) = (4%−2%)×20% = 0.4% 고정 (세율 뛰어도 불변)
  · 농어촌특별세: 표준세율을 2%로 치환해 §13의2 중과 가산 구조를 유지한 채
    재계산한 취득세액×10% → 일반 0.2% / 8% 중과 0.6% / 12% 중과 1.0%.
    전용 85㎡ 이하 서민주택은 비과세(농특세법 §4 9·11호, 영 §4⑤). 취득세 감면 시
    감면세액×20%의 감면분 농특세가 별도로 붙는다(§5①1호 — 이 함수 밖에서 계산).

Args:
    acquisition_price: 취득가액/과세표준 (원)
    standard_rate: 지방세법 제11조 표준세율 (0~1)
    heavy_surcharge_rate: 다주택·법인 등 중과기준세율 가산분 (0~1), 해당 없으면 0
    ordinance_adjustment_rate: 지방세법 제14조 조례 가감율 (-0.5~0.5), 해당 없으면 0
    local_education_tax_rate: 지방교육세율 (0~1), 미확인 시 0으로 두고 별도 계산
    rural_special_tax_rate: 농어촌특별세율 (0~1) — 전용면적 85㎡ 이하는 통상 비과세이므로
        과세대상 여부부터 확인 후 넘길 것, 미확인 시 0

Returns:
    계산 과정이 담긴 dict (적용세율, 취득세 본세, 지방교육세, 농어촌특별세, 총납부세액)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearYes
heavy_typeNo
rate_specialNo
standard_rateNo
exclusive_areaNo
acquisition_typeNo주택유상
acquisition_priceYes
heavy_surcharge_rateNo
rural_special_tax_rateNo
local_education_tax_rateNo
ordinance_adjustment_rateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent/no-side-effect profile, and the description adds meaningful behavior: the year-required change with rationale, mutual exclusion of heavy_type and rate_special, the rule that omitted surtaxes are treated as 0, and the shape of the returned dict. It loses a point because the 0-vs-(-1) sentinel semantics in the text conflict ambiguously with the schema defaults of -1.

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?

The purpose is front-loaded, but the body is very long and repeats itself across English and Korean, weaving in statutory citations, numeric examples, and parenthetical asides that an agent invoking the tool does not need. Much of the §151①/§13의2 detail duplicates what the formulas already encode.

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 an 11-parameter, no-output-schema tool this is nearly complete: rate provenance, parameter interactions, default handling, and the return keys are all present, making the missing output schema largely harmless. The residual gaps are the sentinel defaults and an explicit handoff to the judge_* siblings.

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

Parameters4/5

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

Schema description coverage is 0% and has 11 parameters, so the description carries the full burden—and it largely does, explaining year, standard_rate, heavy_surcharge_rate, the two surtax rates, ordinance_adjustment_rate, rate_special's legal basis, acquisition_type's rate bands, and exclusive_area's 85㎡ threshold. The unexplained -1 sentinel defaults (e.g. standard_rate=-1) keep it from a 5.

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 opening line names a specific verb+resource and scope: acquisition tax (취득세) on real estate plus the two surtaxes, parameterized by year and acquisition type. It is clearly distinct from sibling calculators such as calc_transfer_tax and calc_property_tax, and the bilingual restatement reinforces the purpose.

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 real workflow guidance: rates must be sourced via search_law("지방세법") rather than assumed, the function only applies the formula and does not judge which rate applies, and heavy_type/rate_special are mutually exclusive. It stops short of explicitly routing the agent to the judge_* determination tools (e.g. judge_acquisition_homes_and_rate) that must run first.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources