heonseung4-del/hwp-metadata-mcp
3.2
If you are the rightful owner of hwp-metadata-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
HWP Metadata MCP Server is a tool for extracting metadata from HWP and HWPX files using the Model Context Protocol.
Tools
3
Resources
0
Prompts
0
HWP Metadata MCP Server
한글(HWP/HWPX) 파일의 메타데이터를 추출하는 MCP(Model Context Protocol) 서버입니다.
기능
- HWP 5.0 지원: OLE 기반 바이너리 HWP 파일
- HWPX 지원: XML 기반 오픈 포맷 HWPX 파일
- 자동 감지: 파일 형식을 자동으로 감지하여 처리
- 크로스 플랫폼: Windows, Linux, macOS 지원
- HWP 설치 불필요: 순수 Python 라이브러리로 구현
추출 가능한 메타데이터
- 문서 정보: 제목, 작성자, 키워드, 주제, 설명
- 시간 정보: 생성일, 수정일, 마지막 인쇄일
- 문서 통계: 페이지 수, 단어 수, 문자 수, 문단 수
- 보안 정보: 암호화 여부, 읽기 전용 여부
- 기술 정보: HWP 버전, 사용된 글꼴 목록
- 애플리케이션 정보: 생성 프로그램 및 버전
설치
# pip 사용
pip install hwp-metadata-mcp
# uv 사용 (권장)
uv add hwp-metadata-mcp
# 개발 버전 설치
git clone https://github.com/heonseung4-del/hwp-metadata-mcp
cd hwp-metadata-mcp
uv pip install -e .
사용법
Claude Desktop에서 사용
claude_desktop_config.json 파일에 다음을 추가하세요:
Windows: %APPDATA%/Claude/claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"hwp-metadata": {
"command": "uvx",
"args": ["hwp-metadata-mcp"]
}
}
}
또는 로컬 설치된 경우:
{
"mcpServers": {
"hwp-metadata": {
"command": "python",
"args": ["-m", "hwp_metadata_mcp.server"]
}
}
}
Python에서 직접 사용
from hwp_metadata_mcp.hwp_parser import HwpParser
from hwp_metadata_mcp.hwpx_parser import HwpxParser
from hwp_metadata_mcp.hwp_parser import detect_file_type
# 자동 감지
file_type = detect_file_type("document.hwp")
if file_type == "HWP":
metadata = HwpParser.parse("document.hwp")
elif file_type == "HWPX":
metadata = HwpxParser.parse("document.hwpx")
# 메타데이터 접근
print(f"제목: {metadata.title}")
print(f"작성자: {metadata.author}")
print(f"페이지 수: {metadata.page_count}")
print(f"생성일: {metadata.created_date}")
MCP Tools
서버는 다음 3개의 tool을 제공합니다:
1. extract_metadata (권장)
파일 형식을 자동으로 감지하여 메타데이터 추출
# Claude Desktop에서:
# "이 HWP 파일의 메타데이터를 알려줘: /path/to/file.hwp"
2. extract_hwp_metadata
HWP 5.0 파일 전용
3. extract_hwpx_metadata
HWPX 파일 전용
MCP Resources
URI를 통해 메타데이터 조회:
hwp://metadata//path/to/document.hwp
hwp://metadata//path/to/document.hwpx
개발
요구사항
- Python 3.10 이상
- mcp >= 1.0.0
- pydantic >= 2.0.0
- olefile >= 0.46
로컬 테스트
# MCP Inspector로 테스트
uv run mcp dev src/hwp_metadata_mcp/server.py
# 직접 실행
uv run python -m hwp_metadata_mcp.server
테스트 실행
# 테스트 패키지 설치
uv add --dev pytest pytest-asyncio
# 테스트 실행
pytest tests/
지원 환경
- OS: Windows, Linux, macOS
- Python: 3.10, 3.11, 3.12
- HWP: 5.0 이상
- HWPX: 모든 버전
제한사항
- 암호화된 HWP 파일: 암호화 여부는 확인 가능하지만, 암호로 보호된 파일의 상세 메타데이터는 추출할 수 없습니다
- 문서 내용: 메타데이터만 추출하며, 본문 텍스트는 추출하지 않습니다
- 편집 기능 없음: 읽기 전용입니다. 파일 편집은 지원하지 않습니다
라이선스
BSD-3-Clause License
기여
이슈 및 Pull Request를 환영합니다!
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
관련 프로젝트
문의
이슈를 통해 문의해주세요: GitHub Issues