{"data":{"slug":"chrisryugj-korean-law-mcp","name":"korean-law-mcp","tagline":"Korean law MCP for LLMs","github_url":"https://github.com/chrisryugj/korean-law-mcp","owner":"chrisryugj","repo":"korean-law-mcp","owner_avatar_url":"https://avatars.githubusercontent.com/u/212630997?v=4","primary_language":"TypeScript","stars":2595,"forks":528,"topics":["citation-verification","claude","hallucination-detection","korean-law","law","legal-ai","legal-rag","legal-tech","mcp","mcp-server","model-context-protocol","precedent","typescript"],"archived":false,"github_pushed_at":"2026-09-12T13:07:26+00:00","maintenance_label":"Active","stars_delta_30d":271,"url":"https://www.graphcanon.com/tools/chrisryugj-korean-law-mcp","markdown_url":"https://www.graphcanon.com/tools/chrisryugj-korean-law-mcp.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/chrisryugj-korean-law-mcp","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=chrisryugj-korean-law-mcp","description":"법제처 국가법령정보를 LLM에서 바로 조회하는 MCP 서버. 법령·판례·조례 검색과 인용 검증 | MCP server for Korean law — search statutes, precedents, and ordinances, and verify citations","homepage_url":"https://www.npmjs.com/package/korean-law-mcp","license":"MIT","open_issues":0,"watchers":10,"ai_summary":"Provides tools and protocols for citation verification, hallucination detection, and querying of Korean legal information including laws, precedents, and regulations within the context of AI systems.","readme_excerpt":"# Korean Law MCP\n\n**법제처 42개 API를 10개 도구로.** 법령, 판례, 행정규칙, 자치법규, 조약, 해석례(국세청 포함) + **LLM 환각 방지 인용 검증(법령·판례, 실존+내용)** + **조문 영향 그래프** + **시점 비교 자동 diff** + **이럴 땐 이렇게 — 5단계 안내** + **판례 생사 확인(Citator)** + **행위시법 판단** + **조례 정비 레이더** + **폐지 법령 후속 규정 안내**를 AI 어시스턴트나 터미널에서 바로 사용.\n\n\n\n\n\n<a href=\"https://jocohunt.com/p/5lkkxp3x\" target=\"_blank\" rel=\"noopener\" title=\"조코헌트 주간 1등 Top 1 위너\">\n  <img\n    src=\"https://jocohunt.com/images/badges/weekly-light.svg\"\n    alt=\"조코헌트 주간 1등 Top 1 위너\"\n    style=\"width: 250px; height: auto;\"\n  />\n</a>\n\n> 법제처 Open API 기반 MCP 서버 + CLI. Claude Desktop, Cursor, Windsurf, Zed, Claude.ai 등에서 바로 사용 가능.\n\n[English](./README-EN.md)\n\n\n\n<sub>▶ 클릭하면 유튜브에서 재생됩니다.</sub>\n\n### AI에 연결하기\n\n| Claude에 연결하기 | ChatGPT에 연결하기 |\n|:---:|:---:|\n|  |  |\n\n---\n\n## v4.13.0 — 준법 등록부 감시: 98회 호출을 1~2회로\n\nISO 법규준수 등록부(품질·환경·안전보건·정보보안·BCM·부패방지·AI·ESG 8개 영역 108개 법령)를 이 서버로 주간 감시하던\n실사용 보고 3건([#157](https://github.com/chrisryugj/korean-law-mcp/issues/157) · [#158](https://github.com/chrisryugj/korean-law-mcp/issues/158) · [#159](https://github.com/chrisryugj/korean-law-mcp/issues/159), @thkim660207-cmd)을 처리했습니다. 테스트 738 → **758**.\n\n- **`search_law_bulk` — 법령명 배열을 한 번에**: 건당 `법령ID · MST · 시행일 · 시행예정` 한 줄만 돌려줍니다.\n  `previous={법령ID: 직전 MST}` 를 주면 **MST가 달라진 법령만** 받는 diff 모드 — 등록부 전건 감시가 호출 1~2회로 끝납니다.\n  응답 말미의 스냅샷 JSON을 다음 감시에 그대로 넣으면 됩니다. 공포됐으나 미시행인 개정은 MST가 아직 안 바뀌므로,\n  \"본문 동일 + 시행예정 있음\"으로 따로 표시해 시행일을 놓치지 않게 합니다\n- **개정 이력은 이제 opt-in**: `amendment_track` 이 제정 시점부터의 조문별 개정 전건을 항상 싣던 것을 껐습니다\n  (`includeHistory=true` 로 복원). 산업안전보건법(1981년 제정) 실측에서 이 섹션 혼자 5만 자 응답 상한을 소진해,\n  정작 필요한 **신구대조표가 잘려나가던** 문제입니다\n- **이미지로만 온 별표는 그렇다고 말합니다**: 법제처가 배출허용기준 같은 수치 표를 `<img>` 태그로만 주는 고시가 있습니다.\n  종전에는 \"본문 있음\"으로 그대로 나가 LLM이 수치를 추측하기 좋은 자리였습니다 — 이제 경고와 함께 원문 URL,\n  그리고 **첨부파일 원문(hwpx/pdf) 링크**를 안내합니다\n\n---\n\n## v4.12.0 — 이슈 62건 통합 배치 + \"없다고 잘못 말하던\" 경로 차단\n\n법률 자문 3축(법적 정합성·토큰 효율·응답 성능)을 실측해 등록 이슈 62건([#88~#149](https://github.com/chrisryugj/korean-law-mcp/issues))을 한 번에 해결한 배치([#150](https://github.com/chrisryugj/korean-law-mcp/pull/150), @humdrum00001010)와, 머지 전 도메인별 리뷰에서 찾은 결함 31건의 후속 수리. 테스트 196 → **701**.\n\n**자료가 있는데 \"없다\"고 답하던 경로를 막았다.** 이 서버에서 가장 나쁜 실패는 느린 게 아니라 실재하는 법령·판례를 부존재로 단정하는 것이다.\n\n- 판례 조회에서 **일시 장애(503·네트워크 오류) 직후의 빈 응답 한 번**을 부존재로 확정하던 판정을 관측 이력 기준으로 교체\n- 법제처 점검·안티봇 페이지를 받았을 때 **실재 판례를 `[NOT_FOUND]`로 단정**하던 HTML 폴백 경로 차단 — 이제 기구 고장과 자료 부존재를 구분한다\n- 별표 조회에서 HTML 응답이 조용히 빈 목록이 되고 \"법제처 DB에 없습니다\"로 굳던 경로 차단\n\n**응답이 멈추거나 끊기지 않는다.**\n\n- 체인 자문에 **45초 데드라인**(`MCP_CHAIN_DEADLINE_MS`) — 만료되면 받은 갈래까지 조립해 **부분 결과**를 돌려주고 못 받은 자리는 마커로 남긴다. 업스트림이 느릴 때 MCP 클라이언트 타임아웃(60초)에 걸려 통째로 날리던 것이 사라졌다\n- 2MiB 초과 본문에서 **300초 무한 정지 → 13ms 명시 에러**(v4.11.0 회귀 수정)\n- 판례 미스 조회 12.5초 → **2.2초**, 체계도 히트 10.6~11.6초 → 6.3~8.3초\n- 8.5k자 질의의 라우팅 476ms, 적대적 입력에서 최대 45.9초 걸리던 정규식 제거\n\n**인용 검증이 더 정확해졌다.**\n\n- `verify_citations`가 법령+**판례** 2축으로 확장 — 실존 불가와 미확인을 구분해 표기한다\n- `impact_map`이 조번호에 더해 **법령명까지** 대조 — 형법 제1조 질의에 군형법 제1조가 섞이던 것 차단. 판정이 애매하면 버리지 않고 보류한다(위헌심판의 \"구 OO법\" 인용 포함)\n- `cite_check`가 판시사항을 배열·객체 형태로 받아도 읽는다(종전에는 조용히 실패)\n\n**별표·검색.** 100건 창 밖의 별표에 도달(도로교통법 시행규칙 263건 중 별표28 본문 확인), 별표 `1의2`를 별표 1로 조용히 바꿔 주던 오선택 차단, `discover_tools` 응답 65% 감축(정답 잔존 10/10).\n\n> 사용자 가시 변경 2건: 날짜 표기가 `2024.1.5.` → `2024.01.05`로 통일(빈 시행일은 `N/A`), `discover_tools` 응답이 포인터·랭킹 형식으로 바뀌었다.\n\n## v4.11.0 — 요청·릴리스 경계 하드닝\n\n한 번의 요청이 업스트림 호출 수백 건으로 증폭되거나, 클라이언트가 끊은 뒤에도 서버가 계속 일하던 구조를 정리했다.\n\n- **요청 단위 실행 예산**: 재시도·안티봇 hop까지 같은 예산에서 차감(`MCP_MAX_UPSTREAM_REQUESTS` 기본 48)\n- **취소 전파**: HTTP 연결 끊김·MCP 취소 신호가 도구·체인·업스트림 fetch·백오프 대기까지 도달\n- **패키징 검증**: 소스 없는 산출물·`exports` 대상 부재를 게시 전에 차단\n\n> ⚠️ Breaking: HTTP 바인드 기본값이 `0.0.0.0` → `127.0.0.1`, `TRUST_PROXY` 기본값이 `1` → `false`(허용값도 1~10 정수만), `get_batch_articles` 입력 상한(법령 20개·법령당 조문 50개·요청당 100개). 자세한 마이그레이션은 [CHANGELOG](./CHANGELOG.md#4110---2026-08-16) 참조.\n\n## v4.10.0 — 폐지된 법령을 찾을 때 후속 규정을 알려준다\n\n폐지된 법령명으로 검색하면 0건만 돌아오던 것을, **연혁을 추적해 폐지 사유와 후속 통합 규정을 안내**하도록 바꿨다. 법령·행정규칙 양쪽 모두 지원한다. \"지금은 없는 법\"을 묻는 질문이 막다른 길로 끝나지 않는다.\n\n## v4.9.7 — 공용 키 사용자의 429 폭증 해소 (폴백 쿼터 토큰버킷화)\n\n법제처 키 없이 공개 서버(`mcp.gomdori.ap","github_created_at":"2025-12-19T11:03:22+00:00","created_at":"2026-07-11T11:51:16.185812+00:00","updated_at":"2026-09-20T06:41:04.629725+00:00","categories":[{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"citation-verification","name":"citation-verification"},{"slug":"hallucination-detection","name":"hallucination-detection"},{"slug":"korean-law","name":"korean-law"},{"slug":"legal-ai","name":"legal-ai"},{"slug":"legal-rag","name":"legal-rag"},{"slug":"mcp","name":"mcp"},{"slug":"model-context-protocol","name":"model-context-protocol"}],"trust":{"provenance":{"is_fork":false,"github_id":1119492821,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T03:53:19.214Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":11,"days_since_push":7,"last_release_at":"2026-09-10T20:37:51Z","stars_delta_30d":271,"open_issues_delta_30d":0},"security_summary":{"status":"no_manifest","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:51:17.378Z","medium_count":0,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"mcp":{"source":"package.json:@modelcontextprotocol/*","observed_at":"2026-09-20T03:53:20.247Z","server_manifest":true},"scan":{"source":"repo_scan","observed_at":"2026-09-20T03:53:20.247Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-09-20T03:53:20.247Z","managed_saas":false},"has_cli":{"value":true,"source":"package.json:bin|scripts","observed_at":"2026-09-20T03:53:20.247Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-09-20T03:53:20.247Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-09-20T03:53:20.247Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-20T03:53:20.247Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When developing AI systems that need precise querying of Korean laws and precedents","For citation verification in the context of Korean legal texts within AI applications"],"when_not_to_use":["If your project requires legal information from jurisdictions other than Korea","In contexts where real-time adaptation to evolving legal interpretations is critical without a focus on Korean law"],"source":"enrich:decision_facts","observed_at":"2026-07-15T08:27:09.127Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"korean-law-mcp is a framework for Korean legal information retrieval and verification specifically for LLMs."}]}}