law-search-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@law-search-mcpsearch precedents about inheritance tax deduction"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
law-search-mcp
한국 법령정보센터(law.go.kr) 공식 Open API를 통해 판례를 검색하는 MCP 서버.
Transport: stdio (FastMCP)
Backend:
law.go.kr/DRF/lawSearch.do+law.go.kr/DRF/lawService.do인증:
OC파라미터 (law.go.kr 신청 시 발급되는 사용자 식별자)
설치 & 실행
cd /data_raid/ruci_workspace/law-search-mcp
uv sync # .venv 생성 + 의존성 설치
echo "LAW_API_OC=your-oc-id" > .env # 실제 값으로 교체 (law.go.kr 신청 시 발급)
.venv/bin/python server.py # MCP stdio 서버 시작Claude Code MCP 등록
~/.claude.json 또는 프로젝트 .mcp.json:
{
"mcpServers": {
"law-search": {
"command": "/data_raid/ruci_workspace/law-search-mcp/.venv/bin/python",
"args": ["/data_raid/ruci_workspace/law-search-mcp/server.py"]
}
}
}환경 변수
변수 | 필수 | 기본값 | 설명 |
| ✅ |
| law.go.kr OpenAPI 식별자. 발급 신청: https://open.law.go.kr |
MCP Tools
1) search_precedents(query, max_results, page, sort, org, date_range)
판례 목록을 키워드로 검색.
파라미터 | 타입 | 기본값 | 설명 |
| str | (필수) | 검색 키워드 (예: |
| int | 20 | 페이지당 결과 수 (최대 100) |
| int | 1 | 페이지 번호 |
| str |
|
|
| str |
| 법원종류코드. |
| str |
|
|
반환: 사건명·법원명·선고일자·사건번호·판례일련번호(precSeq) 포함 목록 텍스트.
2) get_precedent_detail(precedent_id)
특정 판례 상세 본문 조회 (판시사항/판결요지/참조조문/참조판례/판례내용 전문).
파라미터 | 타입 | 설명 |
| str |
|
⚠️ 핵심 제약 — 반드시 읽기
상세 조회는 사실상 대법원 판례만 가능
law.go.kr 공식 OpenAPI의 정책상, get_precedent_detail은 대법원 판결문에 대해서만 전문을 반환합니다. 고등법원·행정법원·지방법원·조세심판원 결정문은 검색 목록에는 나오지만 상세 조회 시 다음과 같이 응답:
{"Law": "일치하는 판례가 없습니다. 판례명을 확인하여 주십시오."}실측 결과 (2026-05-19, query="부당행위계산" org=400201 display=10 기준):
검색 결과 10건 중
법원명="대법원"으로 채워진 건은 1건뿐그 1건만 상세 조회 성공, 나머지 9건은 모두 위 에러
권장 사용 패턴
# 1. 검색 (관련도순 or 날짜순 모두 OK)
results = search_precedents(query="...", max_results=50)
# 2. 응답 텍스트에서 [court='대법원'] 인 항목만 골라낸 뒤
# 그 항목의 판례일련번호로만 detail 조회
# (org=400201 필터를 걸어도 90%는 법원명이 빈 문자열이므로 사후 필터 필수)
# 3. 대법원 외 판례 본문이 필요하다면:
# - 조세심판원/국세청 자료는 별도 데이터셋(예: papers.db) 활용
# - 하급심 판결문은 대법원 종합법률정보(glaw.scourt.go.kr) 등 별도 경로 필요응답 구조 (디버깅용)
검색 응답 — lawSearch.do
{
"PrecSearch": {
"totalCnt": 14,
"prec": [
{
"판례일련번호": "241203",
"사건명": "...",
"사건번호": "...",
"선고일자": "20250207", // YYYYMMDD
"법원명": "대법원", // ← 비어있으면 detail 조회 불가 가능성 높음
"사건종류명": "세무",
"판결유형": "...",
"선고": "..."
}
]
}
}prec는 결과가 1건이면 dict, 2건 이상이면 list로 옴 → 코드는 dict→list 변환 처리됨.
상세 응답 — lawService.do (성공)
{
"PrecService": {
"사건명": "...", "사건번호": "...", "선고일자": "...",
"법원명": "대법원", "사건종류명": "...", "판결유형": "...",
"판시사항": "...", "판결요지": "...",
"참조조문": "...", "참조판례": "...",
"판례내용": "..." // 판결문 전문
}
}상세 응답 — lawService.do (실패: 대법원 외 ID)
{ "Law": "일치하는 판례가 없습니다. 판례명을 확인하여 주십시오." }알려진 이슈
🐛 server.py — Law wrapper 에러를 빈 결과로 silent fail
get_precedent_detail() 의 응답 파싱 로직 (server.py:198):
item = data.get("PrecService", data) if isinstance(data, dict) else data응답이 {"Law": "일치하는 판례가 없습니다."} 일 때 fallback인 data 전체가 item이 되고, item.get("사건명", "") 등이 모두 빈 문자열을 반환 → 사용자에게는 "빈 판례 정보"로 보임. 에러 메시지를 명시적으로 surfacing 하는 로직 추가 필요:
# 권장 수정 (server.py:197~ 부근)
if isinstance(data, dict) and "Law" in data and "PrecService" not in data:
return f"오류: 상세 조회 실패 — {data['Law']}\n" \
f"(law.go.kr 상세 API는 대법원 판례만 지원합니다. " \
f"precedent_id={precedent_id}의 법원명을 확인해주세요.)"
item = data.get("PrecService", data)빠른 동작 확인
.env 설정 후:
.venv/bin/python -c "
import asyncio, httpx
async def t():
async with httpx.AsyncClient(timeout=30) as c:
r = await c.get('http://www.law.go.kr/DRF/lawSearch.do',
params={'OC':'your-oc-id','target':'prec','type':'JSON',
'query':'부당행위계산','display':'3'})
print(r.json()['PrecSearch']['totalCnt'], '건 검색됨')
asyncio.run(t())
"검색 건수가 양수면 정상.
FINO 프로젝트 사용 메모
NTS 검색 데이터(papers.db): 조세심판원 결정문·하급심 판례 (289K건) — 이미 보유 중
law-search-mcp 보강 용도:
사용자가 특정 대법원 판례를 지정 인용할 때 풀텍스트 fetch
최신 대법원 판례 (papers.db 크롤 이후 시점) 보강
하급심/심판례 검색: 본 MCP는 검색 메타데이터만 활용, 본문은
papers.db에서 매칭 (사건번호 기준)
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/memorise8/law-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server