Gyogwon119 MCP
by mindm1ner
README.md
# 교권119 — 교사 교권 대응 코파일럿 MCP
카카오 **AGENTIC PLAYER 10** 출품작. 교육활동 침해를 당했거나 당할 위기의 교사에게, **현행 법령·고시(법제처 실시간)와 교육부·전국 시도교육청 공식 매뉴얼을 근거로** "지금 무엇을·어떻게" 할지 안내하고, 필요한 **공식 서류 초안까지 작성**하며, 위기의 순간엔 **사람에게 연결**하는 교권 대응 코파일럿.
## 핵심 특징
- **100% 라이브 법 근거** — 법령(초·중등교육법·교원지위법 등)과 **행정규칙 고시**(「교원의 학생생활지도에 관한 고시」)를 법제처 OPEN API로 **매 질의마다 현행 조문 조회**. 법이 개정돼도 항상 최신(범용 법률봇과의 차별점). 하드코딩된 조항 번호가 아니라 실제 현행 원문 근거.
- **공식 서식 문서 생성(9종)** — 신고서·소명서·의견서·진술서·분리확인서·민원답변·특별휴가·치료비 신청서 등. 상황만 말해도 **필요한 문서를 추천하고 초안까지** 작성.
- **추론 재료형 설계** — 도구는 "정답 캔"이 아니라 판단 원칙·법 근거·위험 체크리스트를 반환. 하드코딩 안 된 미지 조치도 LLM이 프레임워크로 안전하게 판단(확실치 않으면 보수적 폴백).
- **모든 안내에 출처 명시** · 법적 정보 제공용(자문 아님), 개별 사안은 교권보호센터(1395) 상담 권고.
## 도구 (13개)
**① 정서·생명 안전**
| 도구 | 설명 |
|---|---|
| `emotional_support` | 위기 신호 감지 시 절차 멈추고 따뜻한 공감 + 핫라인(자살예방 109·정신건강 1577-0199·교육활동보호센터 1899-9876) 연결. "당신 잘못 아니에요" |
**② 실시간 방어 (신고 전)**
| 도구 | 설명 |
|---|---|
| `check_guidance_legality` | 생활지도 조치(반성문·휴대폰·벌 세우기 등)의 적법성을 고시 사다리(조언→상담→주의→훈육→훈계) + '학대 3-체크'로 판단. 미지 조치도 프레임워크로 |
| `safe_parent_message` | 학부모 대화/초안 → 위협 감지·증거 보존·자기불리 표현 제거·아동안전 리프레임(매뉴얼 근거) |
**③ 대응 절차·방어**
| 도구 | 설명 |
|---|---|
| `guide_response_flow` | 침해 대응 6단계(즉시대응→분리→증거→신고→위원회→사후) + 시한 + 단계별 필요 문서 |
| `defend_child_abuse` | "정당한 생활지도=아동학대 아님"(초·중등교육법 제20조의6) 소명 + 교육감 의견제출 + 통계 |
| `guide_complaint_response` | 악성민원 응대(통화 종료 근거·민원팀 이관·2024 민원 체계) |
| `route_support` | 상황별 지원기관 연결(1395·배상책임보험·치유센터·법률지원단) |
**④ 법령·검증 (법제처 라이브)**
| 도구 | 설명 |
|---|---|
| `search_teacher_law` | 교권 법령·**고시** 조항 실시간 조회(현행 원문·시행일). 법령 + 행정규칙(admrul) 모두 |
| `verify_citation` | 상대가 든 법 조항이 실제 존재·내용 일치하는지 역검증(협박 반박) |
**⑤ 생활지도·문서**
| 도구 | 설명 |
|---|---|
| `guide_student_guidance` | 생활지도 상황 → 교육부·교육청 매뉴얼·고시 해설서 RAG 근거로 지도법 안내 |
| `draft_statement` | 기본 경위서·진술서 초안(육하원칙·전후맥락) |
| `review_statement` | 진술서·경위서 검토(육하원칙 누락·자기불리 표현·증거 점검) |
| `generate_document` | **공식 서식 9종 초안 생성** — 신고서·소명서·의견서·진술서·분리확인서·민원지원·민원답변·특별휴가·치료비. 상황→문서 추천 |
## 실행
```bash
pip install -r requirements.txt
python mcp_server.py # http://localhost:8000/mcp (Streamable HTTP)
python test_all.py # 회귀 테스트 (30 케이스)
```
배포: `python:3.11-slim` Dockerfile → PlayMCP in KC(카카오 클라우드) Git 소스 빌드. 런타임 의존 = `mcp[cli]`만(순수 파이썬).
## 환경변수
- `PORT` — 서비스 포트(기본 8000)
- `LAW_OC` — 법제처 국가법령정보 OPEN API 인증키(OC). 운영 시 환경변수로 주입 권장.
## 데이터
- **법제처 국가법령정보 OPEN API** — 법령(law) + 행정규칙(admrul/고시) 실시간. API 다운 시 핵심 조문 캐시 폴백(`law_cache.json`).
- **RAG 코퍼스**(`corpus.json`, ~4,700 chunks) — 교육부 「학생생활지도 고시 해설서」·교육활동 보호 매뉴얼(교육부 + 전국 시도교육청)·위기사안 개인상담 개입 지도서 등. 빌드 시 `build_corpus.py`로 추출(런타임 불필요), 경량 BM25 검색.
## 보안 메모
- `LAW_OC`는 **공개 법령 데이터 조회용 저권한 식별자**(개인정보·과금·비공개 자원 접근 없음, 호출량 제한만). 코드 기본값은 로컬·데모용, 운영 시 환경변수로 override.
- 서버는 **읽기 전용**(readOnly)이며 사용자 입력을 실행(eval/exec)하지 않는다. 외부 요청 파라미터는 URL 인코딩. **개인정보 저장·수집 없음.**
- 법적 정보는 안내용이며 자문이 아니다(각 응답에 고지). 개별 사안은 교권보호센터(1395)·시도교육청 법률지원단 상담 권고.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues