$git clone https://github.com/chrisryugj/korean-law-mcp법제처 42개 API를 10개 도구로. 법령, 판례, 행정규칙, 자치법규, 조약, 해석례(국세청 포함) + LLM 환각 방지 인용 검증(실존+내용) + 조문 영향 그래프 + 시점 비교 자동 diff + 이럴 땐 이렇게 — 5단계 안내 + 판례 생사 확인(Citator) + 행위시법 판단 + 조례 정비 레이더를 AI 어시스턴트나 터미널에서 바로 사용.
| 1 | # Korean Law MCP |
| 2 | |
| 3 | **법제처 42개 API를 10개 도구로.** 법령, 판례, 행정규칙, 자치법규, 조약, 해석례(국세청 포함) + **LLM 환각 방지 인용 검증(실존+내용)** + **조문 영향 그래프** + **시점 비교 자동 diff** + **이럴 땐 이렇게 — 5단계 안내** + **판례 생사 확인(Citator)** + **행위시법 판단** + **조례 정비 레이더**를 AI 어시스턴트나 터미널에서 바로 사용. |
| 4 | |
| 5 | [](https://www.npmjs.com/package/korean-law-mcp) |
| 6 | [](https://modelcontextprotocol.io) |
| 7 | [](LICENSE) |
| 8 | |
| 9 | <a href="https://jocohunt.com/p/5lkkxp3x" target="_blank" rel="noopener" title="조코헌트 주간 1등 Top 1 위너"> |
| 10 | <img |
| 11 | src="https://jocohunt.com/images/badges/weekly-light.svg" |
| 12 | alt="조코헌트 주간 1등 Top 1 위너" |
| 13 | style="width: 250px; height: auto;" |
| 14 | /> |
| 15 | </a> |
| 16 | |
| 17 | > 법제처 Open API 기반 MCP 서버 + CLI. Claude Desktop, Cursor, Windsurf, Zed, Claude.ai 등에서 바로 사용 가능. |
| 18 | |
| 19 | [English](./README-EN.md) |
| 20 | |
| 21 | [](https://youtu.be/gmkuOqIV3dc) |
| 22 | |
| 23 | <sub>▶ 클릭하면 유튜브에서 재생됩니다.</sub> |
| 24 | |
| 25 | ### AI에 연결하기 |
| 26 | |
| 27 | | Claude에 연결하기 | ChatGPT에 연결하기 | |
| 28 | |:---:|:---:| |
| 29 | | [](https://youtu.be/KaUKLOH7290) | [](https://youtu.be/KCFIzervxtE) | |
| 30 | |
| 31 | --- |
| 32 | |
| 33 | ## v4.7.0 — 조례 정비 레이더 (`ordinance_radar`) |
| 34 | |
| 35 | **"상위법 바뀌었는데, 우리 조례는 아직 그대로 아닌가?"** — 조례 담당 공무원이 매년 반복하는 상위법 개정 추적을 한 번의 호출로. |
| 36 | |
| 37 | ``` |
| 38 | korean-law "광진구 주차장 조례" → ordinance_radar(ordinanceName="...") |
| 39 | |
| 40 | 📡 조례 정비 레이더 |
| 41 | 조례: 서울특별시 광진구 주차장 설치 및 관리 조례 (시행 20260227) |
| 42 | 근거 상위법령 3건 대조: |
| 43 | ⚠️ 주차장법 — 현행 시행 20260603 (조례보다 약 4개월 뒤 개정 → 정비 검토 대상) |
| 44 | ✅ 주차장법 시행령 — 현행 시행 20250817 (조례 시행 시점까지 반영) |
| 45 | ⚠️ 주차장법 시행규칙 — 현행 시행 20260331 (조례보다 약 1개월 뒤 개정 → 정비 검토 대상) |
| 46 | ``` |
| 47 | |
| 48 | - **근거법 자동 추출**: 조례 제1조(목적)의 「」 인용에서 근거 법률·시행령·시행규칙을 추출 ("같은 법 시행령" 축약 표현도 해석). 본문 전체가 아닌 목적 조문만 스캔해 별표의 무관 인용(감면대상 정의의 공직선거법 등) 과잉경보를 배제 |
| 49 | - **개정 대조**: 각 상위법의 현행 시행일 vs 조례 시행일을 대조해 정비 검토 대상을 자동 플래그, 후속 확인용 MST 동봉 |
| 50 | - 법제처 자치법규 연계 API(lnkOrd)는 커버리지가 낮아 미사용 — 조례 본문 표준 표기 파싱으로 대체 |
| 51 | |
| 52 | ### + v4.7.1~4.7.4 — 검색 정확도·인용 검증 패치 (현행 4.7.4) |
| 53 | |
| 54 | - **v4.7.4**: `search_law` 오법령 반환 차단 — 「인공지능 발전과 신뢰 기반 조성 등에 관한 기본법」의 통칭 "인공지능법"이 정식 제명의 부분문자열이 아니라 검색 0건 → 확장쿼리("AI법")에 법제처가 **검색어를 무시한 무관 법령 50건**을 반환하던 문제. 약칭 등록 + `hasRelatedHit` 가드(쿼리와 포함관계인 결과가 없으면 채택하지 않음) |
| 55 | - **v4.7.2**: `verify_citations`가 수식어 앞 법령명("절도죄는 형법 제329조…")에서 `PARTIAL_VERIFIED`로 저하돼 **환각을 놓치던** 문제 수정 (#55) + hono 보안 패치(HIGH 5건 해소, #54) |
| 56 | - **v4.7.1**: `legal_research`가 `scenario` 값을 `task`에 잘못 받아도 재배치해 툴콜 실패 제거 + `ordinance_radar` `query` 별칭 추가 (PlayMCP 심사 피드백) |
| 57 | |
| 58 | ### + v4.6.1~4.6.6 — 운영 안정화 묶음 |
| 59 | |
| 60 | - **v4.6.6**: 핸드셰이크(initialize/tools/list)를 rate limit에서 제외 — claude.ai 공유 egress IP가 429를 맞아 "간헐적 도구 못 찾음"이 되던 근본원인 해결 + `get_ordinance` id 별칭 수용 + `get_article_history` 날짜 미지정 시 전체기간 자동적용 |
| 61 | - **v4.6.5/4.6.4**: MCP 등록 심사 대응 — ToolAnnotations `destructiveHint` 추가, 한글 title 제거 |
| 62 | - **v4.6.3**: `search_law` 자치법규 자동 폴백 — 조례·지역명 쿼리 0건 시 search_ordinance 자동 시도 |
| 63 | - **v4.6.2**: 폴백 쿼터 게이트를 tools/call만 적용 — 핸드셰이크 429 차단 해제 |
| 64 | - **v4.7.0 보안·운영 패치 동봉**: JSON-RPC 배치의 tools/call을 개수만큼 rate limit·폴백 쿼터에 계수(배치 증폭 차단, 요청당 상한 20 — `MCP_MAX_BATCH_CALLS`) + graceful shutdown idle 연결 정리(clean exit) + `get_article_history` lawName 정확매칭 우선(가나다순 오매칭 방지) |
| 65 | |
| 66 | ## v4.6.0 — 인용 검증 강화(내용까지) + 클라우드 안티봇 우회 |
| 67 | |
| 68 | - **`verify_citations` 내용 검증**: 조문 실존 확인에 더해, `민법 제750조(계약해제)`처럼 **존재하는 조문에 엉뚱한 제목을 붙인 내용 환각**을 `[CONTENT_MISMATCH]`로 탐지. 기존엔 제750조만 실존하면 통과했으나, 이제 인용한 조문 제목이 실제와 일치하는지 대조합니다(LexDiff `citation-content-matcher` 이식 — 정규화 후 공통 substring + 문자 bigram Jaccard). `legal_analysis(mode=verify_citations)`에도 동일 적용 |
| 69 | - **law.go.kr JS 안티봇 우회**: 클라우드 IP(GCP/AWS/Fly)에서 법제처가 API 데이터 대신 `location.assign` JS 리다이렉트 페이지를 반환할 때, 난독화 URL을 파싱해 토큰 URL로 자동 우회(최대 3홉, 토큰 URL 404 시 원본 재시도). 로컬/등록 IP에선 no-op — `Referer` 주입(v4.0.9)으로도 안 뚫리는 클라우드 환경의 방어층 |
| 70 | |
| 71 | ## v4.5.0 — 시행예정 법령 감지 (제명변경 오판 방지) |
| 72 | |
| 73 | `search_law`가 시행예정(`target=eflaw`) 보조검색을 수행해 결과에 병기합니다. |
| 74 | |
| 75 | - **제명변경 예정**: 「데이터기반행정 활성화에 관한 법률」→「인공지능 및 데이터 기반 행정 활성화에 관한 법률」(2026-08-28 시행)처럼 공포~시행 사이의 제명변경을 신·구 명칭 매핑으로 표시 — 신명칭 검색 시 "정확매칭 없음"만 떠서 LLM이 "법령 없음"으로 오판하던 문제 해결 |
| 76 | - **개정 시행예정**: 검색된 현행 법령에 |