MCP Server for Korean Law Open API
Project description
Korean Law MCP Server (대한민국 법령/판례 검색 MCP 서버)
이 프로젝트는 국가법령정보센터(Open API)를 활용하여 대한민국 법령, 판례, 헌재결정례, 행정규칙, 자치법규를 검색하고 상세 내용을 조회할 수 있는 MCP (Model Context Protocol) 서버입니다.
🚀 주요 기능
- 법령 (Statutes): 현행 법령 검색 및 조문 조회
- 판례 (Precedents): 대법원 및 각급 법원 판례 검색 및 판시사항, 판결요지 조회
- 헌재결정례 (Constitutional Court Decisions): 헌법재판소 결정례 검색 및 전문 조회
- 자치법규 (Autonomous Laws): 각 지자체 조례/규칙 검색 및 조문 조회
- 행정규칙 (Administrative Rules): 중앙행정기관 훈령/예규/고시 검색 및 내용 조회
🛠️ 설치 및 설정
1. 사전 요구사항
- Python 3.10 이상
- 국가법령정보센터 Open API ID 필요 (회원가입 및 신청)
2. 설치
프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 의존성을 설치합니다.
# 가상환경 생성 (권장)
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 패키지 설치
pip install -e .
3. 환경 변수 설정
.env 파일을 생성하고 Open API ID를 설정해야 합니다. (또는 실행 시 환경변수로 주입)
# .env 파일 생성 (예시)
cp .env.example .env
# .env 파일 편집하여 OPEN_LAW_ID 입력
📦 배포 및 쉬운 사용 방법 (Easy Usage)
이 프로젝트는 uv 또는 Docker를 통해 쉽게 실행할 수 있도록 구성되어 있습니다.
방법 1: uv 또는 pip를 이용한 직접 실행 (권장)
GitHub 저장소에서 직접 실행할 수 있습니다. (PyPI 배포 시 uvx korean-law-mcp 가능)
# 로컬에 설치된 상태에서 실행 (개발자용)
korean-law-mcp
# Claude Desktop 설정 (Git 저장소 직접 연결)
# uv가 설치되어 있어야 합니다.
Claude Desktop Config (claude_desktop_config.json) 예시:
{
"mcpServers": {
"korean-law": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/korean-law-mcp",
"run",
"korean-law-mcp"
],
"env": {
"OPEN_LAW_ID": "your_actual_api_id"
}
}
}
}
방법 2: Docker 실행
Python 환경 설정 없이 Docker 컨테이너로 실행할 수 있습니다.
# 이미지 빌드
docker build -t korean-law-mcp .
# 실행 (환경변수 주입 필요)
docker run -e OPEN_LAW_ID=your_api_id -i korean-law-mcp
방법 3: PyPI 설치 (권장)
PyPI에 배포된 패키지를 uvx로 바로 실행할 수 있습니다.
# 실행
uvx korean-law-mcp
또는 pip로 설치하여 실행할 수도 있습니다.
pip install korean-law-mcp
korean-law-mcp
📚 제공 도구 (Tools)
이 서버는 다음과 같은 MCP 도구를 제공합니다.
| 도구 이름 (Tool) | 설명 (Description) | 인자 (Arguments) |
|---|---|---|
search_statute |
법령(법률, 시행령 등)을 검색합니다. | query: 검색어 (예: "건축법") |
get_statute_detail |
특정 법령의 상세 내용(조문 등)을 조회합니다. | law_id: 법령 일련번호 (검색 결과의 ID) |
search_precedent |
판례를 검색합니다. | query: 검색어 (예: "사기") |
get_precedent_detail |
특정 판례의 상세 내용(판시사항, 전문 등)을 조회합니다. | prec_id: 판례 일련번호 |
search_prec_const |
헌법재판소 결정례를 검색합니다. | query: 검색어 (예: "위헌") |
get_prec_const_detail |
특정 헌재결정례의 상세 내용을 조회합니다. | detc_id: 헌재결정례 일련번호 |
search_autonomous_law |
자치법규(조례, 규칙)를 검색합니다. | query: 검색어 (예: "서울시 주차") |
get_autonomous_law_detail |
특정 자치법규의 상세 내용을 조회합니다. | law_id: 자치법규 일련번호 |
search_admin_rule |
행정규칙(고시, 훈령)을 검색합니다. | query: 검색어 (예: "식품안전") |
get_admin_rule_detail |
특정 행정규칙의 상세 내용을 조회합니다. | adm_id: 행정규칙 일련번호 |
🖥️ 사용 방법 (Claude Desktop 예시)
claude_desktop_config.json 파일에 다음과 같이 설정을 추가하여 사용할 수 있습니다.
{
"mcpServers": {
"korean-law": {
"command": "uvx",
"args": [
"korean-law-mcp"
],
"env": {
"OPEN_LAW_ID": "your_actual_api_id"
}
}
}
}
또는 pipx를 사용하는 경우:
pipx run korean-law-mcp
또는 직접 Python으로 실행할 경우:
{
"mcpServers": {
"korean-law": {
"command": "python3",
"args": [
"/absolute/path/to/korean-law-mcp/src/main.py"
],
"env": {
"OPEN_LAW_ID": "your_actual_api_id"
}
}
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file korean_law_mcp-0.1.4.tar.gz.
File metadata
- Download URL: korean_law_mcp-0.1.4.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a25c7a19a7d6368d6254cd6d8860a6f5a62dc77b5a2fae38a5845430c3b58ed
|
|
| MD5 |
d3dc8887cc6ae689b109dd78b5c39677
|
|
| BLAKE2b-256 |
45cfee75508be7175476e29c30fe506f0420b07932e60dfa8d0a67f04bb14450
|
File details
Details for the file korean_law_mcp-0.1.4-py3-none-any.whl.
File metadata
- Download URL: korean_law_mcp-0.1.4-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
729df9f0d78e3371587d26d0c7c6ec77e1b8c719de05bc959623ec79e73d4ce7
|
|
| MD5 |
5eeae58c8c0858b4e16568a4bd054b76
|
|
| BLAKE2b-256 |
49158bf05ba3c4a7d26da7a6e8193e10772eff1fbd84d7088ceea01a9e6ce974
|