LexLink-ko MCP 서버 로그 분석 결과

Minhan Cho·2026년 1월 19일

MCP 개발기

목록 보기
2/5

분석 기간: 2025년 11월 20일 — 2026년 1월 12일 (53일)
서버: @rabqatab/lexlink-ko-mcp on smithery.ai, kakao PlayMCP
작성일: 2026년 1월 19일


요약

본 리포트는 Lexlink 한국 법률 MCP 서버의 20,555건의 고유 MCP(Model Context Protocol) 로그를 분석한 결과로, 본 MCP 서버는 법령 검색, 판례 검색, 행정규칙 검색 등 한국 법률 정보 검색 기능을 제공함.
LexLink-ko MCP에 대한 자세한 설명은 이전 포스트github 참조 요망.

서버 개요

LexLink는 대한민국 법제처의 국가법령정보센터(law.go.kr) Open API를 활용한 MCP 서버임. 대부분은 Open API를 MCP에 맞게 제공하였으나, 일부 tool은 독자개발하였음.

항목내용
구현된 도구26개 (Phase 1-5)
가용 API 총계191개 엔드포인트
API 커버리지약 13.6%
데이터 소스https://open.law.go.kr
배포 플랫폼Smithery.ai, Kakao PlayMCP

핵심 지표

지표
고유 로그 수20,555건
전체 성공률57.5%
전체 오류율42.5%
식별된 세션 수86개

주요 발견사항

  1. 초기화 실패율 높음 — 전체 오류의 80.9%가 initialize 실패
  2. 주요 클라이언트 "mcp" — 초기화 오류의 98.4% 차지
  3. 개인정보보호법 검색 압도적 — 가장 많이 검색된 용어
  4. 도구 성공률 양호 — 초기화 이후 도구 성공률 84-90%
  5. 사용자 2명만 식별 — 매우 제한된 사용자 기반ㅋㅋ

1. 데이터 개요

1.1 메소드별 분포

메소드건수비율
initialize7,09434.5%
tools/call6,75332.9%
tools/list6,61632.2%
resources/list490.2%
prompts/list390.2%
resources/templates/list40.0%

2. 도구 사용 분석

2.1 도구별 사용빈도 및 성공률

도구총 호출성공률평균 응답시간
eflaw_search1,84886.9%1,238ms
law_search1,00487.0%1,170ms
prec_search79683.9%1,445ms
elaw_search75185.1%1,214ms
admrul_search56484.6%1,173ms
prec_service27385.3%1,389ms
detc_search21686.1%1,333ms
lnkLs_search18887.8%1,177ms
eflaw_josub17988.3%1,008ms
decc_search17384.4%1,156ms
article_citation14669.9%2,586ms
expc_search12084.2%961ms

2.2 성능 분석

지표
중앙값 응답시간539ms
평균 응답시간705ms
최대 응답시간11,456ms
표준편차712ms

평균 응답시간 기준 가장 느린 도구:
1. article_citation — 2,586ms (이건 html로 띄운 다음에 파싱하는 구조라 느릴 수밖에 없다..)
2. detc_service — 1,707ms
3. eflaw_service — 1,671ms
4. prec_search — 1,445ms
5. prec_service — 1,389ms


3. 검색어 내용 분석

3.1 검색어 언어 분포

언어건수비율
한국어4,76884.0%
영어76813.5%
혼합/기타1422.5%

3.2 검색어 주제 분류

분류건수비율
개인정보/정보보호1,15920.4%
환경법97717.2%
부동산/건축3165.6%
국가배상2744.8%
민법2464.3%
상법1803.2%
형법1753.1%
행정법1232.2%
헌법340.6%
기타/일반2,33341.1%

3.3 검색 의도 분석

검색 유형건수
키워드 검색2,786
정확한 법률명 검색2,479
조문 참조 검색228
와일드카드(*) 검색137
테스트 쿼리48

3.4 상위 25개 검색어

