mcpserver.lol
registry/hwp-mcp
Connection check local install

hwp-mcp

MCP server for reading and writing HWP/HWPX (Korean Hangul) documents — built on rhwp. 34 tools, Claude/Cursor/ChatGPT compatible.

Tools 35
GitHub stars 84
Installs / wk 248
Licence MIT
Transport stdio
Last checked never

Tools & capabilities

35 tools

Read from the published package source — this server runs locally, so there is no endpoint to query. Names are taken from the code, not observed at runtime, and descriptions are often absent.

append_hwp_paragraph from source
Append a new paragraph to the end of an .hwpx document body. Clones the last paragraph
append_hwp_table_column from source
Append a new column to the Nth table in an .hwpx.
append_hwp_table_row from source
Append a new row to the Nth table (0-based) in an .hwpx.
apply_hwp_paragraph_style from source
Apply paragraph formatting (alignment·indent·line_spacing) to the Nth paragraph in an .hwpx. Adds a new paraPr to header.xml and retargets the paragraph
apply_hwp_text_style from source
Apply formatting (color/bold/italic/underline/font_size) to the first run that contains target_text. Adds a new charPr to header.xml and retargets the matching <hp:run>. Color is a…
convert_hwp_markdown from source
Convert an HWP/HWPX document to Markdown preserving document flow order: tables as GFM in place, images extracted with relative links, equations inline ($…$), footnotes at end. If…
create_hwpx_document from source
Create a new .hwpx file from a JSON content list of {type:
delete_hwp_image from source
Delete a BinData/ ZIP entry inside an .hwpx (effectively removes the embedded image bytes). Args: file_path, target (basename or full entry), output_path (optional).
delete_hwp_paragraph from source
Delete the Nth paragraph (0-based) from an .hwpx body. Args: file_path, index, output_path (optional).
delete_hwp_table_column from source
Delete the Mth column (0-based) from the Nth table in an .hwpx (removes one <hp:tc> from every row). Args: file_path, table_index, col_index, output_path (optional).
delete_hwp_table_row from source
Delete the Mth row (0-based) from the Nth table (0-based) in an .hwpx. Args: file_path, table_index, row_index, output_path (optional).
extract_hwp_images from source
Save every embedded image to disk. Args: file_path, output_dir (optional; defaults to <file>_images/).
fill_hwp_template from source
Fill multiple placeholders in an HWPX template.
get_hwp_field_value from source
Get a Hancom field
get_hwp_info from source
Get document metadata (version, page count, section count, fonts used, totals for tables/images/footnotes/equations/headers/footers). Args: file_path.
get_hwp_page_def from source
Get per-section page definition (paper size, margins, columns) and section properties. Useful for understanding document layout. Args: file_path.
insert_hwp_image from source
Insert a new image into an .hwpx — adds the file to BinData/, registers it in content.hpf, and appends a paragraph with an inline <hp:pic>. Args: file_path, source_path, ext (png/j…
insert_hwp_table from source
Insert a real OWPML table at the end of an .hwpx body (proper <hp:tbl>/<hp:tr>/<hp:tc>). headers and rows are both JSON string arrays —
list_hwp_bindata from source
List ZIP entries under BinData/ inside an .hwpx (image and binary attachments). Useful before replace_hwp_image. Args: file_path.
list_hwp_fields from source
List Hancom-style fields (
list_hwp_images from source
List embedded images (mime, byte length, locator) in an HWP/HWPX file. Args: file_path.
merge_hwp_cells_horizontal from source
Merge horizontal cells in a row of a table by setting colSpan on the first cell and removing the absorbed cells. Args: file_path, table_index, row, col_start, col_count (>=2), outp…
merge_hwp_cells_vertical from source
Merge vertical cells across rows in a single column by setting rowSpan on the first cell and removing absorbed cells in following rows. Args: file_path, table_index, col, row_start…
read_hwp from source
Read full HWP/HWPX document content as text + tables (markdown) + image listing. Args: file_path (absolute path).
read_hwp_tables from source
Extract every table from an HWP/HWPX file as GitHub-flavored markdown. Args: file_path.
read_hwp_text from source
Extract plain body text from an HWP/HWPX file (no tables, no images). Args: file_path.
render_hwp_all_pages from source
Render every page of an HWP/HWPX as SVG files in a directory. Args: file_path, output_dir (default <file>_pages/), max_pages (optional limit).
render_hwp_equation_svg from source
Render an OWPML equation script (e.g.
render_hwp_html from source
Render a single page of an HWP/HWPX as HTML. Useful for AI consumption when SVG isn
render_hwp_page from source
Render a single page of an HWP/HWPX document as SVG. If output_path is omitted, the raw SVG string is returned inline (useful for direct LLM consumption). Args: file_path, page (0-…
replace_hwp_image from source
Replace an embedded image inside an .hwpx by overwriting its BinData/ ZIP entry with new file contents.
replace_hwp_text from source
Find and replace text in an HWPX file. v0.2: only .hwpx is supported as input/output. Args: file_path, old_text, new_text, output_path (optional).
set_hwp_cell_text from source
Replace a single cell
set_hwp_field_value from source
Set a Hancom field
set_hwp_paragraph_text from source
Replace the entire text of the Nth paragraph (0-based) in an .hwpx body with new text. The paragraph attributes (paraPr/style refs) are preserved; runs are collapsed into a single…