Korea Tax Law
PYPI · KOREAN-TAX-MCP
Korea tax law: NTS rulings, court/tribunal decisions, basic rules, treaties, point-in-time statutes
Available components
Last scanned (2 hours ago)
Scores higher than 65% of PyPI servers
Category Health and Science
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 1 of 28 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to UpstageAI/korean-tax-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability58
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 10677 tokens (~485/item across 22 items; 22 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Oct 26 +1
- Malware scan: unverified → pass ▲ security
- Package version: 0.10.0 → 0.11.0 functional
- 16 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- Package version: 0.9.1 → 0.10.0 functional
- 15 Oct 26 +13
- Malware scan: pass → unverified ▼ security
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Destructive annotations: pass functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 100 functional
- 14 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- Package version: 0.9.0 → 0.9.1 functional
- 13 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- Package version: 0.8.1 → 0.9.0 functional
- 12 Oct 26 +25
- Malware scan: unverified → pass ▲ security
- Provenance: fail → pass ▲ security
- The attested source repository moved: UpstageAI/korean-tax-mcp security
- Package version: 0.5.1 → 0.8.1 functional
- 7 Oct 26 25
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 18 Oct 2026 · Analysed pypi/korean-tax-mcp@0.11.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | UpstageAI/korean-tax-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/UpstageAI/korean-tax-mcp/.github/workflows/publish-pypi.yml@refs/heads/main |
| Rekor log index | 3311713640 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:1dc0c54b792d2ec2a5c106a4cd0dbcbe296508a377620276a1aeac2d0dc414da |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 28 packages
| Packages resolved | 28 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
article_history ~296
When did this article change, and will an upcoming amendment change it? 조문 개정 이력과 시행 예정 개정. 언제: "이 조문 언제 바뀌었나", "곧 바뀌나" — 사업연도별 적용 조문이 다른지 판단할 때. 특정 날짜 원문은 law_article(as_of). 반환: {법령, 조, 연혁: [{시행일, 공포일, 제개정, 상태(연혁/현행/시행예정), 이 조 변경(바뀜/그대로)}], 요약, 주의}. 읽기 전용. 법제처 공식 API — LAW_OC 필요.
| Name | Type | Req | Description |
|---|---|---|---|
| article | string | yes | 조문 번호. '제52조' 또는 '제28조의2' 형식 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| last | integer | – | 비교할 최근 시행본 수 2~20 (시행예정 포함) |
| law_name | string | yes | 법령 정식 명칭. 예: '법인세법', '법인세법 시행규칙' |
No output schema declared.
No examples provided.
basic_rules ~313
Get NTS Basic Rules (국세 기본통칙) full text by article or keyword. 국세 기본통칙 전문(최신 고시본). 언제: 조문의 국세청 공식 해석 기준이 필요할 때. 실무 집행 기준 목록은 execution_standards, 개별 사안 해석은 rulings_by_article. 반환: {법령, 기준(고시 연도), 통칙: [{통칙(번호·제목), 본문}], 링크}. 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| article | string | – | 법 조문('제52조'). 주면 그 조에 딸린 통칙 전부, 생략하면 전체에서 keyword로 검색 |
| keyword | string | – | 통칙 제목·본문 검색어 (선택) |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| law_name | string | yes | 세법 이름(정식 명칭). 예: '법인세법', '부가가치세법', '소득세법', '상속세 및 증여세법', '국세기본법' |
No output schema declared.
No examples provided.
casebook_search ~233
Search the NTS 2025 Tax Interpretation Casebook (96 curated cases). 국세청 「2025 세법해석 사례집」 쟁점 검색. 언제: 국세청이 대표 사례로 고른 해석을 빠르게 볼 때(오프라인, 즉시). 최신·전체 해석은 search_tax_rulings. 반환: {결과: [{문서번호, 회신일, 분야, 쟁점, 답변요지, 쪽, 점수, 인용}]}. 읽기 전용, 외부 호출 없음.
| Name | Type | Req | Description |
|---|---|---|---|
| area | – | – | 분야 필터 (선택) |
| k | integer | – | 결과 수 1~10 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| query | string | yes | 쟁점 문장이나 키워드 |
No output schema declared.
No examples provided.
compare_outcomes ~526
Win/loss side by side for one issue: taxpayer-won vs lost decisions with both sides' arguments and the deciding reasoning. 같은 쟁점의 조세심판·심사·이의·법원 판결을 납세자 승(인용·취소)/일부 인용/패(기각)로 나누고, 건마다 납세자 주장·과세관청 의견·결정 이유(판단 끝부분)를 나란히. 언제: 불복·조사 대응에서 '이긴 쪽은 무엇을 입증했고 진 쪽은 무엇이 부족했나'를 볼 때. 이긴 사례만 걸러 보지 않는다(양쪽을 같이). 결과 판정은 본문 주문(主文)·결론 문장을 규칙으로 읽음(모델 추정 아님). 주장·이유는 본문에서 잘라 온 발췌. 반환: {쟁점, 집계, 납세자 승(인용·취소), 일부 인용, 납세자 패(기각), 각하·기타, 갈린 지점?(explain), mode?, 주의}. explain=True: Solar 설정이 없으면 mode="host_ai" — 갈린 지점에 사용자 AI용 판단 안내(발췌는 위 목록). 설정 시 Solar 요약(mode=solar_cloud/solar_onprem). 읽기 전용. 국세법령정보시스템 조회, 약 5~10초.
| Name | Type | Req | Description |
|---|---|---|---|
| explain | boolean | – | True면 '승패를 가른 지점' 정리. 기본은 사용자 AI용 판단 안내 반환(전송 없음), Solar 설정 시 Solar가 요약 |
| issue | string | yes | 쟁점 한 문장. 예: '특정 임원만을 위한 퇴직금 지급규정에 따른 퇴직금의 손금산입 여부' |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| n | integer | – | 본문까지 읽을 결정·판결 수(4~20). 많을수록 느림(건당 약 0.5초) |
| tax | – | – | 세목 필터 (선택) |
No output schema declared.
No examples provided.
compare_with_case ~432
Check your facts and argument against rulings: supports / contradicts / distinguish. 사실관계·논리를 해석·판례와 대조해 항목마다 지지·반대·구별 필요를 판정. 언제: 주장의 근거와 반대 사례를 한 번에 점검할 때(의견서·불복 검토). 단순 검색은 search_tax_rulings. 기본(mode="host_ai"): Solar 설정이 없으면 후보 문서의 원문 발췌(제목·요지, 문서번호, 링크)와 판단 안내를 반환 — ���정은 사용자 AI가 수행, Upstage로 전송 없음. 반환(host_ai): {mode, 사실관계, 우리 논리, 후보: [{문서번호, 구분, 일자, 제목, 요지, 링크}], 판단 안내, 주의}. 선택(Solar): UPSTAGE_API_KEY(클라우드, 입력이 api.upstage.ai로 전송) 또는 KOREAN_TAX_MCP_SOLAR_BASE_URL(망분리 온프렘 Solar) 설정 시 반환: {mode, 해석: [{문서번호, 구분, 관계, 이유, 사실관계 차이, 링크}], 요약, 주의}. 문서번호는 검색 결과에 있는 것만. 약 10초. 읽기 전용.
| Name | Type | Req | Description |
|---|---|---|---|
| facts | string | yes | 사실관계: 누가·언제·무엇을·얼마 (최대 1500자 사용) |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| our_view | string | yes | 우리 주장: 과세 논리 또는 납세자 주장 한두 문장 |
| tax | – | – | 세목 필터 (선택) |
No output schema declared.
No examples provided.
execution_standards ~321
List Tax Execution Standards (세법집행기준) items with page numbers. 세법집행기준 항목(최신 발간본). 언제: 조문별 집행 기준이 있는지·몇 쪽인지 확인할 때. 본문은 책자(PDF)라 제공하지 않으므로 통칙 본문이 필요하면 basic_rules. 반환: {법령, 기준(발간 연도), 항목: [{항목(번호·제목), 쪽}], 링크, 주의}. 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| article | string | – | 법 조문('제52조'). 주면 그 조의 집행기준 항목만 |
| keyword | string | – | 항목 제목 검색어 (선택) |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| law_name | string | yes | 세법 이름(정식 명칭). 예: '법인세법', '부가가치세법', '소득세법', '상속세 및 증여세법', '국세기본법'. 소득세는 '소득세법' |
No output schema declared.
No examples provided.
find_article ~381
Find statute articles by keyword — first step when you don't know the article number. 키워드로 조문 위치를 찾는다. 언제: 쟁점 키워드는 있는데 조문 번호를 모를 때 first step. 예: '압류금지 생계비계좌' → 국세징수법 제41조. 반환: [{법령, 조, 제목, 적용 시행일, 일치 문장: 키워드가 든 문장 1~2개(각 200자 이내)}], 다음 단계: law_article(law_name, 조, keyword=...)로 해당 항만 조회. 결과 길이 4,000자 이내. 읽기 전용. 법제처 공식 API — LAW_OC 필요, 없으면 오류.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | 기준일 YYYYMMDD. 생략하면 오늘 |
| keyword | string | yes | 찾을 키워드(공백으로 여러 단어). 예: '압류금지 생계비계좌' |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| law_name | – | – | 법령명(정식 명칭). 생략하면 주요 세법 전부(국세기본법·징수법·소득세법·법인세법·부가가치세법·상속세및증여세법·조세특례제한법·국제조세조정법 + 각 시행령)에서 조회 |
| n | integer | – | 반환 건수(1~20) |
No output schema declared.
No examples provided.
get_tax_ruling ~243
Get the full text of one ruling or decision. 해석·판례 1건의 본문 전문. 언제: 검색 결과 중 인용·요약할 문서를 정한 뒤. 요지만으로 판단하지 말고 본문을 읽을 때 사용. 반환: {문서번호, 제목, 요지, 등록일, 관련조문[], 본문(질의회신: 사실관계·질의·회신 / 판례: 주문·이유, 최대 2만 자), 링크}. 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | search_tax_rulings·rulings_by_article 결과의 id (숫자 12~20자리) |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
No output schema declared.
No examples provided.
judge_options ~828
보기·주장 여러 개를 조문 1~5개와 한 번에 글자 대조해 보기마다 가장 맞는 조와 판정을 표로 돌려준다. 언제: 여러 보기(객관식 보기·고객 진술·주장 문장)를 특정 조문(1~5개)과 한 번에 대조할 때. 보기마다 verify_statement를 따로 부르지 않고 한 번 호출로 처리. 입력: statements(문자열 리스트 → id ①②③④⑤ 순서, 5개 초과 시 1,2,3… / {'id','text'} 리스트 → id 그대로), law_name(정식 법령명), articles('제112조' 등 1~5개), as_of(기준일, 생략 시 오늘), also_decree(기본 False — True면 각 조의 하위 위임 조문 중 law.links에서 원문인용이 확인된 것 최대 3개도 후보 조에 추가). 처리: law.version → law._full_units로 각 조 단위 수집 → claims.judge(보기마다 모든 후보 조에 compare 실행, 겹침 최대 조 채택, 동률이면 신호 있는 쪽). 반환: {법령, 시행본, 후보조(실제 대조한 조 목록), 보기별:[{id, 조, 판정, 근거:{위치,원문}, 대조, 단서, 겹침, 사유?}], 요약:{모순,구절 다름,차이 없음,판단 필요 — 각 id 목록}, 주의}. 판정: 숫자·양태·반대말·시점 신호 있으면 '모순', 신호 없이 구절이 다르면 '구절 다름'(같은 뜻인지 직접 판단), 다른 구절 없고 겹침 0.5 이상 '차이 없음', 없으면 '판단 필요'. 단, 준 조문과 겹침이 0.3 미만이면 신호가 있어도 '모순' 대신 '판단 필요'(사유: '겹침 낮음 — 다른 조문일 수 있음') — 준 조문과 무관한 보기에서 우연한 숫자·반대말 신호가 모순으로 나가는 것을 막음. 읽기 전용. 법제처 API 필요(LAW_OC). 조문 문구는 시행본 원문 그대로 — 지어내지 않는다. '판단 필요'는 글자 대조 결과일 뿐 법적 판단이 아님 — 원문으로 확인.
| Name | Type | Req | Description |
|---|---|---|---|
| also_decree | boolean | – | True면 각 조의 law.links 하위 위임 조문 중 원문인용이 확인된 것(최대 3개)도 후보 조에 추가 |
| articles | array | yes | 대조할 조문 1~5개. '제112조'·'제28조의2' 형식 |
| as_of | string | – | 기준일 YYYYMMDD. 생략하면 오늘 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| law_name | string | yes | 세법 이름(정식 명칭). 예: '법인세법', '부가가치세법', '소득세법', '상속세 및 증여세법', '국세기본법' |
| statements | – | yes | 보기·진술 문장들. 문자열 리스트(id는 ①②③④⑤ 순서), {'id','text'} 리스트(id 그대로), 또는 ①~⑤·ㄱ~ㄹ 번호가 든 문장 하나(자동 분리) |
No output schema declared.
No examples provided.
law_article ~649
Get statute text as in force on a date, with optional Act → Decree → Rule chain. 조문 원문(기준일 시행본)과 3단 위임. 언제: 세액·요건 판단처럼 사실 발생 시점의 법령이 필요할 때. 해석·판례는 회신 당시 법 기준이므로 이 도구로 적용 연도 조문과 대조. 조문 번호를 모르면 find_article로 먼저 찾는다. 긴 조문(4,000자 초과)은 keyword(키워드가 든 항만) 또는 paragraph(특정 항)로 필요한 항만 조회 — 둘 다 없으면 항 목록과 안내 반환. 결과의 '연결'에 상위·하위 조문 위치가 있으니 그 조를 law_article로 이어서 조회. 반환: {법령, 조, 적용 시행일, 본문, 링크, 반환 범위, 연결, 읽기 주의(돌려준 본문의 단서·우선·제외 구절 원문, 최대 3개)} 또는 {위임체계: [{단계, 법령, 조, 적용 시행일, 본문}]} (+ 기본통칙·집행기준). 읽기 전용. 법제처 공식 API — 환경변수 LAW_OC(무료) 필요, 없으면 발급 안내 오류.
| Name | Type | Req | Description |
|---|---|---|---|
| article | string | yes | 조문 번호. '제52조' 또는 '제28조의2' 형식. '제52조 제1항'처럼 항을 함께 줄 수 있음 |
| as_of | string | – | 기준일 YYYYMMDD. 그날 시행 중이던 연혁본. 생략하면 오늘 |
| keyword | string | – | 키워드가 들어간 항(①②…/제1항…)만 반환. 긴 조문(4,000자 초과)에서 항 번호 모를 때 사용 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| law_name | string | yes | 법령 정식 명칭. 예: '법인세법', '법인세법 시행령', '법인세법 시행규칙' |
| paragraph | string | – | 원하는 항만 지정. '①'·'1'·'제1항'·'②' 등. 호 지정: '②2호'·'제2항 제2호', 여러 항: '2,3'·'②,③'·'제2항, 제3항'. 그 항만 반환 |
| with_delegation | boolean | – | True면 법률 조문에 연결된 시행령·시행규칙 위임 조문 전부(3단) |
| with_rules | boolean | – | True면 그 조의 기본통칙 전문과 집행기준 항목도 함께 |
No output schema declared.
No examples provided.
research_issue ~605
Bundle everything that applied to an issue at a past date. 그 해 기준 묶음 조회 — 사실 발생 시점의 조문(3단)·기본통칙·집행기준·그 조문을 인용한 해석·판례를 한 번에. 언제: 세무조사·불복처럼 특정 사업연도에 적용되는 근거를 정리할 때. 시점 판단을 코드로 고정한다 — 기준일(법인·소득·부가는 사업연도·과세기간 종료일, 양도는 양도일, 상속은 상속개시일, 증여는 증여일, 원천은 지급일), 기준일 조문과 현행 조문의 변경 여부, 해석·판례마다 등록일 당시 조문이 기준일 조문과 같은지. 반환: {기준일, 기준일 근거, 그 해 조문(3단), 현행과 비교, 기본통칙[], 집행기준[], 해석·판례[{…, 기준일 조문과}], 주의}. 읽기 전용. 조문 부분은 LAW_OC 필요(없으면 해석·통칙만 반환). 10~30초.
| Name | Type | Req | Description |
|---|---|---|---|
| article | string | yes | 조문 번호. '제52조' 또는 '제28조의2' 형식 |
| event | – | – | 사건 기준 세목. 양도=양도일(잔금일), 상속=상속개시일, 증여=증여일(등기 대상은 등기접수일), 원천=지급일. 주면 period는 날짜여야 함 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| law_name | string | yes | 세법 이름(정식 명칭). 예: '법인세법', '부가가치세법', '소득세법', '상속세 및 증여세법', '국세기본법' |
| n | integer | – | 해석·판례 종류별 최대 건수 1~20 |
| period | string | yes | 사실이 속한 시점: '2023'(사업연도·과세기간), '2023-1'(부가 1기), '2023-12-31'(날짜) |
| registered | string | – | 양도: 소유권이전등기 접수일 YYYY-MM-DD (잔금일보다 빠르면 이 날이 양도일, 선택) |
| tax | – | – | 세목. 부가세 과세기간 판단과 해석 필터에 사용 (선택) |
No output schema declared.
No examples provided.
residency_check ~1,569
비거주자·거주자 3단계 판정 (규칙 기반, 외부 호출 없이 동작). 언제: 판정 입력 데이터로 거주자·비거주자·이중거주자·조세조약 tie-break 결과를 즉시 확인할 때. 판단은 코드 규칙 기반 — Solar 키 없어도 동작. AI 판단 기본은 사용자 AI(호스트)가 수행 — 판정 코드는 고정. 반환: {입력, 법리, 1단계(소득세법), 2단계(이중거주자), 3단계(조세조약 tie-break), 최종 판정, 유사 판례 top3, 판단이 갈리는 지점·추가 확인 사항, 주의}. 읽기 전용, 외부 호출 없음(tax_treaty는 선택 호출, 실패 시 mock 안내 첨부). 판단 순서: (1) 소득세법 §1의2·시행령 §2(①③④)·§3·§4 → 주소/거소/파견 특례 → 거주자·비거주자·판단 보류 (2) 이중거주자 여부 (증명책임: 납세의무자, 대법원 2006두3964) (3) 조세조약 tie-break (항구적 주거 → 중대한 이해관계 중심지 → 일상적 거소 → 국적 → 상호합의) - 상대국이 주어지면 tax_treaty(country, keyword='거주자')로 조약 거주자 조문 번호·tie-break 원문 일부를 첨부한다. (오프라인/모의 환경에서는 treaty_country만 있으면 조약 체결국임을 전제하고 mock tie-break 원문을 첨부한다.) - rules.md의 유사 판례(사실관계 키워드 매칭 상위 3건, 판결요지 요약)를 첨부한다. - rules.md 6-4절(찾지 못함/추정) 판례는 인용하지 않는다. - 법리: 국내 생활관계만으로 판단(국내외 비교 아님, 대법원 92누11695)을 결과에 명시한다.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_desc | string | – | 국내 자산 요약 (예: '서울 아파트 자가(부부 공동명의), 국내 증권사 주식, 성남 상가 임대'). |
| center_of_vital_interests | string | – | 중대한 이해관계의 중심지(판례상 양국 사업규모·소득규모·체류일수 등 비교). |
| dispatch_desc | string | – | 파견/현지채용 상세 (예: 'S국 현지법인에 2018년 파견' 또는 '미국 현지법인에 퇴직 후 Senior Director로 신규 채용'). |
| dispatched_by_korean_company | boolean | – | 내국법인(100% 출자 현지법인 포함) 파견 여부 (시행령 §3 특례 적용 대상). |
| domestic_assets | boolean | – | 국내 부동산·예금·사업용 자산 등 국내 소재 자산이 있는지 여부. |
| domestic_business_activity | boolean | – | 국내 사업·경영 활동, 국내 사업자등록, 국내 근로소득 등 국내 경제활동 유무. |
| domestic_stay_days | – | – | 직전연도(판정 연도-1) 국내 체류일수. 직접 입력값. entry_dates를 제공하면 자동 계산이 우선. |
| economic_activity_desc | string | – | 경제활동 요약 (예: '국내 A건설 자문·임원 근로소득, 국내 C컨설팅 사업, 국내 B법인 배당'). |
| entry_dates | – | – | 입국 날짜 목록(YYYY-MM-DD). 제공 시 입국 다음날~출국일로 체류일수 자동 계산. |
| exit_dates | – | – | 출국 날짜 목록(YYYY-MM-DD). entry_dates와 1:1 대응. |
| family_desc | string | – | 국내 가족 상황 설명 (예: '배우자·자녀 2명 서울 거주, 자녀 국내 학교 재학'). |
| family_in_korea | boolean | – | 국내에 생계를 같이하는 가족이 있는지 여부. |
| foreign_nationality | boolean | – | 외국 국적이 있는지 여부. |
| foreign_nationality_desc | string | – | 외국 국적·영주권 상세 (예: '미국 국적, 2015년 미국 영주권 취득'). |
| foreign_permanent_residency | boolean | – | 외국 영주권 또는 그에 준하는 장기체류자격을 얻었는지 여부 (시행령 §2④). |
| habitual_abode | string | – | 일상적 거소. |
| job_needs_183_days | boolean | – | 국내 183일 이상 거주를 통상 필요로 하는 직업인지 여부 (시행령 §2③1). |
| judgment_year | integer | yes | 판정 대상 연도 (소득 지급 연도). 예: 2026 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| local_hire_not_dispatch | boolean | – | 해외 현지법인에 '파견'이 아니라 퇴직 후 현지 채용된 경우 (§3 미적용, 대법원 2010두15056 구조). |
| nationality | string | – | 국적 (조약 tie-break 4단계). 미입력 시 4단계 보류 → 판정 보류. |
| notes | string | – | 추가 참고사항. |
| overseas_job_desc | string | – | 해외 근무 형태 종합 설명. |
| permanent_home | string | – | 항구적 주거 소재. 단기체류용이 아닌 계속 사용 가능한 주거 (소유·임차 무관). |
| permanent_home_desc | string | – | 항구적 주거 상세 (예: '국내: 서울 아파트 자가(부부 공동), 국외: S국 아파트 임차(실사용 낮음)'). |
| public_official_overseas | boolean | – | 공무원으로서 국외 근무 중인지 여부 (시행령 §3 특례 적용 대상). |
| temporary_exit_days | integer | – | 관광·질병 치료 등 명백히 일시적인 출국 기간 합계(일). 시행령 §4②에 따라 국내 거소로 간주. |
| temporary_exit_reason | string | – | 일시적 출국 사유 (예: '관광 5일, 치료 3일'). |
| treaty_country | string | – | 상대국 이름(한글). 예: '미국', '일본', '사우디아라비아'. 모르면 빈 문자열. |
| treaty_country_is_resident | boolean | – | 상대국 국내법상 거주자로 취급되는지 여부. |
| treaty_country_resident_desc | string | – | 상대국 거주자 근거 (예: '미국 영주권자로서 미국 세법 거주지 테스트 충족'). |
No output schema declared.
No examples provided.
residency_report ~736
residency_check 결과 + rules.md를 Solar Pro 4에 넣어 판정 검토 보고서(마크다운) 작성. 언제: residency_check 결과를 더 상세한 서술형 판정 검토 보고서(report_template.md 형식)로 만들 때. Solar 선택 구조(기존 korean-tax-mcp와 동일): UPSTAGE_API_KEY(클라우드) 또는 KOREAN_TAX_MCP_SOLAR_BASE_URL(온프렘) 설정 시 Solar가 보고서 작성, 키 없으면 친절한 안내 + residency_check 결과만 반환. 결론: 보고서 결론은 residency_check 결과를 바꾸지 못함(Solar는 서술만, 판정은 코드). 읽기 전용, 외부 호출: tax_treaty·rules.md 읽기·Solar 호출(키 있을 때만).
| Name | Type | Req | Description |
|---|---|---|---|
| asset_desc | string | – | 국내 자산 요약. |
| center_of_vital_interests | string | – | 중대한 이해관계 중심지. |
| dispatch_desc | string | – | 파견/현지채용 상세. |
| dispatched_by_korean_company | boolean | – | 내국법인 파견 여부. |
| domestic_assets | boolean | – | 국내 자산 유무. |
| domestic_business_activity | boolean | – | 국내 경제활동 유무. |
| domestic_stay_days | – | – | 직전연도 국내 체류일수. |
| economic_activity_desc | string | – | 경제활동 요약. |
| entry_dates | – | – | 입국 날짜 목록(YYYY-MM-DD). |
| exit_dates | – | – | 출국 날짜 목록(YYYY-MM-DD). |
| family_desc | string | – | 국내 가족 상황. |
| family_in_korea | boolean | – | 국내 생계 가족 유무. |
| foreign_nationality | boolean | – | 외국 국적 유무. |
| foreign_nationality_desc | string | – | 외국 국적·영주권 상세. |
| foreign_permanent_residency | boolean | – | 외국 영주권 유무. |
| habitual_abode | string | – | 일상적 거소. |
| job_needs_183_days | boolean | – | 183일 거주 필요 직업 여부. |
| judgment_year | integer | yes | 판정 대상 연도. residency_check와 동일. |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| local_hire_not_dispatch | boolean | – | 현지 채용(§3 미적용) 여부. |
| nationality | string | – | 국적. 미입력 시 4단계 보류 → 판정 보류. |
| notes | string | – | 추가 참고사항. |
| overseas_job_desc | string | – | 해외 근무 형태. |
| permanent_home | string | – | 항구적 주거. |
| permanent_home_desc | string | – | 항구적 주거 상세. |
| public_official_overseas | boolean | – | 공무원 국외 근무 여부. |
| temporary_exit_days | integer | – | 일시 출국 기간 합계(일). |
| temporary_exit_reason | string | – | 일시 출국 사유. |
| treaty_country | string | – | 상대국 이름(한글). |
| treaty_country_is_resident | boolean | – | 상대국 거주자 여부. |
| treaty_country_resident_desc | string | – | 상대국 거주자 근거. |
No output schema declared.
No examples provided.
rulings_by_article ~391
List rulings and decisions that cite a specific statute article. 특정 조문을 관련 법령으로 인용한 해석·판례 모음. 언제: 조문을 알고 그 조문의 실무 해석을 모을 때(예: 법인세법 제52조 → 부당행위계산). 키워드만 있으면 search_tax_rulings. 반환: {법령, 조, 결과: [{구분, 문서번호, 제목, 요지, 세목, 일자, id, 링크}]}. 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| article | string | yes | 조문 번호. '제52조' 또는 '제28조의2' 형식 |
| keyword | string | – | 결과를 좁힐 추가 키워드 (선택) |
| kinds | – | – | 해석·판례 중 선택. 생략하면 둘 다 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| law_name | string | yes | 세법 이름(정식 명칭). 예: '법인세법', '부가가치세법', '소득세법', '상속세 및 증여세법', '국세기본법' |
| n | integer | – | 종류별 최대 건수 1~30 |
| sort | string | – | 정확도=검색 점수순(기본), 최신=등록일 내림차순 |
| tax | – | – | 세목 필터 (선택) |
No output schema declared.
No examples provided.
search_forms ~326
Search statutory annexes (rate and useful-life tables) and official tax forms. 세법 별표·서식 검색. 언제: 세율표·기준내용연수표·상각률표 같은 별표나, 신고서·명세서·통지서 서식을 찾을 때. 조문 본문은 law_article. 반환: {결과: [{구분(별표/서식), 이름, 법령, 세법, 시행일, 내용(서식 안 글 600자), 링크}]}. 같은 서식은 최신 시행본만. 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | – | – | 별표(세율표·내용연수표 등)만 또는 서식(신고서·명세서)만. 생략하면 둘 다 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| n | integer | – | 결과 수 1~20 |
| query | string | yes | 별표·서식 이름에 들어가는 말. 예: '소득금액변동통지서', '국제거래명세서', '기준내용연수', '상각률표' |
No output schema declared.
No examples provided.
search_local_documents ~296
Search PDFs you downloaded yourself, page by page — e.g. the OECD Transfer Pricing Guidelines. 내 PC의 PDF(예: OECD 이전가격 지침) 쪽 단위 검색. 언제: 저작권상 재배포할 수 없는 자료(OECD 지침 등)를 각자 받아 근거로 쓸 때. 문서는 이 패키지에 들어 있지 않음. 설정: 환경변수 KOREAN_TAX_MCP_DOCS에 PDF 폴더 경로, PDF 읽기용 pypdf 필요(uvx --with pypdf korean-tax-mcp). 반환: {결과: [{파일, 쪽, 점수, 발췌}], 색인}. 읽기 전용, 외부 호출 없음. 첫 호출 때 색인(파일이 크면 수십 초).
| Name | Type | Req | Description |
|---|---|---|---|
| k | integer | – | 결과 수 1~10 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| query | string | yes | 찾을 내용. 영어·한국어·문단 번호(예: '2.14', 'comparability analysis', '무형자산') |
No output schema declared.
No examples provided.
search_nts_publications ~283
Full-text search inside NTS official guidebooks and reports (transfer pricing, APA reports, overseas business guides, filing guides). 국세청 발간책자 본문 검색. 언제: 국세청이 공식 책자로 낸 실무 안내(이전가격·APA 연차보고서·해외진출기업 세무 가이드·신고 안내 등)의 설명이 필요할 때. 반환: {결과: [{책자, 발간일, 분야, 담당, 발췌, 링크}]}. 책자 원문은 국세법령정보시스템 전자도서관에서. 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| n | integer | – | 결과 수 1~20 |
| query | string | yes | 찾을 내용. 예: '이전가격 정상가격 산출방법', '해외현지법인 명세서 제출', 'APA' |
No output schema declared.
No examples provided.
search_tax_rulings ~422
Search Korean tax rulings and decisions by keyword. 국세청 해석(질의회신·과세기준자문·사전답변)과 판례(법원·조세심판·이의·심사)를 키워드로 찾는다. 언제: 쟁점은 있는데 조문을 모를 때 첫 단계로. 조문을 알면 rulings_by_article, 사례집 요약만 필요하면 casebook_search. 반환: {결과: [{구분, 문서번호, 제목, 요지(400자), 세목, 일자, id, 링크}], 주의}. 본문은 get_tax_ruling(id). 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| kinds | – | – | 해석=질의회신·과세기준자문·사전답변, 판례=법원·조세심판·이의·심사. 생략하면 둘 다 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| n | integer | – | 종류별 최대 건수 1~30 |
| query | string | yes | 쟁점 키워드. 예: '업무무관 가지급금 인정이자', '폐업자 세금계산서 매입세액' |
| since | string | – | 등록일 시작 YYYYMMDD (선택) |
| sort | string | – | 정확도=검색 점수순(기본), 최신=등록일 내림차순 |
| tax | – | – | 세목 필터. 생략하면 전체 |
| until | string | – | 등록일 끝 YYYYMMDD (선택) |
No output schema declared.
No examples provided.
tax_treaty ~379
Read Korea's bilateral tax treaties (96 countries) article by article, Korean or English. 한국의 조세조약 조문(국문·영문). 언제: 비거주자 원천징수 제한세율, 고정사업장, 거주자 판정 등 국제거래 쟁점. 국내법 조문은 law_article, 국제조세 해석은 search_tax_rulings(tax='국조'). 반환: {국가, 발효일, 조문: [{조, 제목, 영문 제목, 본문}], 링크} — 조문 번호는 조약마다 다르니 keyword로 찾는 게 정확. 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| article | string | – | 조문. 예: '제10조', '의정서'. 조약마다 번호 체계가 다르므로 주제로 찾을 땐 keyword 사용 |
| country | string | yes | 체약국 이름(한글). 예: '미국', '중국', '일본', '베트남'. 모르면 아무 이름이나 넣으면 체결국 목록을 돌려줌 |
| english | boolean | – | True면 영문 본문 |
| keyword | string | – | 조문 제목·본문 검색어. 예: '배당', '고정사업장', '이자', 'dividends' |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
No output schema declared.
No examples provided.
treaty_withholding_rates ~366
Treaty withholding tax caps on dividends, interest and royalties for a country, with the clause text. 조세조약 원천징수 제한세율(배당·이자·사용료). 언제: "미국 법인에 배당하면 몇 %?" 같은 질문. 세율과 지분 요건을 조약 원문에서 뽑고 근거 조항((a)·(b)…)을 함께 준다. 조문 전체는 tax_treaty. 반환: {국가, 발효일, 제한세율: [{소득, 조문, 세율: [{세율(%), 근거}], 요건·기타: [{지분요건(%), 근거}], 개정 문서 언급, 주의}], 주의, 링크}. 자동 추출이라 개정 의정서·교환각서가 조문을 바꿨으면 '개정 문서 언급'에 표시 — 적용 전 확인. 지방소득세 등 국내법은 별도. 읽기 전용. 국세법령정보시스템 공개 조회(키 불필요), 같은 요청은 1일 캐시.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | 체약국 이름(한글). 예: '미국', '중국', '일본', '싱가포르' |
| income | – | – | 소득 종류. 생략하면 셋 다 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
No output schema declared.
No examples provided.
verify_citations ~316
Check that cited rulings, decisions and statute articles actually exist. 인용 검증 — 초안의 문서번호·조문이 실제로 있는지 확인. 언제: AI나 사람이 쓴 초안을 내보내기 전. 지어낸 문서번호·없는 조문을 걸러낸다. 반환: {문서번호: [{인용, 결과(확인/국세청 DB 미확인/조회 실패), 문서번호, 제목, 일자, 링크, 비슷한 번호}], 조문: [{인용, 결과, 적용 시행일}], 요약, 주의}. '확인'은 존재만 뜻함 — 내용 일치는 get_tax_ruling·law_article 본문으로 확인. 읽기 전용. 조문 확인은 LAW_OC 필요.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | 조문 존재를 확인할 기준일 YYYYMMDD. 생략하면 오늘 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| text | string | yes | 보고서·의견서·답변 초안 (해석·판례 문서번호와 '법인세법 제52조' 같은 조문 인용이 들어간 글, 최대 2만 자) |
No output schema declared.
No examples provided.
verify_statement ~556
진술·주장을 조문 원문과 글자 수준에서 대조해 모순 신호(숫자·양태·반대말·시점)와 단서 누락을 돌려준다. 언제: 보기 문장·주장·고객 진술이 특정 조문과 맞는지 확인할 때. 조문을 읽고도 놓치는 차이를 표로 보여 준다 — 법적 판단을 대신하지 않는다. 반환: {법령, 조, 시행본, 판정('모순'|'구절 다름'|'차이 없음'|'판단 필요'), 근거:{위치, 원문}, 대조:[{종류,진술,조문}], 단서:[...], 겹침, 주의}. - 판정: 숫자·양태·반대말·시점 신호 하나라도 있으면 '모순', 신호는 없지만 진술과 원문 구절이 다르면 '구절 다름'(대조에 진술·조문 구절을 원문 그대로 — 같은 뜻인지는 직접 판단), 다른 구절도 없고 겹침 0.5 이상 '차이 없음', 겹침 0.5 미만 '판단 필요'. 읽기 전용. 법제처 API 필요(LAW_OC). 조문 문구는 시행본 원문 그대로 — 지어내지 않는다.
| Name | Type | Req | Description |
|---|---|---|---|
| article | string | yes | 조문 번호. '제112조' 또는 '제21조' 형식 |
| as_of | string | – | 기준일 YYYYMMDD. 생략하면 오늘 |
| lang | string | – | Output language. 'en': English keys and labels, official English texts where available (tax treaties, statutes), other Korean texts returned with a host_ai_translate instruction (your AI translates);… |
| law_name | string | yes | 정식 법령명. 예: '국세징수법', '소득세법', '법인세법', '국세기본법' |
| paragraph | string | – | 특정 항만 대조. '②'·'제2항'·'2' 등. 주면 그 항·하위 단위만 대조 |
| statement | string | yes | 대조할 진술·한 문장·주장. 예: '관할 세무서장은 체납자가 2회 체납하고 체납액이 2천만원인 경우 사업의 정지 또는 허가등의 취소를 요구할 수 있다.' |
No output schema declared.
No examples provided.
How do I install the Korea Tax Law MCP server?
Korea Tax Law runs locally as a PyPI package, launched with uvx korean-tax-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · korean-tax-mcp
claude mcp add upstageai-korean-tax-mcp -- uvx korean-tax-mcp
What is the Korea Tax Law MCP server?
Korea Tax Law is an MCP server listed in the public MCP registry as io.github.UpstageAI/korean-tax-mcp. Korea tax law: NTS rulings, court/tribunal decisions, basic rules, treaties, point-in-time statutes. This page covers its PyPI package (korean-tax-mcp).
Is the Korea Tax Law MCP server safe to use?
Korea Tax Law scores 65 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 18 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Korea Tax Law MCP server expose?
Korea Tax Law exposes 22 tools: search_tax_rulings, get_tax_ruling, rulings_by_article, basic_rules, execution_standards, and 17 more. Their descriptions and schemas cost roughly 10,467 tokens of context every time the server is loaded.
Is the Korea Tax Law MCP server still maintained?
Korea Tax Law is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Korea Tax Law MCP server under?
Korea Tax Law declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.