순위검색어건수
1개인정보보호법373
2개인정보 보호법304
3환경301
4개인정보269
5Personal Information Protection Act175
6민법160
7* (와일드카드)137
8환경보호113
9국가배상법101
10국토의 계획 및 이용에 관한 법률90
11형법73
12environment72
1366
14건축법61
15상법58
16환경정책기본법57
17개인정보보호55
18건축허가 취소51
19긴급조치 9호 국가배상49
20test48
21국가공무원법47
22폐기물관리법42
23공공기관의 정보공개에 관한 법률42
24소음 스토킹39
25폐기물38

3.5 주목할 만한 검색 패턴

  • 개인정보보호법 관련 검색이 1100건(변형 포함) 이상으로 압도적 1위, 환경법이 700건 이상으로 두 번째로 notable topic으로 뽑힘
  • 판례 연구 패턴은 동일인물이 집중적으로 검색하였음 (동일인물인지 여부는 OC key로 확인 가능)
    • "긴급조치 9호 국가배상" (유신시대 긴급조치 관련 국가배상 사건)
    • "우연히 발견된 증거" (형사소송법상 증거능력 관련)
    • "소음 스토킹" (층간소음 및 스토킹 관련 판례)
  • 단, LLM이 MCP를 사용하는 방식에 따라 실제 유저의 관심과는 왜곡된 결과일 수 있음. LLM이 MCP의 결과가 만족스럽지 않아 여러 번 tool call을 날린 것일수도 있음

3.6 빈 결과 분석

총 15건의 검색어만 0건의 결과를 반환했으며, 모두 lnkLs_search(법령-자치법규 연계 검색)에서 발생:

검색어건수
형법7
형사소송법5
형법 제257조2
상해진단서1
  • 대부분의 법률 검색어에 대해 어쨌거나 답변 자체는 무리 없이 뽑아냈음을 시사함
  • lnkLs_search(법령-자치법규 연계 검색) 툴의 경우, 도대체 왜 LLM이 해당 tool을 선택했는가에 대한 의문이 생김. 상해죄/형소법/형법을 자치법규와 연계할 이유가...?

4. 오류 분석

4.1 오류 개요

분류건수전체 오류 대비 비율
초기화 오류(initialize)7,07780.9%
도구 호출 오류97711.2%
tools/list 오류6767.7%
기타140.2%

4.2 초기화 오류 분석

  • 모든 초기화 오류(100%)가 응답 타임스탬프가 null이며, 이는 응답을 받기 전에 연결 시간 초과 또는 실패가 발생했음을 의미함
  • 그런데 smithery.ai에서의 initialize가 모두 실패한 것을 보면, 이것은 smithery 서버의 문제인 듯함. initialize 실패한 session이라 하더라도 툴 호출에는 문제가 없는 것 또한 smithery 서버의 문제임을 의심케 함. 자세한 사항은 표 아래 확인

클라이언트별:

클라이언트오류 수
mcp6,962
smithery-host50
codex-mcp-client35
claude-code11
openai-mcp8
smithery-scanner5

프로토콜 버전별:

버전건수
2025-11-256,320
2025-06-18751
2025-03-264
2024-11-052

가설

initialize 오류는 MCP 프로토콜 버전 2025-06-18 비호환성 문제

  • 근본 원인: 새로운 MCP 클라이언트(Claude Code, Smithery-host)가 protocolVersion: "2025-06-18"을 전송하지만, mcp 패키지가 아직 완전히 지원하지 않음
  • 콜드 스타트 타임아웃: Smithery 서버는 유휴 시 종료되며, initialize 요청이 서버 준비 전에 도착할 수 있음
  • 1970-01-01 타임스탬프의 의미: Unix epoch(0)는 서버가 응답을 전송하지 않았음을 의미 (서버 미실행, 크래시, 또는 타임아웃)

영향받는 플랫폼 (웹 리서치 결과):

  • Vercel AI SDK #7575
  • Continue VS Code #8118
  • JetBrains LLM-20994
  • MCP Spec #854

