hwp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_hwpA | Read full HWP/HWPX document content as text + tables (markdown) + image listing. Args: file_path (absolute path). |
| read_hwp_textB | Extract plain body text from an HWP/HWPX file (no tables, no images). Args: file_path. |
| read_hwp_tablesB | Extract every table from an HWP/HWPX file as GitHub-flavored markdown. Args: file_path. |
| list_hwp_imagesC | List embedded images (mime, byte length, locator) in an HWP/HWPX file. Args: file_path. |
| extract_hwp_imagesB | Save every embedded image to disk. Args: file_path, output_dir (optional; defaults to _images/). |
| replace_hwp_textC | 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). |
| fill_hwp_templateB | Fill multiple placeholders in an HWPX template. |
| get_hwp_infoA | Get document metadata (version, page count, section count, fonts used, totals for tables/images/footnotes/equations/headers/footers). Args: file_path. |
| get_hwp_page_defC | Get per-section page definition (paper size, margins, columns) and section properties. Useful for understanding document layout. Args: file_path. |
| get_hwp_field_valueC | Get a Hancom field's current value by name. Args: file_path, name. |
| list_hwp_fieldsA | List Hancom-style fields ( |
| list_hwp_bindataA | List ZIP entries under BinData/ inside an .hwpx (image and binary attachments). Useful before replace_hwp_image. Args: file_path. |
| replace_hwp_imageB | Replace an embedded image inside an .hwpx by overwriting its BinData/ ZIP entry with new file contents. |
| render_hwp_pageA | 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). |
| render_hwp_all_pagesA | Render every page of an HWP/HWPX as SVG files in a directory. Args: file_path, output_dir (default _pages/), max_pages (optional limit). |
| append_hwp_paragraphB | Append a new paragraph to the end of an .hwpx document body. Clones the last paragraph's structure (paraPr/charPr/style refs) and replaces text. Args: file_path, text, output_path (optional). |
| delete_hwp_paragraphB | Delete the Nth paragraph (0-based) from an .hwpx body. Args: file_path, index, output_path (optional). |
| append_hwp_table_rowB | Append a new row to the Nth table (0-based) in an .hwpx. |
| delete_hwp_table_rowB | 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). |
| set_hwp_paragraph_textB | 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 hp:run with the new text. Args: file_path, index, text, output_path (optional). |
| set_hwp_cell_textB | Replace a single cell's text in a table inside an .hwpx. Args: file_path, table_index, row, col (all 0-based), text, output_path (optional). |
| set_hwp_field_valueA | Set a Hancom field's value by name in an .hwpx (writes the new text between the matching |
| append_hwp_table_columnB | Append a new column to the Nth table in an .hwpx. |
| delete_hwp_table_columnA | 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). |
| insert_hwp_imageA | 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). |
| apply_hwp_paragraph_styleA | 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's paraPrIDRef. align: LEFT|CENTER|RIGHT|JUSTIFY|DISTRIBUTE. Args: file_path, paragraph_index, align/indent/line_spacing (any subset), output_path (optional). |
| insert_hwp_tableA | |
| merge_hwp_cells_verticalB | 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). |
| merge_hwp_cells_horizontalA | 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). |
| apply_hwp_text_styleA | 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. 'FF0000'). Args: file_path, target_text, color/bold/italic/underline/font_size (any subset), output_path (optional). |
| delete_hwp_imageA | 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). |
| render_hwp_htmlA | Render a single page of an HWP/HWPX as HTML. Useful for AI consumption when SVG isn't ideal. Args: file_path, page (0-based, default 0), output_path (optional). |
| render_hwp_equation_svgB | Render an OWPML equation script (e.g. 'TIMES LEFT ( {a} over {b} RIGHT )') to SVG. Args: script, font_size (HWP units, default 1300), color (default 0). |
| create_hwpx_documentA | Create a new .hwpx file from a JSON content list of {type:'text',text} items. Tables (type:'table',headers,rows) are rendered as flat text rows in v0.2. Args: output_path (must end with .hwpx), content (JSON string of items). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/treesoop/hwp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server