hwpx-mcp-server
HWPX files can be opened and viewed in LibreOffice, though with limited support, allowing cross-platform document verification.
Allows inserting Mermaid diagrams (e.g., flowcharts, sequence diagrams) into HWPX documents via the render_mermaid tool.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hwpx-mcp-serverCreate a new HWPX document titled 'Meeting Notes' with a paragraph about project updates"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HWPX MCP Server
AI 도구(Claude, Cursor 등)와 연동하여 한글(HWPX) 문서를 자동으로 편집할 수 있는 MCP(Model Context Protocol) 서버입니다. 132개 도구를 제공합니다.
Cross-Platform Support
OS | MCP 서버 | HWPX 편집 | 결과물 확인 |
Windows | O | O | 한컴오피스 |
macOS | O | O | 한컴오피스 Mac |
Linux | O | O | 한컴오피스 Linux / LibreOffice* |
HWPX 파일은 ZIP + XML 구조이므로 한글 프로그램 없이도 Node.js만으로 읽고 쓸 수 있습니다. *LibreOffice는 HWPX를 제한적으로 지원합니다.
1. 설정
별도 설치 없이 MCP 클라이언트 설정만 추가하면 됩니다. (Node.js 18+ 필요)
Claude Desktop
설정 파일 위치:
OS | 경로 |
Windows |
|
macOS |
|
Linux |
|
설정 내용:
{
"mcpServers": {
"hwpx": {
"command": "npx",
"args": ["-y", "hwpx-mcp-server@latest"]
}
}
}Claude Code (CLI)
macOS / Linux:
# 전역 설정 (모든 프로젝트에서 사용)
claude mcp add hwpx --scope user npx -y hwpx-mcp-server@latest
# 프로젝트별 설정
claude mcp add hwpx npx -y hwpx-mcp-server@latestWindows:
# 전역 설정
claude mcp add hwpx --scope user -- npx -y hwpx-mcp-server@latest
# 프로젝트별 설정
claude mcp add hwpx -- npx -y hwpx-mcp-server@latestWindows에서는
--를 넣어야-y옵션이 정상 전달됩니다.
Cursor
설정 파일: ~/.cursor/mcp.json
{
"mcpServers": {
"hwpx": {
"command": "npx",
"args": ["-y", "hwpx-mcp-server@latest"]
}
}
}VS Code
설정 파일: .vscode/mcp.json
{
"servers": {
"hwpx": {
"command": "npx",
"args": ["-y", "hwpx-mcp-server@latest"]
}
}
}Codex / Gemini CLI / 기타
{
"mcpServers": {
"hwpx": {
"command": "npx",
"args": ["-y", "hwpx-mcp-server@latest"]
}
}
}2. 문서 작성 스킬 설치 (선택)
스킬 파일을 설치하면 AI가 build_document 도구를 활용하여 서식이 갖춰진 한글 문서를 한 번의 호출로 작성합니다.
스킬 파일 URL:
https://raw.githubusercontent.com/flamingo8006/hwpx-mcp/main/skills/hwpx-document-writer.md
Claude Code
macOS / Linux:
mkdir -p ~/.claude/skills/hwpx-document-writer
curl -o ~/.claude/skills/hwpx-document-writer/skill.md \
https://raw.githubusercontent.com/flamingo8006/hwpx-mcp/main/skills/hwpx-document-writer.mdWindows (PowerShell):
New-Item -ItemType Directory -Force -Path "$HOME\.claude\skills\hwpx-document-writer"
curl.exe -o "$HOME\.claude\skills\hwpx-document-writer\skill.md" `
https://raw.githubusercontent.com/flamingo8006/hwpx-mcp/main/skills/hwpx-document-writer.mdClaude Desktop
Claude Desktop은 공식적으로 커스텀 스킬을 지원하지 않습니다. 프로젝트 Custom Instructions 사용을 권장합니다:
위 URL에서 스킬 파일 내용을 복사
Claude Desktop에서 프로젝트 생성
프로젝트 설정 → Custom Instructions 에 붙여넣기
기타 클라이언트 (Cursor / Codex / Gemini CLI)
위 URL에서 스킬 파일 내용을 복사하여 시스템 프롬프트에 포함시키면 동일한 효과를 얻을 수 있습니다.
3. 설치 확인
클라이언트 재시작 후 MCP 도구 목록에서 hwpx 서버와 132개 도구가 표시되면 성공입니다.
4. MCP 도구 목록 (132개)
문서 관리 (8개)
도구 | 설명 |
| 도구 사용 가이드 조회 |
| 새 빈 HWPX 문서 생성 |
| HWPX 문서 열기 |
| 열린 문서 닫기 |
| 문서 저장 (백업/무결성 검증 지원) |
| 현재 열린 문서 목록 |
| 메타데이터 조회 (제목, 저자, 날짜) |
| 메타데이터 수정 |
문서 조회 (9개)
도구 | 설명 |
| 전체 텍스트 추출 |
| 문서 구조 (섹션/단락/테이블/이미지 수) |
| 문서 개요 (제목 기반) |
| 단락 목록 조회 |
| 특정 단락 상세 정보 |
| 글자수/단어수 통계 |
| 삽입 위치 컨텍스트 조회 |
| 제목 다음 삽입 위치 찾기 |
| 테이블 다음 삽입 위치 찾기 |
텍스트 편집 (11개)
도구 | 설명 |
| 새 단락 삽입 |
| 단락 텍스트 수정 (전체 교체) |
| 스타일 유지하며 텍스트 수정 |
| 기존 단락에 텍스트 추가 |
| 단락 삭제 |
| 단락 복사 |
| 단락 이동 |
| 텍스트 포매팅 |
| 텍스트 검색 (정규식, 테이블 셀 포함) |
| 텍스트 찾아 바꾸기 |
| 텍스트로 단락 찾기 |
일괄 처리 (2개)
도구 | 설명 |
| 여러 텍스트 일괄 치환 |
| 테이블 여러 셀 일괄 채우기 |
서식 - 문자/문단 스타일 (10개)
도구 | 설명 |
| 문자 스타일 조회 (폰트/크기/색상) |
| 문자 스타일 설정 |
| 문단 스타일 조회 (정렬/줄간격/여백) |
| 문단 스타일 설정 |
| 문서 스타일 목록 |
| 문자 모양(CharShape) 정의 |
| 문단 모양(ParaShape) 정의 |
| 단락에 스타일 적용 |
| 단(Column) 설정 조회 |
| 단 설정 변경 (다단 편집) |
번호/불릿 매기기 (3개)
도구 | 설명 |
| 번호 매기기 정의 목록 |
| 불릿 정의 목록 |
| 번호/불릿 목록 스타일 적용 |
내어쓰기 (8개)
도구 | 설명 |
| 내어쓰기 조회 |
| 내어쓰기 설정 |
| 자동 내어쓰기 |
| 내어쓰기 제거 |
| 셀 내어쓰기 조회 |
| 셀 내어쓰기 설정 |
| 셀 자동 내어쓰기 |
| 셀 내어쓰기 제거 |
테이블 (29개)
도구 | 설명 |
| 테이블 목록 |
| 테이블 상세 데이터 |
| 특정 셀 내용 |
| 테이블을 CSV로 추출 |
| 테이블 구조 맵 |
| 테이블 요약 정보 |
| 섹션별 테이블 |
| 셀 컨텍스트 정보 |
| 헤더로 테이블 찾기 |
| 라벨로 셀 찾기 |
| 빈 테이블 찾기 |
| 테이블 요소 인덱스 |
| 경로 기반 셀 채우기 |
| 테이블 삽입 |
| 중첩 테이블 삽입 (표 안에 표) |
| 테이블 삭제 |
| 셀 수정 |
| 셀 내 텍스트 치환 |
| 셀 속성 설정 (크기/배경/정렬) |
| 셀 배경색 설정 |
| 열 너비 설정 |
| 행 추가 |
| 행 삭제 |
| 열 추가 |
| 열 삭제 |
| 셀 병합 |
| 셀 분할 |
| 테이블 복사 |
| 테이블 이동 |
이미지 (7개)
도구 | 설명 |
| 이미지 목록 |
| 이미지 삽입 |
| 테이블 셀에 이미지 삽입 |
| 이미지 크기 변경 |
| 이미지 삭제 |
| Mermaid 다이어그램 삽입 |
| 셀에 Mermaid 다이어그램 삽입 |
도형 (3개)
도구 | 설명 |
| 선 도형 삽입 |
| 사각형 도형 삽입 |
| 타원 도형 삽입 |
머리글/바닥글 (4개)
도구 | 설명 |
| 머리글 조회 |
| 머리글 설정 |
| 바닥글 조회 |
| 바닥글 설정 |
각주/미주 (4개)
도구 | 설명 |
| 각주 목록 |
| 각주 삽입 |
| 미주 목록 |
| 미주 삽입 |
북마크/하이퍼링크 (4개)
도구 | 설명 |
| 북마크 목록 |
| 북마크 삽입 |
| 하이퍼링크 목록 |
| 하이퍼링크 삽입 |
수식/메모 (5개)
도구 | 설명 |
| 수식 목록 |
| 수식 삽입 |
| 메모 목록 |
| 메모 삽입 |
| 메모 삭제 |
섹션/페이지 (6개)
도구 | 설명 |
| 섹션 목록 |
| 섹션 삽입 |
| 섹션 삭제 |
| 페이지 설정 조회 |
| 페이지 설정 변경 |
| 페이지 나누기 삽입 |
내보내기 (2개)
도구 | 설명 |
| 텍스트 파일로 내보내기 |
| HTML 파일로 내보내기 |
실행 취소 (2개)
도구 | 설명 |
| 실행 취소 |
| 다시 실행 |
검색/인덱싱 (8개)
도구 | 설명 |
| 문서 청킹 |
| 청크 검색 |
| 청크 컨텍스트 |
| 오프셋 청크 조회 |
| 목차 추출 |
| 위치 인덱스 빌드 |
| 위치 인덱스 조회 |
| 위치 인덱스 검색 |
고급/디버깅 (7개)
도구 | 설명 |
| 섹션 XML 조회 |
| 섹션 XML 설정 |
| 원본 섹션 XML 조회 |
| 원본 섹션 XML 설정 |
| XML 구조 분석 |
| XML 복구 |
| 읽기 캐시 무효화 |
5. 사용 예시
예시 1: 기본 문서 편집
사용자: report.hwpx 열어서 3번째 단락 텍스트를 수정해줘
AI 동작:
1. open_document("report.hwpx")
2. get_paragraphs(section_index=0) → 단락 목록 확인
3. update_paragraph_text(section=0, paragraph=2, text="수정된 내용")
4. save_document()예시 2: 테이블 셀 수정
사용자: 사업계획서.hwpx에서 3번째 테이블의 2행 1열을 수정해줘
AI 동작:
1. open_document("사업계획서.hwpx")
2. get_tables() → 테이블 목록 확인
3. get_table(section=0, index=2) → 구조 확인
4. update_table_cell(section=0, table=2, row=1, col=0, text="수정 내용")
5. save_document()예시 3: 스타일 복사 후 새 단락 추가
사용자: 기존 양식의 스타일을 참고해서 새 문단을 추가해줘
AI 동작:
1. get_paragraph_style(sec=0, para=10) → {align: "Justify", lineSpacing: 145}
2. get_text_style(sec=0, para=10) → {fontName: "맑은 고딕", fontSize: 14}
3. insert_paragraph(sec=0, after=10, text="새 내용")
4. set_paragraph_style(sec=0, para=11, align="justify", line_spacing=145)
5. set_text_style(sec=0, para=11, font_name="맑은 고딕", font_size=14)
6. save_document()예시 4: 테이블 셀 검색 후 정밀 치환
사용자: "김철수"를 "이영희"로 바꿔줘 (3번째 테이블의 것만)
AI 동작:
1. search_text(query="김철수", include_tables=true)
→ [{type: "table", tableIndex: 2, row: 3, col: 1}, ...]
2. replace_text_in_cell(table=2, row=3, col=1, old="김철수", new="이영희")
3. save_document()예시 5: Mermaid 다이어그램 삽입
사용자: 플로우차트를 문서에 넣어줘
AI 동작:
1. render_mermaid(
mermaid_code="graph TD; A[시작]-->B[처리]; B-->C[완료]",
after_index=5,
theme="default"
)
2. save_document()예시 6: 일괄 치환
사용자: "2025년"을 "2026년"으로, "홍길동"을 "김영수"로 전부 바꿔줘
AI 동작:
1. batch_replace(replacements=[
{old_text: "2025년", new_text: "2026년"},
{old_text: "홍길동", new_text: "김영수"}
])
2. save_document()6. 지원 포맷
포맷 | 확장자 | 읽기 | 쓰기 |
HWPX | .hwpx | O | O |
HWP | .hwp | X | X |
HWP(바이너리) 파일은 지원하지 않습니다. 한컴오피스에서 HWPX로 변환 후 사용하세요.
7. 알려진 제한사항
각주/미주/북마크/하이퍼링크 삽입: 메모리에서만 동작, save 후 XML 미반영 (읽기는 정상)
HWP 파일: 지원하지 않음 (HWPX로 변환 필요)
secPr 문단 스타일: 첫 번째 특수 문단에서 스타일 reload 제한
8. 개발
빌드
cd mcp-server
npm run build테스트
cd mcp-server
npm test # 전체 테스트 (vitest)
npx vitest run src/HwpxDocument.test.ts # 특정 파일
npx vitest run -t "test name" # 이름 패턴Credits
Original Project: mjyoo2/hwp-extension
Enhanced by: Dayoooun
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/flamingo8006/hwpx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server