Skip to content

About

법제처 국가법령정보를 LLM에서 바로 조회하는 MCP 서버. 법령·판례·조례 검색과 인용 검증 | MCP server for Korean law — search statutes, precedents, and ordinances, and verify citations

Topics

Resources

Contributing

Stars

2.8k stars

Watchers

10 watching

Forks

Latest commit

 

History

480 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Korean Law MCP

법제처 42개 API를 10개 도구로. 법령·판례·행정규칙·자치법규·조약·해석례(국세청 포함) 조회와 AI 답변의 인용 검증을 AI 어시스턴트나 터미널에서 바로 사용.

npm version MCP 1.27 License: MIT MCP Registry

조코헌트 주간 1등 Top 1 위너

법제처 Open API 기반 MCP 서버 + CLI. Claude Desktop, Cursor, Windsurf, Zed, Claude.ai 등에서 바로 사용 가능.

English

바로 쓰기: Claude.ai 커넥터에 https://mcp.gomdori.app/law?oc=본인키 한 줄, Claude Code는 플러그인 두 줄 → 설치 및 사용법

VS Code·Cursor는 버튼 한 번으로 연결됩니다(키 없이 공용 한도로 동작, 본인 키는 주소 끝에 ?oc=본인키).

VS Code에 설치 Cursor에 설치

쓸모 있었다면 GitHub ⭐ 하나 눌러주세요. 다른 사람이 이 도구를 찾는 데 도움이 됩니다.

국가법령정보 MCP 활용하기 — 영상 보기

▶ 클릭하면 유튜브에서 재생됩니다.

AI에 연결하기

Claude에 연결하기 ChatGPT에 연결하기
Claude에 법령MCP 연결하기 GPT에 법령MCP 연결하기

최근 업데이트

현재 버전 v4.15.13. 수치는 모두 CHANGELOG의 실측 기록에서 옮김.

