
Korean Government Documents (HWPX)
io.github.UpstageAIPublished by GitHub account UpstageAIv0.5.0Updated Nov 7, 2026
Turns a draft into a Korean government report or press release as HWPX in each ministry's format
Overview
Turns a draft into a Korean government report, press release or official document as an HWPX file in a chosen ministry's format.
- What you can do
- Get writing guidance and per-ministry formatting rules for reports, press releases and official documents
- Check a structured draft before generation for required fields, symbol misuse, skipped levels and sentence style
- Build an HWPX file from a structure, with normalization and a list of warnings to fix, plus optional Markdown export
- Draft a press-release structure from fact notes without inventing facts, and list supported ministries and document types
- When to use it
- Use it when you need Korean public-sector documents such as briefing-style reports, press releases or official draft/dispatch documents laid out in a specific central ministry's format, and you want the assistant to structure the text and produce a HWPX file you can finish in Hangul.
- Requirements
- Runs locally over stdio, typically launched with uvx from the PyPI package; no API key or environment variable is required. Generated files go to a folder under the user's home directory, changeable with the KOREAN_REPORT_HWPX_OUT_DIR variable. Hangul (Hangul Word Processor) is needed to open and finalize the output; optional polish mode requires macOS with Hangul Office.
Installation
In SourceWeft
- Open Korean Government Documents (HWPX) in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
korean-report-hwpx — 한국 공문서 MCP (보고서·보도자료 HWPX)
[데모: 메모 한 장 → 정식·간소화 보고서(HWPX)]
[PyPI] [MCP Registry] [License: MIT] [Built with Upstage Solar Pro 4] · English
0.2.0부터 업스테이지 Solar Pro 4로 개발합니다. 간소화 모드·마크다운 출력·내부 결재 보고서는 Solar Pro 4가 코드를 작성하고, Claude가 결과를 검증했습니다.
공무원 공문서(보고서·보도자료)를 기관 서식 HWPX로. 쓰고 있는 AI(Claude·ChatGPT 등)가 메모·초안을 공문서 구조로 정리하면, 52개 중앙행정기관의 서식 규칙값으로 한글(HWPX) 파일을 그립니다.
외부 전송 없음 · API 키 불필요 — 모든 처리는 설치한 컴퓨터 안에서 끝납니다. 원고는 이 서버 밖으로 나가지 않습니다. → English README
"이 내용 공문서처럼 써 줘" 한마디로 개조식 보고서(□ → ㅇ → -) 또는 보도자료를 기관 서식대로 만듭니다. 서식은 정책브리핑 보도자료 2,670건 전수 조사로 정한 규칙값이며, 원본 문서·로고는 포함하지 않습니다.
이렇게 물어보세요
- "이 메모를 ○○부 보고서로 만들어 줘"
- "회의 내용 정리한 거야. 공문서처럼 정리해 줘" (기관을 말하지 않으면 공통 서식)
- "이 원고 국세청 보도자료로 만들어 줘 — 보도시점 2026. 10. 8.(목) 조간"
- "아까 만든 보고서 구조에서 Ⅲ장 □ 문장만 바꿔서 다시 만들어 줘"
- "산림청 보고서 서식 규칙(계층별 기호·글꼴·크기) 보여 줘"
설치 한 줄 — claude mcp add korean-report-hwpx -- uvx korean-report-hwpx
문서 종류
사용 흐름 — AI에게 "이 메모를 ○○부 보고서로 만들어 줘" → AI가 get_writing_guide로 작성 규칙 확인 → 원고를 구조 JSON으로 작성 → build_document → 결과의 warnings(고칠 점)가 있으면 AI가 고쳐 다시 생성.
분량 점검: target_pages=1을 주면 본문 쪽수·마지막 쪽 채움을 예측해 돌려주고, 1쪽을 넘거나 덜 차거나 붙임이 없으면 경고합니다. 예측은 맥 한컴오피스 한글 실측(20줄=1쪽 경계 등)에 맞췄고, 글꼴·기관 서식에 따라 한두 줄 차이가 날 수 있습니다.
문서 종류 판단 기준(가이드에 포함): 언론·국민 대상 발표·배포용이면 보도자료, 내부 보고·계획·검토면 보고서, 행정업무규정 별지 제1호서식 기안문·시행문이 필요하면 official.
설치
uv가 있으면 설치 없이 바로 실행됩니다.
Claude Code: claude mcp add korean-report-hwpx -- uvx korean-report-hwpx
- API 키·환경변수 필요 없음.
- 만든 파일은
~/korean-report-hwpx/에 저장됩니다(KOREAN_REPORT_HWPX_OUT_DIR로 변경, 이전 이름KOREAN_GOV_DOCS_OUT_DIR도 인식).
도구
보도자료 작성 방법 (국립국어원 지침·정책브리핑 실측)
get_writing_guide(doc_type='press_release', ministry=기관)을 호출하면 보도자료 작성 방법(리드·제목·인용·숫자·쉬운 말)과 사실 메모 양식, 기관별 가상 예시를 함께 제공한다. 근거는 국립국어원 보도자료 작성 지침과 정책브리핑 보도자료 2,667건 실측이다.
사실 메모 예시(과학기술정보통신부 가상 사례):
이후 draft_press_structure(facts, ministry) → 구조 JSON 초안 + missing·warnings → 문장 다듬기 → check_structure(structure, 'press_release', ministry=기관) → build_document(structure, 'press_release', 기관).
출처:
- 국립국어원, 『유형별로 알아보는 보도자료 작성 길잡이』(2020) — G20
- 국립국어원, 『보도자료 유형별 표준안 개발』(2020) — R20
- 국립국어원, 『보도 자료 쓰기 길잡이』(2011) — G11
- 국립국어원, 『개정판 한눈에 알아보는 공공언어 바로 쓰기』(2022) — H22
- 문화체육관광부·국립국어원, 『쉬운 공공언어 쓰기 길잡이』(2014) — E14
- 정책브리핑(korea.kr) 보도자료 2,667건 본문 실측(52개 중앙행정기관) — C
간소화 모드 (style="simplified")
AI가 읽기 쉬운 보고서 서식(번호 체계 표준화, 서술식 문장, 단순한 표). 항목 기호를 단계별 번호로 자동 부여하고, 제목 상자·표 머리 음영을 없앤 간결한 서식.
사용법: build_document(..., style="simplified") 또는 get_writing_guide(..., style="simplified")로 지정.
간소화 모드 특징:
- 항목 기호(□ ㅇ ○ - * ※) 대신 단계별 번호 자동 부여: Ⅰ. Ⅱ. Ⅲ. (소제목) → 1. 2. 3. (대항목) → 가. 나. 다. (중항목) → 1) 2) 3) (소항목) → 가) 나) 다) (세항목)
- 번호는 서버가 구조 JSON의 계층 수준(level)에서 계산하므로 사용자가 직접 번호를 쓰지 않음
- 단계별 들여쓰기 유지
- 서술식 문장 허용 (~합니다·~했다 등 동사형 종결 가능, 명사형 종결 경고 없음)
- 제목 상자(테두리·음영) 없이 일반 제목 문단
- 표 머리 음영 없음
- 표 제목 자동 번호:
〈표 1〉 제목형식 (caption에는 제목만 작성) - 표 셀 병합 금지: 구조에 병합이 있으면 같은 값이 행마다 반복되도록 풀어 씀
export_markdown=True: 같은 구조로 .md 파일 동시 저장 (GFM 표, #, ##, ### 제목 위계)- 줄 간격 150%, 문단 위 10pt(1수준)·5pt(그 외), 빈 줄 없이 문단 간격으로 구분
- 번호는 글자로 넣음. 한글 '개요' 번호 연동은 다음 버전 예정
내부 결재 보고서 (report_kind="internal")
정보공개포털 내부 결재 보고서 실물 표본 측정값 반영: 라벨 칸 없는 제목, 작성일·부서 줄 '26. 10. 9.(금) / 과·팀명, 줄 간격 150%, 문단 위 10pt(□)·5pt(ㅇ·-).
예시:
→ 간소화 모드로 생성 시: Ⅰ. 추진 배경, 1. 민원 대기 시간 감소를 위해 AI 안내 도입 필요, 가. 하루 평균 창구 민원 약 400건, 〈표 1〉 소요 예산 형식으로 표시.
보고서 구조 JSON 예:
보도자료 구조는 {release, distribute, title, subtitles, body, appendix, contact}입니다(블록 종류는 같고 문단 p·강조 상자 box·그림 image 추가). 원고에 담당자가 없으면 담당 표를 ○○과 / 김○○ / 044-000-0000 자리표시로 채웁니다(placeholder_contact).
기안문·시행문(별지 제1호서식) 구조는 doc_type="official"로 요청합니다. 구조:
기안문 항목 번호는 l1→1. / l2→가. / l3→1) / l4→가) / l5→(1) / l6→(가). 같은 계층 안에서 순서대로 증가하고 상위 계층이 바뀌면 하위 번호 초기화(제2조①). 둘째 계층부터 상위 번호 시작 위치에서 2타(한 글자) 오른쪽 들여쓰기. 금액은 금113,560원(금일십일만삼천오백육십원)처럼 한글 병기를 붙여야 하며, 없으면 warnings에 "금액 한글 병기 필요(시행규칙 제2조②)"가 나옵니다(제2조②). 날짜는 YYYY-MM-DD·YYYY.MM.DD를 YYYY. MM. DD.로 정규화합니다(영 제7조⑤). disclosure는 "공개"|"부분공개"|"비공개"만 허용됩니다.
지원 기관 (52곳)
보고서: 기관 규칙 = 그 기관 보도자료 참고·붙임 구간 실측값(42곳), 공통 규칙 = 기관 간 최빈값(기관을 지정하지 않으면 기관명 칸은 비움). 보도자료: 문단식 = 기호 없는 기사체 문단 위주, □식 = □ → ㅇ → - 개조식.
기관 로고
정부상징·기관 로고는 사용 규정상 이 패키지에 포함하지 않습니다. 소속 기관 담당자가 자기 기관 로고 파일을 지정하세요.
logo_path로 로고 그림 파일을 지정하면 보도자료는 표지의 로고 자리(기관별 크기)에, 보고서는 제목 상자 위에 들어갑니다. 보도자료 슬로건 그림은slogan_path.- 지정하지 않으면 보도자료 표지에 같은 크기의 「기관 로고」 자리표시가 들어갑니다. 한글에서 글을 지우고 그림을 넣으면 됩니다.
데이터 전송 안내
- 모든 처리는 로컬입니다. 이 서버는 외부 API를 부르지 않고, 원고·결과 파일을 어디로도 보내지 않습니다.
- 원고를 구조로 정리하는 일은 사용자가 쓰는 AI가 합니다. 그 AI 서비스의 데이터 정책은 별도로 확인하세요.
근거
- 정책브리핑(korea.kr) 보도자료 HWPX 2,670건(52개 중앙행정기관) 전수 파싱. 보도자료 본문 서식은 2,016건의 문단 35,465개·빈 줄 35,434개·표 칸 32,392개 실측.
- 보고서 서식은 같은 자료 중 「참고·붙임」 보고서형 구간이 있는 1,326건(문단 13,757개)에서 기관별로 산출(42개 기관, 3건 이상). 공통 골격(□·-·*·※ 기호, 기호 뒤 1타, 1행 제목 상자, 표 머리 맑은 고딕·가운데·굵게)은 기관 간 90% 이상 일치.
- 공식 기준: 「행정업무의 운영 및 혁신에 관한 규정 시행규칙」의 항목 구분(1. → 가. → 1) → 가) …), 경기도교육청 「한 곳에 정리한 공문서 작성법」(둘째 줄은 항목 첫 글자에 맞춤, 기호 뒤 1타, 하위 항목 2타 들여쓰기 등).
- 실측: 정책브리핑 보도자료 2,670건·52개 기관(보고서 구간 1,326건)에서 기관별 기호·글꼴·빈 줄·표지 표 수치를 산출.
- 규칙 문서: 보도자료 서식 규칙, 보고서 서식 규칙. 규칙값:
rules/,rules_report/, 보도자료 표지·담당 표 수치:templates/. - 원자료는 정책브리핑에 공공누리로 공개된 보도자료이며, 이 저장소에는 원본 파일·본문·그림을 포함하지 않고 서식 수치만 담았습니다.
서식 근거 (쪽 설정)
모든 문서 종류(보고서·보도자료·기안문)의 편집 용지는 A4(210×297mm, HWPUNIT 59528×84188), 좌우 여백 20mm(HWPUNIT 5669), 위·아래 여백 15mm(HWPUNIT 4252), 머리말·꼬리말 10mm(HWPUNIT 2835), gutter 0을 기본값으로 쓴다. 본문폭(text width)은 width − left − right = 48190(HWPUNIT, 170mm)이며, 표(<hp:tbl>)의 폭은 본문폭을 넘지 않는다.
- 근거: 정책브리핑(korea.kr) 보도자료 원본 2,667건(52개 중앙행정기관) 중 A4·좌우 20mm 2,640건, 위15·아래15·머리말10·꼬리말10 1,817건(최빈값). 과학기술정보통신부 118건 중 100건, 행정안전부 135건 중 120건이 이 설정과 일치.
- 기관 템플릿(
templates/<기관>.json의page)이 있으면 그 기관의 최빈값(기관값)을 쓰고, 표본이 10건 미만이면 공통값(default)을 쓴다. 기관값은korean_report_hwpx/rules/_쪽설정.json의기관값에 근거와 함께 기록돼 있다. - 기안문 쪽 설정은 「행정업무의 운영 및 혁신에 관한 규정」 제7조⑥(용지 A4)에 따라 위 공통값을 쓴다.
- 규칙값 파일:
korean_report_hwpx/rules/_쪽설정.json.
유의
- 결과물은 초안입니다. 보고·배포 전 한글에서 확인하세요.
- 줄 끝(마지막 줄 한두 글자 등)은 글자 폭 추정으로 맞추므로 일부 남을 수 있습니다. macOS + 한컴오피스 한글이 있으면
polish=True로 실제 줄 배치를 받아 문단별 자간을 다시 고릅니다(한글 창이 여러 번 열리고 수 분 걸림). - 글꼴은 사용하는 컴퓨터에 설치된 글꼴로 표시됩니다(휴먼명조·HY헤드라인M 등 미설치 시 대체 글꼴).
- 기안문·시행문은
doc_type="official"로 지원합니다(별지 제1호서식, rules_official/_공통.json). 항목 번호(1.→가.→1)→가)→(1)→(가))는 서버가 부여, 사용자는 번호를 쓰지 않습니다. 날짜는 YYYY-MM-DD·YYYY.MM.DD를 YYYY. MM. DD.로 정규화합니다.
라이선스
MIT © 2026 Upstage
Created by Mia(윤승미)
Source: README.md at commit 8259fa2
Tools
0Version history
4- v0.5.0LatestNov 7, 2026
- v0.4.1Oct 29, 2026
- v0.3.2Oct 25, 2026
- v0.2.1Oct 14, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts