hwp-mcp
hwp-mcp
Claude · Cursor · ChatGPTなどのMCP互換AIで、韓国語ワープロ文書(.hwp / .hwpx) を読み込み、修正し、新規作成できるようにするサーバーです。
hwp-mcpは、AIエージェントが直接Hancom Office文書を扱えるようにするMCP(Model Context Protocol)サーバーです。読み込みだけでなく、テキストの修正、テンプレートの入力、新規文書の作成まで可能です。
どのようなプロジェクトですか?
このプロジェクトは2つの部分に分かれています。
🔧 rhwpの役割(コアエンジン) — Edward Kim 氏の rhwp は、クローズドな韓国語フォーマット(HWP 5.0 binary, HWPX/OWPML)をすべてリバースエンジニアリングで解析し、Rust + WebAssemblyで実装したオープンソースエンジンです。パース、表・画像・数式・ヘッダーの抽出、SVGレンダリング、Hancom互換Field APIなど、すべての核心的な能力はrhwpが提供します。rhwpがなければ、このプロジェクトも存在しません。
🤝
hwp-mcpの役割(エージェントアダプター) —@rhwp/coreの上に構築された軽量なMCPサーバーレイヤーです。私たちが追加したのは以下の通りです:read_hwp,fill_hwp_template,replace_hwp_textのようなエージェントフレンドリーなツールシグネチャ — Claude/CursorのようなLLMが自然言語で呼び出せるようにするため本文・表・画像・ヘッダー・フッター・脚注・数式を一度にダンプするシナリオ中心のトラバーサルウォーカー
表のセル結合の自動処理、脚注/数式の自動統合といった使いやすさ向上のレイヤー
rhwp 0.7.7の
exportHwpxラウンドトリップの限界を回避するための**.hwpxZIPレベルのミューテーションレイヤー**(実際の書き込みを可能にする核心)npm
hwp-mcpパッケージ(ワンラインインストール) + Node.js WASMブートストラップ
要約:AIが韓国語文書を実際に読み書きできるようにするアダプターです。すべてのオープンな韓国語処理能力に対する感謝は、rhwpプロジェクトにお送りください 🙏
Related MCP server: HWP-MCP
インストール
Claude Code
claude mcp add hwp-mcp -- npx -y hwp-mcpClaude Desktop / Cursor / VS Code (settings JSON)
{
"mcpServers": {
"hwp-mcp": {
"command": "npx",
"args": ["-y", "hwp-mcp"]
}
}
}Node.js 20以上が必要です。
ツール一覧
hwp-mcp v0.2が公開する34個のMCPツールです。読み込み・レンダリングは.hwp/.hwpxの両方をサポートし、書き込みは.hwpx専用です。
読み込み (5)
ツール |
|
| 説明 |
| ✅ | ✅ | 本文 + 表(Markdown) + 画像リストを一括取得 |
| ✅ | ✅ | 本文 + ヘッダー + フッター + 脚注 + 数式の統合テキスト |
| ✅ | ✅ | 表をGitHub Markdown形式に変換(セル結合処理) |
| ✅ | ✅ | 埋め込み画像リスト(mime, バイト) |
| ✅ | ✅ | 画像をディスクに抽出 |
メタ / 照会 (5)
ツール |
|
| 説明 |
| ✅ | ✅ | バージョン・ページ・フォント・表/画像/脚注/数式の統計 |
| ✅ | ✅ | セクション別の用紙サイズ・余白・段・ヘッダー/フッターマージン |
| ✅ | ✅ | Hancomフィールドリスト |
| ✅ | ✅ | フィールド値の照会 |
| – | ✅ |
|
視覚レンダリング (4)
ツール |
|
| 説明 |
| ✅ | ✅ | 特定ページ → SVG(インライン/ファイル) |
| ✅ | ✅ | 全ページSVG一括変換 |
| ✅ | ✅ | ページ → HTML |
| – | – | OWPML数式スクリプト → SVG |
書き込み — テキスト (5)
ツール |
| 説明 |
| ✅ | 特定文字列の検索・置換 |
| ✅ |
|
| ✅ | N番目の段落テキストを丸ごと置換 |
| ✅ | 表のセル(行, 列)テキストを直接設定 |
| ✅ | フィールド値の設定 |
書き込み — 構造 (9)
ツール |
| 説明 |
| ✅ | 本文の最後に新しい段落を追加 |
| ✅ | N番目の段落を削除 |
| ✅ | 表の最後に新しい行を追加 |
| ✅ | 表の行を削除 |
| ✅ | 表の最後に新しい列を追加(全行に対して) |
| ✅ | 表の列を削除 |
| ✅ | 横方向のセル結合 (colSpan) |
| ✅ | 縦方向のセル結合 (rowSpan) |
| ✅ | 埋め込み画像の置換 |
書き込み — 書式 (2)
ツール |
| 説明 |
| ✅ | 文字色・太字・斜体・下線・サイズ (charPr追加) |
| ✅ | 段落の配置・インデント・行間 (paraPr追加) |
書き込み — 画像 / 表 / 新規 (4)
ツール |
| 説明 |
| ✅ | 新しい画像の追加 (BinData + manifest + |
| ✅ | BinData/ エントリの削除 |
| ⚠️ | 新しいOWPML表の挿入(実験的 — ファイルは有効だがrhwpの認識が不完全) |
| ✅ | テキストから新しい |
コンテンツ抽出マトリックス
コンテンツ | 抽出 | 備考 |
本文段落テキスト | ✅ |
|
表(セル結合含む) | ✅ |
|
埋め込み画像 | ✅ | PNG/JPG/BMPなどを抽出 |
ヘッダー / フッター | ✅ |
|
脚注(footnote) | ✅ | 結果の最後に |
数式(equation) | ✅ | OWPMLスクリプト形式 (例: |
ページSVGレンダリング | ✅ |
|
テキストボックス本文 | ❌ | rhwpの |
文末脚注(endnote) | – | rhwp自体が未サポート(脚注のみ) |
チャート(chart) | ❌ | v0.3以降 |
作成マトリックス
作業 |
|
| 備考 |
テキスト単一置換 | ❌ | ✅ |
|
複数プレースホルダー埋め込み | ❌ | ✅ |
|
段落テキスト丸ごと置換 | ❌ | ✅ |
|
表セル直接修正 | ❌ | ✅ |
|
フィールド値設定 | ❌ | ✅ |
|
新規段落追加 / 削除 | ❌ | ✅ |
|
表行追加 / 削除 | ❌ | ✅ |
|
画像置換 / 削除 | ❌ | ✅ |
|
新規文書作成 (テキスト) | – | ✅ |
|
新規文書作成 (表) | – | ⚠️ | テキスト行としてフラット化(v0.3で本格的なOWPML表) |
新規画像挿入 | ❌ | ✅ |
|
表列追加 / 削除 | ❌ | ✅ |
|
セル結合 (横・縦) | ❌ | ✅ |
|
文字書式 (色・太字・斜体・下線・サイズ) | ❌ | ✅ |
|
段落書式 (配置・インデント・行間) | ❌ | ✅ |
|
新規表挿入 (本格的なOWPML) | ❌ | ⚠️ |
|
ヘッダー/フッター新規挿入 | ❌ | ❌ | v0.3 |
チャート・ブックマーク・スタイル定義 | ❌ | ❌ | v0.3 |
.hwpバイナリの書き込みは、rhwp 0.7.7のexportHwpラウンドトリップの限界によりv0.2では未サポートです。Hancom Officeで.hwpxとして名前を付けて保存してから書き込みツールを使用するか、v0.3のリリースをお待ちください。
使用例
政府の韓国語文書の読み込み
나: /Users/me/2026년_시행계획.hwpx 읽어줘
AI: # 2026년_시행계획.hwpx
형식: .HWPX | 문단: 153개 | 표: 15개 | 이미지: 2개
Ⅰ. 추진 배경
□ (글로벌 현황) 전세계 AI 솔루션 시장 규모는 ...
### 표 9 (7행 x 4열)
| 도메인 | 입력 데이터 | 학습 내용 | 산업AI 솔루션 적용 기능 예시 |
| --- | --- | --- | --- |
| 기계 | · 센서 데이터 로그 ... | ... | ... |テンプレートの埋め込み
나: /path/to/form.hwpx 에서 {{이름}}=남대현, {{회사}}=포텐랩 으로 채워줘
AI: 저장 완료 (saved): form_filled.hwpx
총 2건 치환 (2 replacements)
'{{이름}}' → 1건
'{{회사}}' → 1건テキスト置換
나: /path/to/doc.hwpx 의 "산업AI" 를 "산업-AI" 로 바꿔줘
AI: '산업AI' → '산업-AI': 18건 교체 (replaced 18)
저장 (saved): doc_modified.hwpx新規 .hwpx の作成
나: employees.hwpx 에 "사원 명부" 와 "두 번째 줄" 두 줄을 가진 문서 만들어줘
AI: HWPX 문서 생성 완료 (created): employees.hwpx画像抽出
나: /path/to/document.hwpx 에서 이미지 빼줘
AI: 이미지 2개를 추출했습니다 (extracted 2 images):
저장 위치: /path/to/document_images
- image_001.bmp
- image_002.bmpページをSVGとしてレンダリング(視覚分析用)
나: /path/to/document.hwpx 의 첫 페이지를 SVG로 보여줘
AI: <svg xmlns="..." width="793" height="1122" viewBox="...">
<defs>...</defs>
...
</svg>またはディスクに保存:
나: /path/to/document.hwpx 모든 페이지 SVG로 저장해줘
AI: 9/9 페이지 SVG 저장 (rendered 9/9 pages):
저장 위치: /path/to/document_pages
- page_001.svg
- page_002.svg ...制限事項
hwp-mcp v0.2の既知の制約事項です。
.hwp書き込み未サポート — 読み込みは.hwp/.hwpx両方可能です。書き込みは.hwpxのみです。.hwp入力に対して書き込みツールを呼び出すと、明確なエラーメッセージを返します。Hancom Officeで.hwpxとして名前を付けて保存してから使用するか、v0.3のリリースをお待ちください。クロスフォーマット保存の拒否 —
.hwpx入力は.hwpxとしてのみ保存されます。ヘッダー/フッター/脚注は抽出可能、テキストボックス/文末脚注/数式はv0.3 —
read_hwp_textの結果において、ヘッダーは--- headers ---、フッターは--- footers ---、脚注は--- footnotes ---ブロックとして表示されます。テキストボックス本文、文末脚注、数式の抽出はv0.3予定です。検索語が2つのテキストノードにまたがる場合はマッチング不可 — 例:1つの
<hp:t>が「産業」で終わり、次が「AI」で始まる場合、「産業AI」はマッチングしません。これはHancomのhwpctlと同じ制限です。create_hwpx_documentの表はv0.2ではテキスト行としてフラット化 — 本格的なOWPML表はv0.3で対応予定です。
どのように動作しますか?
読み込み:
@rhwp/core(rhwpのRust+WASMパーサー) がセクション・段落・表(結合セル含む)・画像をトラバースします。書き込み (.hwpx): ZIPアーカイブ内の
Contents/section*.xmlを直接パースして<hp:t>テキストノードを検索/置換した後、再パッケージ化します(mimetypeは仕様通りstored)。rhwpのexportHwpx()ラウンドトリップ問題を回避するためのレイヤーです。新規文書: rhwpの
createBlankDocument+insertTextで作成した後、exportHwpxで保存します(テキストのラウンドトリップが安定しているため)。
クレジット
rhwp (@edwardkim) — 核心的なパーサー・レンダラー・Field API。クローズドな韓国語フォーマットをオープンにしたすべての作業が、このプロジェクトの土台です。可能であれば、そのプロジェクトも応援してください: https://github.com/edwardkim/rhwp
hwp-mcp — rhwpの上にAIエージェントが自然言語で呼び出せるようにツール化した軽量なMCPアダプター。核心的な能力はすべてrhwpのものであり、私たちはそれをLLMに接続する配線(wiring)を行っています。
カバレッジ
領域 | カバー率 |
読み込み/抽出 | ~90% |
レンダリング | ~85% (SVG · HTML · 数式SVG · Canvasはブラウザ用のため除外) |
書き込み — テキスト | ~95% |
書き込み — 構造 | ~90% (行・列・結合・画像4種) |
書き込み — 書式 | ~70% (文字 + 段落) |
メタ / フィールド | ~85% |
全体加重 | ~85% |
残りのv0.3の大きな項目:.hwp バイナリ書き込み、チャート、スタイル定義・適用、テキストボックス本文抽出、hwpctl 30 Actions(意図的に除外)。
English
hwp-mcp is an MCP server for reading and writing Korean Hangul (.hwp / .hwpx) documents from Claude / Cursor / ChatGPT and any MCP-compatible client. Read works for both formats; write currently supports .hwpx (find/replace, template fill, create new doc) — .hwp write is planned for v0.3. Built on top of rhwp (Rust + WebAssembly HWP engine by Edward Kim, MIT). Install: claude mcp add hwp-mcp -- npx -y hwp-mcp.
License
MIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceAn MCP server that enables LLMs to convert HWP and HWPX documents into Markdown for analysis and processing. It supports document conversion via local file paths or Base64 content across various MCP-compatible clients.2
- FlicenseNot gradedqualityNot gradedmaintenanceAn MCP server that enables AI models to control Hancom Office Hanword (HWP) documents on Windows. It allows for the automated creation, editing, and management of Korean word processor files, including text formatting and table manipulation.
- AlicenseNot gradedqualityDmaintenanceAn MCP server for reading, editing, and creating Hangul Word Processor (.hwpx) files. It enables users to extract text, perform find-and-replace operations, and modify font styles through automated XML patching.67MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for AI-driven editing of HWPX (Korean word processor) documents, providing 132 tools for text, tables, images, and more.MIT
Related MCP Connectors
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/treesoop/hwp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server