버전 주요 변경 변화
4.15.13 Claude Code 플러그인이 로컬 npx 대신 공개 서버(mcp.gomdori.app/law)에 연결, 키는 선택 설치 없음
4.15.12 도구 사이 안내(예: 여러 법령 감시는 search_law_bulk)를 도구 설명에서 서버 안내문(instructions)으로 옮김 같은 질문 4개에서 고르는 도구 동일
4.15.11 노출 도구 10개에 사람용 제목(title·annotations.title) 추가: 클라이언트 승인 창에 "법령 검색"처럼 표시 제목 0개 → 10개
4.15.10 국세청 법령해석 본문 조회: 검색 결과의 본문조회ID(ntstDcmId)로 get_decision_text(domain="nts") — 요지·회신·본문 (#178) 목록·링크만 → 본문까지
4.15.9 노동 행정 결정례 3종 추가: 고용노동부 질의회시(moel)·산재보험재심사(iaciac)·고용보험심사(eiac). 기여 @adfakdjk332 (#175) 새로 닿는 자료 9,636건·934건·118건

이전 버전 전체 내역은 CHANGELOG.md 참조. 대표 이정표:

  • v4.14.1: 조문 1개 조회 3.1초 → 0.24초(13배), 인용 15건 검증 ✓0 → ✓15
  • v4.13.0: 준법 등록부 감시 search_law 98회 호출 → search_law_bulk 1~2회
  • v4.4.0: 노출 도구 19개 → 9개, 도구 목록 컨텍스트 ~15.1KB → ~7.2KB (52% 감축)
  • v3.4.0: 판례·헌재·행심 응답 토큰 평균 74% 감축

왜 만들었나

대한민국에는 1,600개 이상의 현행 법률, 10,000개 이상의 행정규칙, 그리고 대법원·헌법재판소·조세심판원·관세청까지 이어지는 방대한 판례 체계가 있습니다. 이 모든 게 법제처라는 하나의 사이트에 있지만, 개발자 경험은 최악입니다.

이 프로젝트는 그 전체 법령 시스템을 10개 도구로 감싸서, AI 어시스턴트나 스크립트에서 바로 호출할 수 있게 만듭니다. 법제처를 수백 번 수동 검색하다 지친 공무원이 만들었습니다.


설치 및 사용법

공식 MCP 레지스트리 등재: io.github.chrisryugj/korean-law-mcp

0단계: API 키 발급 (무료, 1분)

**법제처 Open API 인증키(OC)**를 먼저 발급받으세요. 로컬 설치(방법 4·5)는 키가 꼭 있어야 하고, 공개 서버를 쓰는 방법(1~3)은 키 없이도 공용 한도로 동작합니다.

법제처 Open API 신청 페이지 접속 → 회원가입·로그인 → "Open API 사용 신청" → 신청서 작성 시 인증키(OC) 발급 (예: honggildong). 이 인증키를 아래 설정에서 사용.

방법 1: Claude Code 플러그인 (한 줄 설치, 가장 쉬움) ⚡

Claude Code를 쓴다면 두 줄이면 끝. API 키는 설치 중 자동으로 물어봅니다.

/plugin marketplace add chrisryugj/korean-law-mcp
/plugin install korean-law@korean-law-marketplace

설치 중 법제처 API 키를 묻습니다 (0단계에서 발급받은 honggildong 같은 키, 민감정보로 저장). 비워 두면 공용 한도로 동작합니다. 이후 Claude Code에 자연어로 질문하면("근로기준법 제74조 알려줘", "민법 제750조 판례 검증해줘") korean-law MCP 도구가 자동 호출됩니다. 새 버전은 한 줄로 최신화:

/plugin marketplace update korean-law-marketplace

플러그인은 공개 서버 https://mcp.gomdori.app/law 에 연결합니다(내 컴퓨터에 아무것도 설치하지 않음). 키는 apikey 헤더로 보냅니다. 서버를 거치지 않으려면 방법 4의 로컬 설치를 쓰세요.

Troubleshooting: Permission denied (publickey) 에러

설치 중 git@github.com: Permission denied (publickey).가 뜨면 설치기가 GitHub에 SSH로 접속했는데 SSH 키가 없는 경우 (처음 Git을 쓰는 비개발자·법률 실무자에게 자주 발생). 둘 중 하나로 해결:

  1. HTTPS로 강제 우회 (가장 간단, 추천): 아래 한 줄 실행 후 다시 /plugin install. 설치 후에도 그대로 둬도 무방 (HTTPS clone이 항상 동작)
    git config --global url."https://github.com/".insteadOf "git@github.com:"
  2. SSH 키 생성 후 등록: SSH를 자주 쓸 예정이라면
    ssh-keygen -t ed25519 -C "your-email@example.com"   # 엔터 3번
    cat ~/.ssh/id_ed25519.pub                            # 출력 복사
    복사한 공개키를 GitHub → Settings → SSH and GPG keys → New SSH key에 붙여넣기

방법 2: Claude.ai 웹에서 바로 사용 (설치 없음)

아무것도 설치하지 않고 주소 하나만 입력. Claude Pro/Max/Team/Enterprise 요금제 필요 (Free는 커넥터 1개만 가능).

  1. claude.ai 로그인 → 왼쪽 사이드바 하단 본인 이름 → 설정(Settings) → 커넥터(Connectors)

  2. 커스텀 커넥터 추가 → 이름 korean-law(아무거나 OK), URL은 아래 주소 (honggildong을 0단계에서 발급받은 본인 인증키로 교체)

    https://mcp.gomdori.app/law?oc=honggildong
    
  3. 추가 → 커넥터 구성(Configure)에서 모든 도구를 항상 사용(Always allow)으로 설정 (매번 승인 불필요, 중요)

  4. 채팅에서 "근로기준법 제74조 알려줘" 입력

커넥터 URL을 수정하려면 삭제 후 다시 추가. 프로필 선택 불필요(10개 도구가 42개 API 전체 커버), 기존 ?profile=lite&oc=... 주소도 그대로 작동.

방법 3: AI 데스크톱 앱에서 사용 (설치 없음)

Claude Desktop, Cursor, Windsurf 같은 데스크톱 앱을 쓰고 있다면, 설정 파일에 아래 내용을 추가하세요.

설정 파일 위치 찾기:

앱 이름 Windows Mac
Claude Desktop %APPDATA%\Claude\claude_desktop_config.json ~/Library/Application Support/Claude/claude_desktop_config.json
Cursor 프로젝트 폴더 안 .cursor/mcp.json 프로젝트 폴더 안 .cursor/mcp.json
Windsurf 프로젝트 폴더 안 .windsurf/mcp.json 프로젝트 폴더 안 .windsurf/mcp.json

Claude Desktop

Claude Desktop은 원격 HTTP MCP 서버를 직접 연결하지 못하므로 mcp-remote 어댑터를 통해 연결합니다. Node.js 18 이상이 필요합니다 (npx 사용을 위해).

{
  "mcpServers": {
    "korean-law": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.gomdori.app/law?oc=honggildong"
      ]
    }
  }
}

honggildong을 본인 인증키로 바꾸세요. Node.js를 설치하기 싫다면 방법 4의 로컬 설치를 사용하세요.

Cursor, Windsurf 등 (원격 HTTP 지원 클라이언트)

{
  "mcpServers": {
    "korean-law": {
      "url": "https://mcp.gomdori.app/law?oc=honggildong"
    }
  }
}

이미 다른 MCP 서버가 설정되어 있다면, "mcpServers": { ... } 안에 "korean-law": { ... } 부분만 추가하면 됩니다.

저장 후 앱을 재시작하면 법령 도구가 활성화됩니다.

방법 4: 내 컴퓨터에 직접 설치 (오프라인 가능)

인터넷 없이 쓰고 싶거나, 원격 서버를 거치지 않으려면 직접 설치할 수 있습니다.

사전 준비: Node.js 20.19 이상이 설치되어 있어야 합니다 (22.12 이상 권장).

자동 설치 (추천):

npx --ignore-scripts --omit=optional korean-law-mcp setup

설치 마법사가 API 키 입력 → AI 클라이언트 선택 → 설정 파일 자동 등록까지 한 번에 처리합니다. Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Gemini CLI, Zed, Antigravity를 지원합니다. 현재 폴더에 쓰는 설정(Claude Code .mcp.json, VS Code .vscode/mcp.json)은 git에 커밋될 수 있어 키를 평문으로 넣지 않습니다. Claude Code는 ${LAW_OC} 참조를 넣으니 셸 설정에 export LAW_OC=발급받은키를 추가하고, VS Code는 처음 실행할 때 키를 묻습니다.

수동 설치:

npm install --ignore-scripts --omit=optional -g korean-law-mcp

AI 앱 설정 파일에 아래 내용을 추가합니다 (honggildong을 본인 인증키로 바꾸세요):

{
  "mcpServers": {
    "korean-law": {
      "command": "korean-law-mcp",
      "env": {
        "LAW_OC": "honggildong"
      }
    }
  }
}

앱을 재시작하면 완료!

방법 5: 터미널(CLI)에서 직접 사용

개발자라면 터미널에서 직접 법령을 검색할 수 있습니다.

# 설치
npm install --ignore-scripts --omit=optional -g korean-law-mcp

# 인증키 설정 (honggildong을 본인 키로 바꾸세요)
export LAW_OC=honggildong        # Mac/Linux
set LAW_OC=honggildong           # Windows CMD
$env:LAW_OC="honggildong"       # Windows PowerShell

# 사용 예시
korean-law "민법 제1조"                    # 자연어로 바로 조회
korean-law search_law --query "관세법"     # 도구 직접 호출
korean-law list                            # 전체 도구 목록
korean-law list --category 판례            # 카테고리별 필터
korean-law help search_law                 # 도구별 도움말

API 키 전달 방법 정리

여러 방법으로 인증키를 전달할 수 있습니다. 위에서부터 우선 적용됩니다:

