بنقرة واحدة
cache-management
법령/판례 캐시 데이터 관리 시 사용. 캐시 저장/로드, 만료 처리, 지식 그래프 동기화. 성능 최적화 및 API 호출 최소화를 위해 캐싱 구현 시 참조.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
법령/판례 캐시 데이터 관리 시 사용. 캐시 저장/로드, 만료 처리, 지식 그래프 동기화. 성능 최적화 및 API 호출 최소화를 위해 캐싱 구현 시 참조.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
BM25 Okapi 알고리즘을 사용하여 법령/판례 API 결과를 관련도 순으로 재랭킹합니다. search_enhance_tools.py와 bm25_search.py 구현 시 참조.
법제처 OPEN API를 MCP 프로젝트에 통합할 때 사용. lawSearch.do와 lawService.do 엔드포인트, target 파라미터로 기능 구분. 새로운 API 엔드포인트 통합 시 참조.
도구 실패/API 오류 발생 시 4단계 근본 원인 분석 후 수정. 증상 수정이 아닌 원인 수정. superpowers의 systematic-debugging 기반.
새 도구 개발 또는 버그 수정 시 실패하는 테스트를 먼저 작성하고, 구현 후 통과를 확인. superpowers의 test-driven-development 기반.
도구 개발/개선 완료 선언 전 반드시 실제 API 호출 테스트를 수행하고 증거를 기록할 때 사용. superpowers의 verification-before-completion 기반.
Tool에서 API 호출 시 컨텍스트 처리. streamable-http와 stdio transport 모두 지원. with_context() 패턴으로 전역 컨텍스트 fallback 자동 처리.
| name | cache-management |
| description | 법령/판례 캐시 데이터 관리 시 사용. 캐시 저장/로드, 만료 처리, 지식 그래프 동기화. 성능 최적화 및 API 호출 최소화를 위해 캐싱 구현 시 참조. |
법령, 판례, 위원회결정문 등의 데이터를 캐싱하여 성능을 향상시키고 API 호출을 최소화합니다.
utils/data/
├── legislation_cache/
│ ├── law_{law_id}/ # 법령 캐시
│ │ ├── metadata.json
│ │ ├── detail.json
│ │ └── articles/
│ ├── precedent_{prec_no}/ # 판례 캐시
│ │ ├── metadata.json
│ │ ├── detail.json
│ │ └── summary.json
│ └── committee_{decision_id}/ # 위원회결정문 캐시
│ ├── metadata.json
│ └── detail.json
└── knowledge_graph/
├── nodes.json
├── edges.json
└── synonyms/
{
"id": "law_12345",
"type": "law",
"cached_at": "2025-12-31T12:00:00Z",
"expires_at": "2026-01-07T12:00:00Z",
"source": "lawSearch.do",
"version": "1.0"
}
# 캐시 확인
cached = load_legislation_cache(law_id, "law")
if cached:
return cached
# API 호출
result = client.service("law", {"ID": law_id})
# 캐시 저장
if result.get("status") == "000":
save_legislation_cache(law_id, "law", result)
expires_at 기준으로 자동 삭제invalidate_cache(item_id, item_type)캐시 정리:
python scripts/cleanup_cache.py [--dry-run]
캐시 통계:
python scripts/cache_stats.py
구현 코드는 implementation.md 참조.
src/mcp_kr_legislation/utils/legislation_utils.py에 추가됨:
| 함수 | 기능 |
|---|---|
cleanup_cache(max_age_days, max_size_mb) | 오래된/초과 크기 파일 삭제 |
invalidate_cache(law_id, section) | 특정 법령 캐시 즉시 삭제 |
get_cache_stats() | 파일 수/크기/날짜 통계 |
MCP 도구로도 제공 (search_enhance_tools.py):
get_cache_status() — 상태 조회cleanup_cache_tool(max_age_days=30) — 정리invalidate_law_cache(law_id=...) — 무효화src/mcp_kr_legislation/utils/legislation_utils.py - 실제 구현src/mcp_kr_legislation/tools/search_enhance_tools.py - MCP 도구