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 toolsRead 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 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 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. 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 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… 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 6-digit hex (e.g.
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… 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 output_path is omitted, the Markdown string is returned inline with image placeholders. Args: file_path, output_path (optional .md path), image_dir (optional, default <md name>_images/ next to output).
create_hwpx_document
from source
Create a new .hwpx file from a JSON content list of {type: 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 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 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 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). 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/). 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. Fill multiple placeholders in an HWPX template.
get_hwp_field_value
from source
Get a Hancom field 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 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. 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 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/jpg/bmp/gif; auto from source_path if omitted), output_path (optional).
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 — 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 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 Hancom-style fields (
list_hwp_images
from source
List embedded images (mime, byte length, locator) in an HWP/HWPX file. Args: file_path. 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 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), output_path (optional).
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… 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, row_count (>=2), output_path (optional).
read_hwp
from source
Read full HWP/HWPX document content as text + tables (markdown) + image listing. Args: file_path (absolute path). 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. 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. 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 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 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 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-… 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-based, default 0), output_path (optional).
replace_hwp_image
from source
Replace an embedded image inside an .hwpx by overwriting its BinData/ ZIP entry with new file contents. 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). 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 Replace a single cell
set_hwp_field_value
from source
Set a Hancom field Set a Hancom field
set_hwp_paragraph_text
from source