결론: 이는 LexLink 버그가 아닌 MCP 생태계 전반의 과도기적 문제임. 실제 사용자 요청은 서버 워밍업 후 대부분 성공함.

4.3 도구 호출 오류 분석

도구오류 수오류율
eflaw_search24213.1%
law_search13113.0%
prec_search12816.1%
elaw_search11214.9%
admrul_search8715.4%
article_citation4430.1%

article_citation이 가장 높은 오류율(30.1%)을 보입니다.

article_citation 오류 원인

이 높은 오류율은 이전 배포 버전(< v1.2.10)에서 발생한 누락된 의존성 문제로 확인됨:

Error: ModuleNotFoundError: No module named 'bs4'
  • 원인: article_citation은 HTML 파싱을 위해 BeautifulSoup을 사용하나, beautifulsoup4pyproject.toml에 누락됨
  • 해결: 이후 배포 버전(v1.2.10)에서 beautifulsoup4>=4.12.0 의존성 추가

4.4 자주 실패한 검색어

검색어도구실패 수
개인정보보호법eflaw_search32
Personal Information Protection Actelaw_search30
개인정보 보호법eflaw_search25
민법eflaw_search22
개인정보보호법law_search18

단순히 검색 빈도가 높아 실패 빈도도 높은 것으로 보임(개보법 관련)


5. 세션 분석

5.1 세션 통계

지표
총 세션 수86개
세션 구분 기준30분 간격

세션당 로그 수:

  • 최소: 2건
  • 최대: 11,089건
  • 평균: 238.9건
  • 중앙값: 11.5건

세션 지속시간:

  • 최소: 1초
  • 최대: 25.8시간
  • 평균: 58.3분
  • 중앙값: 10.0분

5.2 세션 유형

유형건수
고밀도 (100건 초과)12개
일반 (10-100건)36개
저밀도 (10건 미만)38개
대부분 오류 (70% 초과)14개
대부분 성공 (10% 미만)1개

5.3 고밀도 세션 상세 분석

세션 1 — 2025-11-21 04:13 (128.6분, 152건)

  • 주제: 공동주택관리법, 이웃 소음 분쟁 스토킹, 전치 2주 폭행
  • 주요 도구: prec_search (33), prec_service (22)
  • 분석: 공동주택 층간소음 및 폭행 관련 판례 연구

세션 2 — 2025-12-12 04:14 (76.4분, 113건)

  • 주제: 긴급조치 제9호, 국가배상법
  • 주요 도구: prec_service (30), prec_search (26)
  • 분석: 유신시대 긴급조치 관련 국가배상 청구 사건 연구

세션 3 — 2025-12-16 04:34 (110.2분, 322건)

  • 주제: 우연히 발견된 증거, 전자정보 압수 수색
  • 주요 도구: prec_search (103)
  • 분석: 형사소송에서의 디지털 증거 관련 판례 연구

세션 4 — 2025-12-17 05:12 (138.5분, 453건)

  • 주제: 국가배상법, 긴급조치 9호, 소음 스토킹
  • 주요 도구: prec_search (128), eflaw_search (64)
  • 분석: 국가배상 및 소음 관련 판례 종합 연구

세션 5 — 2025-12-18 01:18 (70.0분, 157건)

  • 주제: 민법, 민법 제809조
  • 주요 도구: eflaw_search (29), detc_search (23)
  • 분석: 민법 제809조 (근친혼 제한) 관련 연구

5.4 일반적인 사용 흐름

가장 흔한 호출 순서:
1. initialize → tools/list → initialize → tools/list → initialize (12회)
2. initialize → tools/list → tools/call → tools/call → tools/call (7회)
3. initialize → tools/list → tools/call → initialize → tools/list (7회)

반복되는 initialize 호출은 연결 불안정 또는 재시도 메커니즘을 시사합니다. smithery야 똑바로 일 안 하니?


6. 사용자 분석

6.1 클라이언트 분포

클라이언트건수비율
(빈 값)13,46165.5%
mcp6,96233.9%
smithery-host500.2%
codex-mcp-client350.2%
smithery-scanner220.1%
claude-code110.1%
openai-mcp80.0%

7. 시간대별 분석

7.1 시간대별 분포

피크 활동 시간 (KST):

  • 06:00-07:00 — 2,921건 (14.2%)
  • 16:00-18:00 — 3,885건 (18.9%)

저조한 활동 시간:

  • 02:00-03:00 — 644건 (3.1%)

7.2 일별 분포 (주요 일자)

날짜로그 수비고
2025-12-268,479최고 활동일
2026-01-045,542두 번째
2025-12-273,275세 번째
2025-12-19646일반 수준
2025-12-20-25<100/일연말 휴가 기간

8. 알려진 기술적 이슈

로그 분석 결과와 프로젝트 문서(ISSUES.md)의 알려진 이슈를 매핑한 결과입니다.

8.1 로그에서 확인된 이슈

이슈 #제목심각도상태로그 영향
#10MCP 프로토콜 2025-06-18 비호환성MEDIUM⚠️ 알려진 이슈초기화 오류 7,077건 (80.9%)
#9article_citation 누락 의존성HIGH✅ 해결됨 (v1.2.10)30.1% 오류율
#8연계 검색 도구 빈 결과MEDIUM✅ 해결됨 (v1.2.10)lnkLs_search 빈 결과 15건
#7서비스 도구 PlayMCP 24KB 제한 초과HIGH⚠️ 미해결로그에서 직접 확인 불가
#1JSON 포맷 미지원HIGH✅ 해결됨 (v1.0.1)초기 버전 오류

8.2 API 제공자 제한사항

law.go.kr API의 알려진 제한사항:

제한사항설명대응
JSON 포맷 미지원API 문서에는 JSON 지원으로 되어있으나 실제로는 HTML 오류 반환XML 포맷만 사용
OC 파라미터 필수https://open.law.go.kr 에서 API 신청 후 사용 가능사용자별 OC 등록 필요
응답 크기 제한 없음대형 법령(민법, 형법)은 수백 KBPlayMCP에서 문제 발생

8.3 플랫폼별 제한사항

플랫폼제한사항영향
Smithery.ai콜드 스타트 지연initialize 타임아웃
Kakao PlayMCP24KB 응답 크기 제한eflaw_service, law_service 사용 불가

9. 추후 개선사항

9.1 이전 포스트에서 작성한 개선사항

  • (보류) TOON을 적용해서 token 사용량을 줄이려고 함: 굳이?
  • (보류) tool 개수가 많아진다면?: 아직 tool이 100개를 안 넘으므로 그 때까지는 보류
  • (진행중) 너무나도 멍청한 판례/해석례 검색:
    • 금감원, 금융위, 증선위, 법제처에서 유권해석례, 법령해석례들을 크롤링한 뒤 Qdrant 에 얹어서 hybrid search 하는 MCP를 만들고 있음
    • 이외 aiSearch(지능형 법령검색), aiRltLs_search(연관법령 검색) 툴로도 일부 커버 가능

9.2 사용 로그 분석 후 요구되는 개선사항

  • OC key 필수화
    • 위 로그에는 올리지 않았는데, OC key를 optional configuration으로 올렸더니, OC key의 설명란에 '올바른 사용을 위해서는 필수'라고 기재했는데도 OC를 안 넣는 경우가 굉장히 많음
  • 검색어 정규화 — "개인정보보호법" vs "개인정보 보호법"
    • 쿼리 정규화 또는 유사어 처리 고려
  • 판례 연구 워크플로우 최적화
    • 고밀도 세션의 주요 패턴: prec_searchprec_service 반복
    • 판례 분석 전용 MCP 프롬프트 추가 고려
  • API 커버리지 확장 우선순위
    • 현재: 26/191 API (13.6%)

