산재 신청 도우미 (sanjae-apply)
RemoteAbout 산재 신청 도우미 (sanjae-apply)
sanjae-apply is a Korean workers’ compensation application assistant available as an MCP server and CLI. It identifies required forms, attachments, and legal references, then fills official PDF or HWPX forms; it does not submit claims or assess approval.
Key features
- 01Determine required forms by benefit and accident details
- 02Check attachments and show applicable legal references
- 03Fill official forms as PDF or HWPX
- 04Guide and validate industrial accident reports
- 05Find the relevant labor office and contact details
- 06Generate applicant seals for forms
Use cases
- 01Identify documents needed for a compensation claim
- 02Fill official claim forms before review and submission
- 03Prepare an industrial accident report for the labor office
- 04Locate the office responsible for a workplace
MCP support
The MCP server offers eight tools for form requirements, catalog lookup, form filling, seal creation, accident-report guidance and checks, and labor-office search. It runs locally over stdio or remotely over HTTP with a Bearer token; remote inputs pass over the network but are not stored.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://sanjae-apply.vercel.app/api/mcp/mcpclaude mcp add --transport http seojaehong-sanjae-apply https://sanjae-apply.vercel.app/api/mcp/mcp{"mcpServers":{"seojaehong-sanjae-apply":{"type":"http","url":"https://sanjae-apply.vercel.app/api/mcp/mcp"}}}Open in Cursor{"servers":{"seojaehong-sanjae-apply":{"type":"http","url":"https://sanjae-apply.vercel.app/api/mcp/mcp"}}}Open in VS Code{"mcpServers":{"seojaehong-sanjae-apply":{"type":"http","url":"https://sanjae-apply.vercel.app/api/mcp/mcp"}}}{"mcpServers":{"seojaehong-sanjae-apply":{"serverUrl":"https://sanjae-apply.vercel.app/api/mcp/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project README🩹 sanjae-apply
산재 신청 도우미 · MCP 서버 + CLI
급여 종류와 재해 상황을 말하면 필요한 서식·첨부·근거 조문을 알려 줍니다. 근로복지공단 정본 PDF 12종과, 관할 지방고용노동관서에 내는 산업재해조사표도 그 자리에서 채워 줍니다.
합성 값으로 채운 요양급여신청서. 왼쪽이 PDF 출력, 오른쪽이 한글(.hwpx) 출력을 한글에서 연 모습입니다.
✨ 무엇을 해 주나요
산재보험은 청구주의입니다. 재해자나 대리인이 급여 종류마다 다른 서식과 첨부를 직접 챙겨야 합니다. 이 도구는 그 「챙기는 일」을 돕습니다.
| 하는 일 | 설명 |
|---|---|
| 📋 필요 서식 확인 | 급여 9종(요양·휴업·장해·유족·간병료 등) × 사고/출퇴근/질병 × 제3자 유무를 받아 REQUIRED / CONDITIONAL / NOT_APPLICABLE 로 돌려줍니다 |
| 📎 첨부 점검 | 이미 가진 것은 PROVIDED, 없는 것은 MISSING, 다른 서류로 갈음되는 것은 SUBSTITUTABLE |
| ⚖️ 근거 조문 | 산재보험법·시행령·시행규칙 조문 번호와 제목을 함께 붙입니다(법제처 국가법령정보 Open API) |
| ❓ 남은 질문 | 아직 답이 없는 분기는 open_confirmations 로 되돌려 줍니다. 모르는 것을 지어내지 않습니다 |
| 🖨️ PDF 채우기 | 공단 서식자료실 정본 PDF 위에 값을 얹어 돌려줍니다. 신청인 칸만 채우고 의사·사업주·공단 칸은 비웁니다 |
| 🏭 산업재해조사표 | 산업안전보건법 시행규칙 별지 제30호서식(고용노동부 제출, 근로복지공단 서식 아님). 작성 지침·값 점검(읽기 전용)과 채우기. 칸이 모자란 서술은 별지 쪽에 적습니다 |
| 🏢 관할 관서 찾기 | 사업장 주소 → 관할 지방고용노동관서·조사표 접수 부서·전화·팩스·출처·확인방법. 팩스는 보내지 않습니다 |
Important
승인 여부는 다루지 않습니다. 결과의
READY_TO_SUBMIT은 「제출할 수 있는 상태」이지 승인이 아닙니다. 결과를 점치는 표현은 코드 필터가 출력 단계에서 막습니다.
Note
입력값을 저장하지 않습니다. 로컬 설치는 PC 밖으로 아무것도 보내지 않습니다. 주민등록번호 같은 칸은 비워 두고 출력한 뒤 손으로 적어도 됩니다.
🚀 30초 설치 (내 PC, 토큰 없음)
Node.js 20 이상만 있으면 됩니다. 단계별 따라 하기와 문제 해결은 사용 매뉴얼에 있습니다.
Claude Code
claude mcp add --scope user sanjae-apply -- npx -y sanjae-apply mcp
Claude Desktop
claude_desktop_config.json 에 추가합니다.
{
"mcpServers": {
"sanjae-apply": { "command": "npx", "args": ["-y", "sanjae-apply", "mcp"] }
}
}
🪟 Windows 에서 Claude Desktop 이 npx 를 못 찾을 때
cmd /c 로 감쌉니다.
{
"mcpServers": {
"sanjae-apply": { "command": "cmd", "args": ["/c", "npx", "-y", "sanjae-apply", "mcp"] }
}
}
🧩 Cursor · Windsurf · 그 밖의 MCP 호스트
같은 command / args 를 각 도구의 MCP 설정에 넣습니다. stdio 전송이면 전부 됩니다.
붙이고 나서 AI 에게 이렇게 말해 보세요.
「출퇴근 중 교통사고인데 상대 운전자가 있어요. 요양급여 신청하려면 뭐가 필요해요?」 「요양급여신청서에 이 값으로 채워서 PDF 로 줘.」
💻 명령줄로 쓰기
# 필요 서식·첨부·근거 조문
npx -y sanjae-apply check YOYANG --accident COMMUTE --third-party yes
npx -y sanjae-apply check JANGHAE --tags NOISE_HEARING_LOSS --json
# 서식 정본 대장과 채울 수 있는 칸 이름
npx -y sanjae-apply catalog F_YOYANG_APPLY
# 공단 정본 PDF 위에 채우기
npx -y sanjae-apply fill F_YOYANG_APPLY values.json --out 신청서.pdf
# 같은 값을 한글 문서(.hwpx)로. 확장자만 바꾸면 됩니다
npx -y sanjae-apply fill F_YOYANG_APPLY values.json --out 신청서.hwpx
# PDF 에 도장까지. 이름만 주면 성명인을 만들어 신청인 서명란 전부에 찍습니다
npx -y sanjae-apply fill F_YOYANG_APPLY values.json --out 신청서.pdf --stamp 홍길동
npx -y sanjae-apply fill F_YOYANG_APPLY values.json --out 신청서.pdf --stamp-png 내도장.png --stamp-spot applicant
# 도장 PNG 만 따로 (성명인 · 사각 · 타원 · 법인형)
npx -y sanjae-apply seal --out 도장.png --name 홍길동
npx -y sanjae-apply seal --out 직인.png --shape ellipse --arc "주식회사 가나다" --center 대표이사 --bottom 123-45-67890
values.json 의 칸 이름은 catalog <FORM_ID> 결과의 slots 에 나옵니다. PDF 와 한글은 칸 이름이 같습니다. 서식이 갱신되면 npx -y sanjae-apply@latest 로 받습니다.
🔏 도장(날인)은 어떻게 되나
--stamp 이름이면 성명인(원형 기본,--stamp-shape square|ellipse)을 만들어 찍고--stamp-png면 가진 도장 PNG(투명 배경, 4096px 이하)를 검사한 뒤 그대로 찍습니다. 인주색 적색, 지름 42pt(약 1.5cm). 동봉 글꼴(나눔고딕)에 없는 글자(한자 등)는 빈 도장이 되지 않도록 오류로 멈춥니다. 그런 이름은--stamp-png로 가진 도장을 넣어 주세요.- 자리는 서식마다 지도에 정해져 있고
catalog <FORM_ID>의stamps에 이름이 나옵니다. 비우면 신청인 본인 자리 전부(applicant본문 ·delegation위임장 ·consent개인정보 동의)에 찍고--stamp-spot a,b로 고릅니다. 타인 서명란(confirm확인자 ·commute_reporter신고인 ·choice_confirmer등)은 이름을 적어 줄 때만 찍습니다. 지도에 없는 자리는 건너뛰고 결과의stamps_skipped에 적습니다. - PDF 와 한글(hwpx) 출력 둘 다 찍힙니다. 한글에서는 서명란 문단에 「글 앞으로」 떠 있는 그림으로 들어가 글자를 밀지 않습니다(쪽 밀림 0, 11종 실측). 한글에서 열어 옮기거나 지울 수 있습니다.
- 도장은 명의자의 인격 표지입니다. 본인 또는 명의자 동의가 있는 이름만 넣어 주세요. 등록 인감을 흉내 내는 용도가 아닙니다(사용인감 성격).
🖨️ 한글(hwpx) 출력은 어떻게 되나
- 공단이 배포한 HWP 원본을 한글에서 hwpx 로 한 번 변환해 동봉했습니다(
forms/hwpx/). 채울 때는 한글이 필요 없습니다. zip 안 XML 의 표 칸에 값을 넣는 순수 TypeScript 입니다. 윈도우·맥·리눅스 어디서나 돕니다. - 결과는 .hwpx 입니다. 한글 2014 이상에서 열어 고치고 인쇄할 수 있습니다. 서식의 글꼴·표·쪽 구성은 공단 원본 그대로입니다.
- 빈 서식에 숨어 있던 자리표시자 글자색(회색·파랑)과 1pt 상자 글자는 검정 정체로 바꿔 넣습니다. 값이 칸보다 길면 글자를 줄입니다(PDF 와 같은 규칙).
- 재활보조기구 처방전은 공단이 PDF 만 배포해 한글 출력이 없습니다.
- 새 서식을 한글로 채우게 만드는 법은
docs/한글지도_작성법.md에 있습니다.
🔧 MCP 도구 8개
| 도구 | 읽기/쓰기 | 하는 일 |
|---|---|---|
list_required_forms | 읽기 | 급여·재해 분기 → 서식·첨부·조문·절차·남은 질문 |
get_form_catalog | 읽기 | 정본 대장(파일명·개정일·sha256·출처 URL)과 채울 수 있는 서식(fillable PDF · fillable_hwpx 한글)·칸 이름·도장 자리 이름(stamps) |
fill_form | 파일 생성 | form_id + 값 (+ `format: "pdf" |
make_seal | 파일 생성 | 이름 → 성명인(원·사각·타원) 또는 법인형(원주 법인명 + 중심 문자 + 하단 부문자) 도장 PNG(base64). 로컬 설치면 save_to 로 바로 저장 |
fill_yoyang_apply | 파일 생성 | v0.1 호환. fill_form(form_id="F_YOYANG_APPLY") 과 같습니다 |
get_accident_report_guide | 읽기 전용 | 산업재해조사표 제출 의무·기한·과태료, 칸별 작성법, 서술 칸 요소·점검표, 분류코드, 자주 틀리는 것, 제출 경로 |
check_accident_report | 읽기 전용 | 산업재해조사표 값 점검(빈 칸·하나만 고르는 칸·날짜와 요일·휴업일수·원인 4요인·재발방지 기한과 담당·기한 참고일). 고치지 않습니다 |
find_labor_office | 읽기 전용 | 사업장 주소 → 관할 지방고용노동관서·조사표 접수 부서·전화·팩스·출처·확인방법. 지방청 직할 구역은 두 부서 번호와 「제출 전 전화 확인 권장」 |
산업재해조사표 쓰는 법과 관할 데이터는 docs/산업재해조사표_작성방법.md, data/labor-offices/README.md.
📄 채울 수 있는 서식 13종
| 서식 | 칸 수 | 한글 | 도장 자리 | |
|---|---|---|---|---|
| 요양급여신청서 (별지 제2호, 2026.7.7 개정) | 74 | ✅ | ✅ | 3 |
| 출퇴근 재해 합본 (신청서 + 발생신고서) | 118 | ✅ | ✅ | 4 |
| 제3자 재해 신고서 + 확인서 | 62 | ✅ | ✅ | 2 |
| 유족급여 청구서 | 79 | ✅ | ✅ | 2 |
| 본인부담 치료비 청구서 | 75 | ✅ | ✅ | 4 |
| 휴업급여 청구서 | 40 | ✅ | ✅ | 2 |
| 간병료·이송비·보조기 청구서 | 60 | ✅ | ✅ | 3 |
| 재활보조기구 처방전 (기타) | 12 | ✅ | 공단이 PDF 만 배포 | 의료기관 작성 |
| 미지급 보험급여 청구서 | 63 | ✅ | ✅ | 1 |
| 장해급여 묶음 (청구서 + 소음작업 확인서 + 선택 확인서) | 159 | ✅ | ✅ | 5 |
| 추가상병 신청서 | 40 | ✅ | ✅ | 3 |
| 재요양 신청서 | 54 | ✅ | ✅ | 3 |
| 산업재해조사표 (산업안전보건법 시행규칙 별지 제30호, 2025.10.1 개정 — 고용노동부 제출) | 73 | ✅ | ✅ | 2 |
- 정본은 근로복지공단 서식자료실 파일을 씁니다. 산업재해조사표만 법제처 국가법령정보센터의 별지 서식을 씁니다. 좌표 지도는 정본의
sha256에 묶여 있어 서식이 바뀌면 시험이 먼저 깨집니다. - 공단이 HWP 만 주는 서식은 한글에서 PDF 로 바꿔 동봉했습니다.
- 이 도구의 범위는 채운 출력물을 만드는 것까지입니다. 온라인 접수(토탈서비스)는 범위 밖입니다.
🌐 원격 MCP (운영자가 토큰을 주는 경우)
claude mcp add --transport http --scope user sanjae-apply https://sanjae-apply.vercel.app/api/mcp/mcp \
--header "Authorization: Bearer <발급받은 토큰>"
같은 도구 8개가 원격으로 돕니다. 입력은 서버에 저장되지 않지만 네트워크를 거칩니다.
🏠 직접 호스팅하기(Vercel)
이 레포를 Vercel 에 올리고 환경변수를 넣으면 /api/mcp/mcp 가 열립니다.
| 변수 | 뜻 |
|---|---|
SANJAE_MCP_TOKENS | 허용할 Bearer 토큰. 쉼표로 여러 개 |
LAW_GO_KR_OC | 법제처 Open API 인증키. 조문 실시간 조회를 쓸 때만 |
🧪 검증 수준
| 층 | 내용 | 수 |
|---|---|---|
| 규칙 | 급여 9종 × 분기, 금지어 필터 자기시험 | vitest |
| 조문 대조 | 코드의 근거 조문 ↔ 법제처에서 받은 조문 XML 제목 | 24건 |
| 서식 대장 | 코드의 서식 ↔ forms/catalog.json sha256 | 16종 |
| PDF 채우기 | 13종 전부 글자 위치 + 픽셀 비교(백지 출력 사고 방지) + 육안 | 약 660칸 |
| 한글 채우기 | 12종 전부 zip 안 글자·체크 수·글자색 + 한글이 실제로 열어 PDF 로 그리는지(COM) + 쪽수가 원본과 같은지 + 육안 | 약 720칸 |
| 관할 찾기 | 원본 시험 15건과 같은 사례(같은 이름 구·세종·제주·영월·칠곡 등) + 관할표 전 구역 출력 검사(금지어·절대 경로·성명 모양) | 25건 |
| MCP | http · stdio 양쪽 initialize / tools/list / tools/call | SDK 클라이언트 |
| 운영 드라이런 | Vercel 운영 끝점에 공식 SDK 로 31건 | 전부 통과 |
전부 합성 값으로만 돌렸습니다. 실제 사건으로는 검증하지 않았습니다.
git clone https://github.com/seojaehong/sanjae-apply && cd sanjae-apply
npm ci && npm test
# 채운 PDF 를 글자 위치 + 픽셀로 검사
python scripts/verify_fill.py out.pdf forms/maps/F_YOYANG_APPLY.json test/samples/F_YOYANG_APPLY.json out.jpg forms/bundled/F_YOYANG_APPLY.pdf
# 채운 한글 파일을 검사 (한글이 있는 윈도우면 실제 렌더까지, 없으면 --no-render)
python scripts/verify_hwpx_fill.py out.hwpx test/samples/F_YOYANG_APPLY.json forms/hwpx_maps/F_YOYANG_APPLY.json out.jpg
설치부터 활용까지 따라 하는 사용 매뉴얼과 실측 기록은 docs/사용_매뉴얼.md 에 있습니다.
새 서식의 좌표 지도는 docs/좌표지도_작성법.md, 한글 지도는 docs/한글지도_작성법.md, 배포·연결 전체는 docs/패키징_배포_연결_가이드.md.
🗂️ 구조
src/core 규칙 S-01~S-13 · 서식/첨부 카탈로그 · 금지어 필터(순수 TS, IO 없음)
src/fill overlay.ts pdf-lib 오버레이(text / boxes / check / multiline)
hwpx.ts 한글 hwpx 채우기(cell / after / check / digits / boxes / group, 글자색·크기 교정)
src/stamp seal.ts 도장 PNG 생성(글리프 윤곽 래스터) · resolve.ts 자리 선택. PDF·hwpx 날인은 overlay.ts·hwpx.ts 의 stamps
src/accident 산업재해조사표 지침(guide.ts) · 값 점검(check.ts) · 관할 관서 찾기(jurisdiction.ts)
src/mcp 도구 8개 · 원격(mcp-handler, Bearer) · 로컬(stdio)
src/laws 법제처 Open API 클라이언트
data/ labor-offices/ 관할(직제 시행규칙 별표 1)·관서 49곳 조사표 접수 부서 연락처(확인일 2026-11-04)
api/mcp Vercel 함수
web/ 안내 페이지 스크립트(engine.ts = src/core 브라우저 번들 · main.ts = 화면). npm run build:web → public/app · public/data
forms/ catalog.json(정본 대장) · maps/(PDF 좌표 지도 13) · bundled/(동봉 PDF 13) · hwpx/(변환 hwpx 12) · hwpx_maps/(한글 지도 12)
scripts/ comwel_forms.py(서식자료실 수집) · verify_fill.py · probe_form.py · hwp_to_hwpx.py · probe_hwpx.py · verify_hwpx_fill.py · hwpx_stamp_anchors.py(도장 앵커) · verify_hwpx_stamps.py(한글 날인 실측) · mcp_dryrun.mjs
test/ vitest 294 (formal_rules.test.ts 전수 10,368건 포함)
docs/ 좌표지도 작성법 · 한글지도 작성법 · 패키징·배포·연결 가이드 · 산업재해조사표 작성방법 · SafeClaw 연동 설계
⚖️ 경계
- 공인노무사법 제27조에 따라 청구의 대행·대리와 서류의 작성·확인은 공인노무사의 직무입니다. 이 도구는 그 일을 돕는 도구이지 대신하지 않습니다.
- 규칙은 산재 실무 메모(산재창고 블로그, 2025.1.14 기준)를 옮기고 법 조문으로 근거를 붙인 것입니다. 공단 내부 규정과는 대조하지 않았습니다. 출력물은 담당 노무사가 확인한 뒤 쓰십시오.
- 서식 개정은 공단이 예고 없이 합니다.
catalog로 개정일을 한 번씩 확인하세요.
🤝 기여
- 새 서식 좌표 지도는
docs/좌표지도_작성법.md, 한글 지도는docs/한글지도_작성법.md를 따라 만들고test/samples/에 합성 값을 함께 넣어 주세요. - 규칙(S-xx)을 고칠 때는 실패하는 시험을 먼저 추가합니다.
- 실제 사건의 값·실명·주민등록번호는 이슈·PR 어디에도 올리지 마세요.
📜 라이선스
MIT. 동봉 글꼴 나눔고딕은 SIL OFL 1.1(fonts/OFL.txt). 공단 서식 PDF 는 근로복지공단 공개 자료이고, 산업재해조사표는 법제처 국가법령정보센터에 실린 법령 서식입니다. 관할 관서 연락처는 고용노동부 누리집 관서 안내 화면에서 확인한 공개 정보입니다(직원 성명 없음).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.