fin-law-mcp
# fin-law-mcp
<p align="center">
<img src="docs/images/hero.webp" alt="펼친 법령집의 한 문단을 돋보기로 확인해 체크 표시를 하고, 그 문단과 서류 묶음이 AI 답변 말풍선으로 이어진 일러스트" width="100%">
</p>
<p align="center">
<b>재무·회계·세무 실무자를 위한 한국 법령 MCP 서버</b><br>
Claude 같은 AI가 세무 질문에 답할 때, 기억이 아니라 <b>법제처 원문</b>을 근거로 붙이게 합니다.
</p>
<p align="center">
<a href="#설치-5분">설치</a> ·
<a href="#이런-게-좋아집니다">장점</a> ·
<a href="#다른-법령-mcp와-비교">비교</a> ·
<a href="#도구">도구</a> ·
<a href="./docs/GUIDE.md">상세 안내</a>
</p>
## 이런 게 좋아집니다
- **근거가 붙은 답** — 예규 문서번호·회신일자·원문 링크, 조문 본문·시행일자가 답에 함께 옵니다. 검토서에 그대로 옮길 수 있습니다.
- **법률–시행령–시행규칙–예규를 한 번에** — 조문 하나를 물으면 위임된 시행령·시행규칙 본문, 국세청 예규 후보, 별표까지 한 번에 가져옵니다.
- **없는 조문 인용을 잡습니다** — AI 초안의 법령·조문 인용이 실제로 있는지 대조해 ✓ 있음 / ✗ 없음 / ⚠ 확인 못 함으로 표시합니다. 삭제된 조문은 ✓로 통과시키지 않습니다.
- **내년에도 맞는 답인지** — 이미 공포된 미래 시행 개정을 경고하고, `basis_date`로 과거 시점의 조문도 조회합니다.
- **계산은 코드로** — 임원퇴직금 한도·기업업무추진비 한도·감가상각비·가지급금 인정이자·퇴직소득세를 AI 산수 대신 법정 산식으로 계산하고 근거 조문을 붙입니다.
> 판단은 사람 몫입니다. 이 도구는 원문을 가져오고 인용의 실존을 대조할 뿐, 답변이 원문과 일치함을 보장하지 않습니다.
> ✓는 번호가 실존한다는 뜻이지 내용이 맞다는 뜻이 아닙니다. 결론을 쓰기 전에 응답에 실린 원문을 확인하세요.
## 예시
> **"직원 결혼 축의금을 회사 돈으로 주면 세금 문제 있나?"**
AI가 이 서버로 근거를 조회하면 이런 재료를 받습니다 (2026-09 실측 발췌).
```text
■ 국세청 예규 [행정해석 — 과세실무 기준이나 법원 구속력 없음] — 최신순 4건
· 서이46012-11058 (2003.05.27) 임직원에게 지급하는 경조사비의 손금산입 범위 · https://taxlaw.nts.go.kr/…
…
■ 법인세법 시행령 제45조
제45조(복리후생비의 손금불산입)
8. 그 밖에 임원 또는 직원에게 사회통념상 타당하다고 인정되는 범위에서 지급하는 경조사비 등 …
■ 모법 위임 근거 (역방향)
[모법] 법인세법 제26조
제26조(과다경비 등의 손금불산입) 다음 각 호의 손비 중 … 손금에 산입하지 아니한다.
2. 복리후생비
```
전체 출력과 읽는 법은 [상세 안내 — 예를 들면](./docs/GUIDE.md#예를-들면)에 있습니다.
## 다른 법령 MCP와 비교
범용 법령 MCP인 [korean-law-mcp](https://github.com/chrisryugj/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](./docs/HOOKS.md) | 없음 |
| 판례 변경·폐기 추적, 조약·자치법규 | 없음 | ✅ |
세무 질문이 많다면 fin-law-mcp, 그 밖의 법 분야까지 넓게 본다면 korean-law-mcp가 맞습니다. 둘을 함께 등록해도 됩니다.
## 설치 (5분)
**준비물:** [Node.js](https://nodejs.org) 20.19 이상 (`node -v`로 확인)
**1. 내려받아 빌드**
```bash
git clone https://github.com/dolseom/fin-law-mcp.git
cd fin-law-mcp
npm install
npm run build
```
**2. 법제처 API 키 받기 (무료)** — [법제처 OPEN API 신청](https://open.law.go.kr/LSO/openApi/guideResult.do)에서 가입하면 **가입 이메일의 @ 앞부분**이 키입니다. (예: `hong@company.com` → `hong`)
**3. AI에 등록** — `/절대경로/`를 1단계에서 받은 폴더 위치로 바꾸세요.
- **Claude Code**
```bash
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`처럼 `\\` 또는 `/`)
```json
{
"mcpServers": {
"fin-law": {
"command": "node",
"args": ["/절대경로/fin-law-mcp/build/index.js"],
"env": { "LAW_OC": "발급받은키" }
}
}
}
```
**4. 확인** — AI에게 **`fin_ping 실행해줘`** 라고 하세요. `법제처 API 통신: 성공`이 나오면 끝입니다.
실패하면 원인과 다음 조치가 함께 나옵니다 ([실패 원인표](./docs/GUIDE.md#5-됐는지-확인)). `.env` 파일로 키를 넣는 방법도 [상세 안내](./docs/GUIDE.md#3-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`). 자세한 동작·한계·환경변수는 [상세 안내](./docs/GUIDE.md)를 보세요.
## 더 보기
- [상세 안내](./docs/GUIDE.md) — 도구별 상세, 기준일 조회, 신뢰 원칙, 환경변수, 알아둘 것, 개발
- [검토서 자동 인용 검증 훅](./docs/HOOKS.md)
- [검증 기준과 회귀 사례](./docs/BENCHMARK.md)
- [변경 이력](./CHANGELOG.md)
## 라이선스·출처
MIT. 공통 모듈 일부는 [korean-law-mcp](https://github.com/chrisryugj/korean-law-mcp)(MIT)에서 가져와 수정했습니다 — 상세는 [NOTICE](./NOTICE).
데이터 출처: 법제처 국가법령정보센터 OPEN API · 국세청 국세법령정보시스템. 법적 효력이 필요한 판단에는 원문을 확인하세요.
TDQS
Scored across 7 tools
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.
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.
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.
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.