9.3 실사용자의 다이렉트 개선사항

  • 별표/서식 도구 추가
    • 나는 그게 필요한지 몰랐는데, 실무자 입장에서 법령/규칙이 개정되면 별표/서식 또한 바뀌므로 그에 맞게 문서를 작성하는 것이 상당히 귀찮다더라
    • 이것 또한 추후에 tool 혹은 별도의 MCP로 제작 예정

부록 A: 전체 구현 도구 (26개)

도구설명용도로그 내 호출 수
eflaw_search시행일 기준 현행법령 검색현재 유효한 법령 찾기1,848
law_search공포일 기준 법령 검색특정 시점 법령 찾기1,004
eflaw_service시행일 기준 법령 본문 조회전체 법령 내용 가져오기-
law_service공포일 기준 법령 본문 조회특정 시점 법령 내용-
eflaw_josub법령 조항호목 조회특정 조문만 조회179
law_josub공포일 기준 조항호목 조회특정 시점 조문 조회34
elaw_search영문법령 검색영어로 번역된 법령751
elaw_service영문법령 본문 조회영어 법령 전문42
admrul_search행정규칙 검색훈령, 예규, 고시 등564
admrul_service행정규칙 본문 조회행정규칙 전문-
lnkLs_search법령-자치법규 연계 검색조례와 연계된 법령188
lnkLsOrdJo_search조문별 자치법규 연계특정 조문 관련 조례85
lnkDep_search부처별 연계 검색소관부처별 연계현황67
drlaw_search연계현황 통계HTML 형식 통계62
lsDelegated_service위임법령 조회위임된 법령/규칙/조례30
prec_search법원 판례 검색대법원/하급심 판례796
prec_service판례 본문 조회판례 전문273
detc_search헌재결정례 검색헌법재판소 결정216
detc_service헌재결정례 본문결정문 전문46
expc_search법령해석례 검색법제처 해석120
expc_service해석례 본문 조회해석례 전문69
decc_search행정심판례 검색행정심판 재결173
decc_service행정심판례 본문재결문 전문-
article_citation조문 인용 추출HTML 파싱으로 인용조문 추출146
aiSearch지능형 법령검색의미 기반 검색-
aiRltLs_search연관법령 검색관련 법령 추천-

*참고: "-"는 로그 분석 기간 내 호출 기록 없음


부록 B: API 커버리지 현황

카테고리가용 API구현됨커버리지
법령 (Law)261246.2%
행정규칙 (Administrative Rules)4250.0%
자치법규 (Local Ordinances)300%
판례·결정례·해석례 (Case Law)88100%
위원회 결정문 (Committee)2400%
조약 (Treaties)200%
별표·서식 (Tables & Forms)300%
학칙·공단·공공기관200%
법령용어 (Legal Terms)200%
모바일 (Mobile)2200% (계획없음)
맞춤형 (Customized)600% (계획없음)
법령정보 지식베이스 (KB)9222.2%
중앙부처 1차 해석6400%
특별행정심판800%
합계1912613.6%

Misc

  • 그간 MCP 배포자(혹은 호스트)는 무료로 배포할 수 있었는데, 그게 2026.3.1.부로 막힘. 꺄악!
  • 그래서 PlayMCP와 Smithery 통합해서 하나의 entry point를 가질 수 있도록 배포해야 함..
    • default가 sse로 설정되어있는데, http로 설정해야 하며,
    • kakao playMCP에 맞춰 response도 slim화해서 제공해야 하며, (현재는 일부 tool에 한해 raw output과 ranked output 모두 제공)
    • OC key 입력을 강제하도록 해야한다.. 그런데 OC key 입력을 강제하면 사용량이 너무 줄지 않을까? 그냥 내 OC key를 뿌릴까..?
    • 운영은.. 지옥이다..

profile
multidisciplinary

0개의 댓글