방법 사용법 언제 쓰나
URL에 포함 주소 끝에 ?oc=내키 웹 클라이언트에서 가장 간편
HTTP 헤더 apikey: 내키 프로그래밍으로 연동할 때
환경변수 LAW_OC=내키 로컬 설치(방법 4, 5)
도구 파라미터 apiKey: "내키" 특정 요청만 다른 키 쓸 때

키 없이 공개 서버(mcp.gomdori.app/law)를 쓰면 무키 사용자 전원이 공유하는 서버 키 한도를 거침. 자체 키를 넘기면 이 한도와 무관함(무료 발급: https://open.law.go.kr).

법제처 API 프로토콜 설정

법제처 API 호출은 기본 HTTPS. 사내망·폐쇄망 등 인증서 검증이 어려운 환경에서는 LAW_API_PROTOCOL=http로 HTTP 호출 가능. 허용값은 http, https이며 설정하지 않거나 다른 값이면 https. MCP 클라이언트 설정의 env 블록에 넣는 방식이 가장 명확합니다:

{
  "mcpServers": {
    "korean-law": {
      "command": "korean-law-mcp",
      "env": {
        "LAW_OC": "honggildong",
        "LAW_API_PROTOCOL": "http"
      }
    }
  }
}

터미널 환경변수나 .env 파일(LAW_OC=honggildong 다음 줄에 LAW_API_PROTOCOL=http)도 가능:

export LAW_API_PROTOCOL=http        # Mac/Linux
set LAW_API_PROTOCOL=http           # Windows CMD
$env:LAW_API_PROTOCOL="http"       # Windows PowerShell

국세청 판례 서버 TLS/프록시 설정

국세청 출처 판례 본문은 법제처 JSON 응답에 없을 때, 국세청 법령해석(nts) 본문은 항상 taxlaw.nts.go.kr을 조회합니다. 이 서버는 HTTP로 접근해도 HTTPS로 리다이렉트되므로, LAW_API_PROTOCOL=http와 별개로 Node.js 런타임이 https://taxlaw.nts.go.kr 인증서를 신뢰해야 합니다. 사내망·폐쇄망·SSL inspection 프록시 뒤에서는 브라우저로는 열려도 Node.js fetch()만 [EXTERNAL_API_ERROR] fetch failed로 실패할 수 있습니다(인증서 저장소·프록시 설정이 다름). 먼저 Node.js 기준으로 연결을 확인하세요:

node -e "fetch('https://taxlaw.nts.go.kr/qt/USEQTA002P.do?ntstDcmId=200000000000019303').then(r=>console.log(r.status,r.url)).catch(e=>console.error(e.name,e.message,e.cause))"

별도 웹 프록시를 거쳐야 한다면 프록시 주소를 설정합니다(국세청 판례 본문 fallback·국세청 법령해석 본문의 외부 HTTPS 연결에 적용). Windows 시스템 환경변수는 관리자 권한 터미널에서 setx로 등록하고, 적용 후 Windows 또는 Node.js 프로세스를 재시작하세요:

LAW_EXTERNAL_HTTPS_PROXY=http://proxy-host:8080
setx LAW_EXTERNAL_HTTPS_PROXY http://proxy-host:8080 /M

프록시 경로에서도 사내 인증서 검증 문제가 남으면, 원인 확인용으로만 이 프로젝트의 외부 HTTPS 프록시 경로에 한해 TLS 인증서 검증을 임시로 끌 수 있습니다. 운영 상시 설정으로 쓰지 마세요. 두 번째 줄은 진단 후 제거:

setx LAW_EXTERNAL_TLS_REJECT_UNAUTHORIZED 0 /M
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v LAW_EXTERNAL_TLS_REJECT_UNAUTHORIZED /f

사용 예시

기본 조회

"관세법 제38조 알려줘"
→ search_law("관세법") → MST 획득 → get_law_text(mst, jo="003800")

"화관법 최근 개정 비교"
→ "화관법" → "화학물질관리법" 자동 변환 → compare_old_new(mst)

"근로기준법 제74조 해석례"
→ search_interpretations("근로기준법 제74조") → get_interpretation_text(id)

"산업안전보건법 별표1 내용 알려줘"
→ get_annexes(lawName="산업안전보건법 별표1") → HWPX 파일 다운로드 → 표/텍스트 Markdown 변환

약칭이 다른 말과 붙어도 풀어서 검색함: 화관법 시행령 → 화학물질관리법 시행령, 중처법 제4조 책임자 → 중대재해 처벌 등에 관한 법률 제4조 책임자.

자연어로 복합 분석 (시나리오)

자연어로 물으면 질문에 맞는 추가 분석이 자동으로 붙음. 시나리오는 쿼리 키워드에서 자동 감지되거나 scenario 파라미터로 직접 지정.

이렇게 물으면 이런 결과
"식품위생법 영업정지 과태료 감경 가능?" 처분 기준표(1·2·3차 금액) + 벌칙 조항 + 감경된 행정심판 사례 + 개정 이력
"수입 통관 FTA 적용 확인" 관세법 + 관세청 유권해석 + FTA 조약 원문 + 세율 별표 + 조세심판원 판결
"건축법 허가 절차" 법률→시행령→시행규칙 근거 + 수수료·서식 + 훈령·예규·고시 + 조례 특칙 + 유권해석
"건축법 영향도 분석" 하위법령 + 영향받는 전국 자치법규 + 관련 행정규칙
"국민건강보험법 위임입법" "시행령으로 정한다" 조항 중 아직 시행령이 없는 것
"주차 조례 상위법 적합성" 헌재 위헌 결정 + 행정심판 취소 사례 + 상위법 근거 대조
"근로기준법 개정이력 타임라인" 신구대조표 + 조문별 개정 이력 + 판례·해석례 시간순 정리

모든 결과 끝에 **"이어서 할 수 있는 조회"**가 제안됨.

검증·분석 기능

기능 이렇게 물으면 하는 일
verify_citations AI가 쓴 법률 답변 붙여넣기 인용 조문·판례를 법제처 DB와 대조: 실존 ✓ / 없음 ✗(존재 범위 제시) / 제목 불일치 [CONTENT_MISMATCH] / 폐지 ⌛ REPEALED
cite_check "2007다27670 아직 유효해?" 그 사건번호를 인용한 후속 판례를 본문검색으로 역추적, 전원합의체 판결의 변경·폐기 선언("…변경하기로 한다") 감지
applicable_law "2023.5.10 당시 도로교통법 제44조" 기준일 시행 버전(MST) 특정 → 그 시점 조문 → 현행 비교 → 이후 개정 부칙의 적용례·경과조치 발췌. 옛 법령명·고시도 처리
impact_map "민법 제103조 인용한 판례" 판례·헌재·해석례·행정심판·자치법규 역방향 탐색 + 인용 법령 정방향 + mermaid 그래프
time_travel "개인정보보호법 2020-01-01 vs 2025-11-01" 두 시점 본문을 조문 단위로 diff: 추가(+)·삭제(-)·변경(△)
action_plan "전세금 못 받았어" 상황진단 → 권리·구제수단 → 신청기관·기한 → 필요서류·양식 → 함정·주의, 5단계 안내
ordinance_radar "광진구 주차장 조례" 조례 제1조(목적)에서 근거 상위법 추출 → 상위법 현행 시행일과 조례 시행일 대조 → 정비 검토 대상 표시

verify_citations 실제 결과 예시:

"민법 제750조 … 근로기준법 제60조 제1항 … 상법 제401조의2 제7항 … 형법 제9999조"

✓ 민법 제750조(불법행위의 내용) 실존
✓ 근로기준법 제60조(연차 유급휴가) 제1항 실존
✗ 상법 제401조의2 — 제7항 없음 (최대 제2항)
✗ 형법 제9999조 — 해당 조문 없음 (존재 범위: 제1조~제372조)

자주 쓰는 옵션

하고 싶은 일 호출
부칙(시행일·경과조치) 보기 get_law_text(mst, jo="부칙")
특정 날짜 기준 본문 get_law_text(mst, efYd=기준일): 시행일이 아닌 날짜(오늘·사건일)도 그날 시행 버전으로 보정
그날 시행 중이던 별표 get_annexes(lawName, date)
판례명·본문검색 병행 search_decisions(domain="precedent", options={search:"both"})
긴 행정규칙의 일부만 get_admin_rule의 jo:"제9-5조"·chapter:"제9장"·keyword:"해외직접투자"·page:2
법령 여러 건 변경 감시 execute_tool(tool_name="search_law_bulk"): 법령명 배열 + previous={법령ID: 직전 MST}이면 MST가 바뀐 법령만 반환
판례 전문(축약 해제) get_decision_text(..., full=true)

도구 구조 (10개)

노출 도구는 10개. chain_* 8개는 legal_research의 task로, 분석 기능 4개는 legal_analysis의 mode로 통합. 나머지 전문 도구는 discover_tools → execute_tool로 접근하며, 기존 도구명 직접 호출도 하위호환으로 동작.

구분 도구 설명
리서치 (1) legal_research 다단계 법령 리서치: task 8종 선택 (아래 표)
정밀분석 (1) legal_analysis 검증·분석: mode 4종 선택 (아래 표)
법령 (3) search_law 법령 검색 → lawId, MST 획득
get_law_text 조문 전문 조회 (jo="부칙"으로 부칙)
get_annexes 별표/서식 조회 (금액표·요율표·별지서식, date 로 그날 시행 버전의 별표)
자치법규 (1) ordinance_radar 조례 정비 레이더: 근거 상위법 개정 자동 대조
통합 (2) search_decisions 21개 도메인 통합 검색 (판례·헌재·조세심판·관세·국세청·고용노동부 해석·공정위·노동위·산재보험재심사·고용보험심사·해석례·행심·개인정보위·권익위·소청심사·학칙·공사공단·공공기관·조약·영문법령)
get_decision_text 21개 도메인 전문 조회
메타 (2) discover_tools 전문 도구 검색 (용어·별표·이력·비교 등)
execute_tool 전문 도구 프록시 실행

legal_research task 8종 (구 chain_*)

task 설명 시나리오 확장
full_research (기본) 종합 리서치 (AI검색→법령→판례→해석) customs: 관세·통관 종합 / action_plan: 이럴 땐 이렇게, 5단계 안내
law_system 법체계 분석 (3단비교, 위임구조) delegation: 위임입법 감시 / impact: 영향도 분석
action_basis 처분 근거 확인 (허가·인가·처분) penalty: 처분·벌칙 기준 종합
dispute_prep 쟁송 대비 (불복·소송·심판) domain: tax/labor/privacy/competition
amendment_track 개정 추적 (신구대조, 연혁) timeline: 시계열 타임라인 / time_travel: 두 시점 자동 diff
ordinance_compare 조례 비교 (상위법→전국 조례) compliance: 상위법 적합성 검증
procedure_detail 절차·비용·서식 안내 manual: 공무원 처리 매뉴얼
document_review 계약서·약관 리스크 분석 (text 필수) —

legal_analysis mode 4종

mode 설명 필수 파라미터
verify_citations LLM 환각 방지: 인용 조문·판례 실존 + 조문 제목 일치 검증 text
cite_check 판례 생사 확인: 후속 인용 역추적 + 변경·폐기 감지 (한국형 Citator) caseNumber
applicable_law 행위시법 판단: 시점 적용 버전 + 부칙 경과규정 발췌. 옛 법령명·행정규칙(고시)도 lawName, date
impact_map 조문 영향 그래프: 인용 판례·해석·자치법규 역방향 탐색 + mermaid lawName, jo

전체 도구 상세는 docs/API.md 참조.


주요 특징

  • 42개 API → 10개 도구: 법령, 판례, 행정규칙, 자치법규, 헌재결정, 조세심판, 관세해석, 국세청 해석례, 조약, 학칙/공단/공공기관 규정, 법령용어
  • MCP + CLI: Claude Desktop에서도, 터미널에서도 같은 도구 사용
  • 법률 도메인 특화: 약칭 자동 인식(화관법 → 화학물질관리법), 조문번호 변환(제38조 ↔ 003800), 3단 위임 구조 시각화
  • 현행성 안내: 검색 결과에 [현행]/⚠️[연혁-과거버전] 라벨, 시행예정 개정·제명변경 병기, 폐지 법령은 폐지 사유와 후속 통합 규정 안내
  • 과거 시점 그대로: 법령ID로 버전을 이어 붙여 법령명이 바뀌기 전 시절까지 조회
  • 실패를 "없음"으로 답하지 않음: 조회 실패·점검 페이지·예산 초과는 [NOT_FOUND] 등 명시 마커로 구분
  • 별표/별지서식 본문 추출: HWPX·HWP·PDF·XLSX·DOCX 자동 변환 (kordoc 엔진)
  • 8개 체인 + 9개 시나리오: 기본 체인에 상황별 확장 분석 자동 추가 (과태료 감경, 관세 통관, 위임입법 감시 등)
  • 21개 도메인 통합 검색: search_decisions 하나로 판례·헌재·조세심판·공정위·노동위 등 즉시 접근
  • 캐시: 검색 1시간, 조문 24시간 TTL
  • 원격 엔드포인트: 설치 없이 https://mcp.gomdori.app/law로 바로 사용 (구 korean-law-mcp.fly.dev/mcp도 하위호환 유지)

HTTP·실행 경계 설정

  • HTTP 기본 바인딩은 MCP_HTTP_HOST=127.0.0.1, 프록시 신뢰 기본값은 TRUST_PROXY=false입니다. 외부 바인딩은 MCP_AUTH_TOKEN을 설정해야 하며, 의도적으로 공개할 때만 MCP_ALLOW_UNAUTHENTICATED_REMOTE=1을 명시합니다. 프록시 뒤에서는 TRUST_PROXY=1처럼 정확한 hop 수를 설정하세요.
  • 브라우저(웹) 클라이언트를 쓸 때는 ALLOWED_ORIGINS를 설정하세요. MCP 명세가 요구하는 Origin 검증(DNS rebinding 방어) 때문에, Origin 헤더가 붙은 요청은 ALLOWED_ORIGINS 화이트리스트(콤마 구분)에 있는 출처만 통과합니다. ALLOWED_ORIGINS를 비워 두면 CORS_ORIGIN이 대신 기준이 됩니다(*면 모든 출처, 아니면 그 출처 하나). 둘 다 설정하지 않으면 브라우저 요청은 모두 차단되고 시작 시 안내가 출력됩니다. ALLOWED_ORIGINS를 설정하면 CORS_ORIGIN은 출처 판정에 쓰이지 않습니다.
  • ALLOW_QUERY_API_KEY=0이면 URL 쿼리(?oc=키)로는 API 키를 전달할 수 없습니다. 쿼리 키는 프록시/엣지 액세스 로그에 평문으로 남으므로 폐쇄망이나 로그 수집 환경에서 권장합니다. 헤더(apikey·law_oc 등) 전달은 계속 동작합니다.
  • ACCESS_LOG=1이면 요청 로그를 기록합니다. 쿼리스트링의 oc= API 키 유출을 막기 위해 경로만 기록합니다.
  • RATE_LIMIT_RPM=0은 IP별 제한만 끕니다. MCP_MAX_BATCH_CALLS(기본 20), 요청 본문, upstream 시도/응답 본문, 도구 응답 제한은 계속 적용됩니다. FALLBACK_DAILY_CAP은 서버 키 폴백의 하루 총량 캡(0이면 비활성, 기본).
  • MCP_MAX_BODY_BYTES, MCP_MAX_UPSTREAM_REQUESTS(기본 48), MCP_MAX_UPSTREAM_BODY_BYTES, MCP_MAX_TOTAL_UPSTREAM_BODY_BYTES, MCP_MAX_TOOL_RESPONSE_CHARS는 시작 시 정수로 검증되며 잘못된 값은 서버 시작을 실패시킵니다. 기존 MCP_BODY_LIMIT=100kb도 호환됩니다.
  • MCP_CHAIN_DEADLINE_MS(기본 45초): 체인 한 건의 시간 한도. 만료되면 받은 갈래까지 조립한 부분 결과를 반환하고 못 받은 자리는 마커로 표시.
  • LAW_USER_AGENT·LAW_REFERER: 법제처 호출에 붙는 User-Agent·Referer 기본값을 바꿀 때만 설정.
  • get_batch_articles는 최대 20개 법령·총 100개 조문으로 제한됩니다. HTTP 연결 종료 또는 MCP 취소는 fetch, 재시도 대기, 응답 본문 읽기까지 전파됩니다. JSON-RPC 배치 항목은 예산만 공유하고 취소 신호는 서로 분리됩니다.
  • publish 전 build/를 삭제하고 실제 pack 파일과 exports를 검증합니다. kordoc는 별표 PDF/HWP 파싱에 실제 사용되므로 유지하고, 필요한 pure-JS pdfjs-dist@4.10.38만 일반 의존성으로 고정합니다. 플러그인·문서·Docker 설치는 --omit=optional --ignore-scripts로 OCR/ML/native 선택 의존성을 제외합니다. CI·게시 workflow는 개발 도구의 optional binding을 설치하되 script는 끈 상태로 검증한 뒤, production graph로 prune하고 PDF 별표 smoke test를 실행합니다. transitive scanner 경고는 실제 도달 가능한 서버 경로와 구분해 평가합니다.

문서

자주 묻는 질문

Q. Claude·ChatGPT에서 한국 법령·판례를 검색하려면? 이 MCP 서버를 연결합니다. Claude.ai는 커넥터 주소 https://mcp.gomdori.app/law?oc=본인키 하나면 되고, Claude Desktop·Cursor·Windsurf·Zed는 설치 및 사용법, ChatGPT는 연결 영상을 따르세요.

Q. 무료인가요? MIT 라이선스 오픈소스입니다. 필요한 법제처 Open API 인증키도 무료로 발급됩니다(0단계).

Q. AI가 지어낸 조문·판례를 걸러낼 수 있나요? legal_analysis(mode="verify_citations")가 답변 속 법령 조문과 판례 번호를 법제처 원문과 대조해 실존 여부와 내용 일치를 확인합니다. 판례가 아직 유효한지는 mode="cite_check"로 봅니다.

Q. 어디까지 조회되나요? 법령, 판례, 행정규칙, 자치법규(조례·규칙), 조약, 법령해석례(국세청 포함)와 별표·서식입니다. 과거 시점 법령과 폐지 법령의 후속 규정도 찾습니다.

Star History

Star History Chart

데이터 출처

법령·판례·행정규칙·자치법규·조약·해석례 본문은 법제처 국가법령정보센터 OPEN API (https://open.law.go.kr/)에서 조회합니다. 국세청 해석례는 국세법령정보시스템을 사용합니다.

법적 효력이 필요한 판단에는 반드시 국가법령정보센터 원문을 확인하세요. 이 도구는 조회 결과를 가공·요약할 수 있습니다.

API 인증키(LAW_OC)는 법제처에서 각자 발급받아야 하며, 발급받은 본인만 사용할 수 있습니다.

라이선스

MIT

제3자 구현 참조 및 데이터 출처 고지는 NOTICE를 참조하세요.


Made by 류주임 @ 광진구청 AI동호회 AI.Do

About

법제처 국가법령정보를 LLM에서 바로 조회하는 MCP 서버. 법령·판례·조례 검색과 인용 검증 | MCP server for Korean law — search statutes, precedents, and ordinances, and verify citations

Topics

Resources

Contributing

Stars

2.8k stars

Watchers

10 watching

Forks

Releases

Packages

Contributors

Languages