Korean Law MCP Server
Enables real-time search and analysis of Korean laws, legal precedents, and administrative rules through the National Law Information Center Open API, allowing AI agents to access official legal information for contract review, compliance, and legal research.
README
🏛️ 한국 법률/판례 검색 MCP 서버
국가법령정보센터 Open API를 활용한 고성능 MCP (Model Context Protocol) 서버입니다.
AI 에이전트(Claude Desktop, Cursor 등)가 실시간으로 한국 법령, 판례, 행정규칙을 검색하고 분석할 수 있도록 합니다.
✨ 주요 기능
🔍 법령 검색
- 키워드 기반 법령 검색: 민법, 상법, 근로기준법 등 다양한 법령 검색
- 법령 상세 조회: 특정 법령의 전문(조문) 및 상세 정보 조회
- 법령 기본 정보: 소관부처, 공포일자, 시행일자, 개정 정보 포함
⚖️ 판례 검색
- 판례 키워드 검색: 손해배상, 계약, 부당해고 등 판례 검색
- 판례 상세 조회: 판결요지, 판시사항, 판례 전문 조회
- 법원 필터링: 대법원, 헌법재판소 등 법원별 필터링 지원
- 참조조문/판례: 관련 법령 및 참조 판례 정보 제공
📋 행정규칙 검색
- 행정규칙 검색: 각 부처의 행정규칙 검색
- 소관부처 정보: 제정일자, 시행일자 등 상세 정보
🚀 성능 최적화
- 전략적 캐싱: 법령/판례 데이터를 24시간 캐싱하여 API 호출 최소화
- 빠른 응답 속도: 캐시 기반 즉시 응답
- 안정적인 운영: 에러 핸들링 및 로깅 시스템
🎯 활용 사례
법률 전문가
- 계약서 검토: AI가 계약서를 분석하고 관련 법령 및 판례를 자동 참조
- 법률 자문: 특정 사안에 대한 관련 법령 및 판례를 즉시 조회
- 판례 연구: 유사 판례를 빠르게 검색하고 비교 분석
기업 법무팀
- 기업 컴플라이언스: 사업 관련 법령을 실시간 조회
- 노무 관리: 근로기준법 등 노동 관련 법령 및 판례 검색
- 소송 준비: 관련 판례 및 법령 자동 수집
스타트업/개발자
- 서비스 법률 검토: 개인정보보호법, 전자상거래법 등 관련 법령 확인
- 약관 작성: 관련 법령을 참조하여 약관 작성
- 법률 리스크 분석: AI가 서비스 기획서를 분석하고 관련 법률 리스크 파악
일반 사용자
- 법률 상담: AI 에이전트를 통한 기본적인 법률 정보 조회
- 권리 확인: 소비자 권리, 임차권 등 관련 법령 및 판례 검색
- 민원 준비: 행정심판, 소송 준비를 위한 법률 정보 수집
🛠️ 기술 스택
- MCP Framework: FastMCP
- Data Validation: Pydantic
- HTTP Client: Requests
- XML Parsing: xml.etree.ElementTree
- Caching: cachetools (24시간 TTL)
- Async Processing: asyncio
- Environment: Python-dotenv
📦 설치 및 설정
1) 의존성 설치
pip install -r requirements.txt
💡
uv를 사용하는 경우:uv sync
2) API 키 발급
국가법령정보센터 Open API 키를 발급받아야 합니다:
- 국가법령정보센터 Open API 사이트 방문
- 회원가입 및 로그인
- 공동활용 서비스 > Open API 메뉴에서 API 신청
- 승인 후 인증키(OC) 발급받기
📌 참고: API 키 발급은 보통 즉시 승인되며, 무료로 이용 가능합니다.
3) 환경 변수 설정
프로젝트 루트에 .env 파일을 생성하고 API 키를 설정합니다:
cp env.law.example .env
.env 파일 내용:
LAW_API_KEY=your_law_api_key_here
LOG_LEVEL=INFO
PORT=8096
4) 서버 실행
python -m src.law_main
또는 HTTP 서버로 실행:
python src/law_main.py
🐳 Docker 실행
Docker를 사용하여 간편하게 실행할 수 있습니다:
# 이미지 빌드
docker build -t korean-law-mcp:latest .
# 컨테이너 실행
docker run --rm \
-e LAW_API_KEY=your_law_api_key_here \
-p 8096:8096 \
korean-law-mcp:latest
🧰 사용 가능한 도구 (Tools)
1. health
- 설명: 서비스 상태 및 API 키 설정 확인
- 파라미터: 없음
- 반환: 서비스 상태 객체
2. search_law_tool
- 설명: 법령을 키워드로 검색
- 파라미터:
query(string, 필수): 검색할 법령 키워드 (예: '민법', '상법')page(integer, 선택): 페이지 번호 (기본값: 1)page_size(integer, 선택): 페이지당 결과 수 (기본값: 10, 최대: 50)
- 반환: 검색된 법령 목록 (법령명, 소관부처, 공포일자, 시행일자 등)
예시 응답:
{
"total": 152,
"page": 1,
"page_size": 10,
"laws": [
{
"법령ID": "001122",
"법령명": "민법",
"법령구분": "법률",
"소관부처": "법무부",
"공포일자": "19580222",
"시행일자": "19600101"
}
]
}
3. get_law_detail_tool
- 설명: 특정 법령의 상세 정보 및 전문(조문) 조회
- 파라미터:
law_id(string, 필수): 법령 ID (법령 검색 결과에서 얻은 법령ID)
- 반환: 법령의 상세 정보와 모든 조문 내용
예시 응답:
{
"법령ID": "001122",
"법령명": "민법",
"법령구분": "법률",
"소관부처": "법무부",
"공포일자": "19580222",
"시행일자": "19600101",
"조문수": 1118,
"조문": [
{
"조문번호": "제1조",
"조문제목": "법원",
"조문내용": "민사에 관하여 법률에 규정이 없으면..."
}
]
}
4. search_precedent_tool
- 설명: 판례를 키워드로 검색
- 파라미터:
query(string, 필수): 검색할 판례 키워드 (예: '손해배상', '계약')page(integer, 선택): 페이지 번호 (기본값: 1)page_size(integer, 선택): 페이지당 결과 수 (기본값: 10, 최대: 50)court(string, 선택): 법원 구분 (예: '대법원', '헌법재판소')
- 반환: 검색된 판례 목록
예시 응답:
{
"total": 2453,
"page": 1,
"page_size": 10,
"precedents": [
{
"판례일련번호": "202012345",
"사건명": "손해배상(기)",
"사건번호": "2020다123456",
"선고일자": "20201015",
"선고": "파기환송",
"법원명": "대법원",
"사건종류명": "민사",
"판시사항": "...",
"판결요지": "..."
}
]
}
5. get_precedent_detail_tool
- 설명: 특정 판례의 상세 정보 조회
- 파라미터:
precedent_id(string, 필수): 판례 일련번호
- 반환: 판례의 상세 정보 (판결요지, 참조조문, 판례 전문 등)
예시 응답:
{
"판례일련번호": "202012345",
"사건명": "손해배상(기)",
"사건번호": "2020다123456",
"선고일자": "20201015",
"선고": "파기환송",
"법원명": "대법원",
"판시사항": "...",
"판결요지": "...",
"참조조문": "민법 제750조, 제751조",
"참조판례": "대법원 2019다234567...",
"판례내용": "【전문】..."
}
6. search_administrative_rule_tool
- 설명: 행정규칙을 키워드로 검색
- 파라미터:
query(string, 필수): 검색할 행정규칙 키워드page(integer, 선택): 페이지 번호 (기본값: 1)page_size(integer, 선택): 페이지당 결과 수 (기본값: 10, 최대: 50)
- 반환: 검색된 행정규칙 목록
💡 사용 예시
Claude Desktop에서 사용
- Claude Desktop 설정 파일 (
claude_desktop_config.json) 수정:
{
"mcpServers": {
"korean-law": {
"command": "python",
"args": ["-m", "src.law_main"],
"env": {
"LAW_API_KEY": "your_api_key_here"
}
}
}
}
-
Claude Desktop 재시작
-
Claude에게 질문:
- "민법 제750조에 대해 알려줘"
- "부당해고 관련 판례 찾아줘"
- "개인정보보호법 검색해줘"
Cursor에서 사용
Cursor의 MCP 설정에서 위와 동일하게 추가하면 됩니다.
📁 프로젝트 구조
korean-law-mcp/
├── src/
│ ├── __init__.py
│ ├── law_main.py # MCP 서버 메인 파일
│ └── law_tools.py # 법률 API 호출 도구
├── .env # 환경 변수 파일 (API 키 등)
├── env.law.example # 환경 변수 예시 파일
├── requirements.txt # Python 의존성
├── README_LAW.md # 프로젝트 문서 (이 파일)
└── pyproject.toml # 프로젝트 설정
🚀 로드맵
- [ ] 법령 개정 이력 조회
- [ ] 법령/판례 전문 PDF 다운로드
- [ ] 자연어 기반 법령 해석
- [ ] 법령 비교 분석 기능
- [ ] 판례 유사도 분석
- [ ] 법률 용어 사전
💰 비즈니스 모델
이 MCP 서버는 판매용 제품으로 개발되었습니다:
타겟 고객
- 🏢 법률사무소/로펌: 법률 리서치 자동화
- 🏭 기업 법무팀: 컴플라이언스 관리
- 🚀 스타트업: 법률 리스크 분석
- 🎓 법학 연구자: 판례 연구 도구
가격 책정 (참고)
- Basic: 30만원 (기본 검색 기능)
- Pro: 100만원 (AI 분석 기능 추가)
- Enterprise: 200만원+ (커스터마이징, 기술 지원)
차별화 포인트
- ✅ 국가 공식 데이터 활용
- ✅ AI 에이전트 직접 통합
- ✅ 실시간 최신 법령/판례 조회
- ✅ 한국어 완벽 지원
- ✅ 복잡한 API 처리 자동화
📄 라이선스
MIT License
🤝 기여 및 문의
- 이슈: GitHub Issues
- 문의: law-mcp@example.com
- 문서: https://github.com/your-repo/korean-law-mcp
Made with ❤️ for Korean Legal Professionals
국가법령정보센터 Open API를 활용하여 개발되었습니다.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。