135 tools from the Hwpx MCP Server, categorised by risk level.
View the Hwpx policy →analyze_xml Analyze document XML for issues like tag imbalance, malformed elements, etc. Useful for diagnosing save failures. append_text_to_paragraph Append text to an existing paragraph (HWPX only) chunk_document π Split document into overlapping chunks for agentic reading.
Use this for:
- Large document analysis where full text would exceed context limits... extract_toc π Extract table of contents based on Korean document formatting conventions.
Detects headings by:
- Roman numerals (I. II. III.)
- Arabic numeral... find_cell_by_label π Find table cells by label text and get the adjacent cell position.
Perfect for Korean documents with "λ μ΄λΈ: κ°" patterns.
Searches all tables for... find_empty_tables Find tables that are empty or contain only placeholder text (dashes, bullets, numbers only) find_insert_position_after_header Find the right insertion position after text. Searches both independent paragraphs AND table cell contents by default.
IMPORTANT - Check 'found_in... find_insert_position_after_table Find the right insertion position AFTER a specific table (OUTSIDE the table).
Returns section_index and insert_after value for use with insert_ima... find_paragraph_by_text Find paragraphs containing specific text. Returns element indices with surrounding context. find_table_by_header Find tables by their header text (partial match, case-insensitive) format_text Apply character formatting to a specific character range within a paragraph. Splits runs as needed. Positions are 0-based JavaScript character indi... get_bookmarks Get all bookmarks in the document get_bullet_defs Get available bullet (unordered list) definitions from the document get_cell_context Get surrounding cells' content around a specific cell.
Returns center cell and neighboring cells in each direction.
Useful for understanding table... get_char_shapes Get all character shape definitions get_chunk_at_offset π Get the chunk containing a specific character offset.
Use after finding a position in the index to get the full chunk context. get_chunk_context π Get surrounding chunks for expanded context around a specific chunk.
After finding a relevant chunk with search_chunks, use this to get additio... get_column_def Get column definition for a section get_document_metadata Get document metadata (title, author, dates, etc.) get_document_outline Get document outline - hierarchical structure showing sections, headings, and tables with their positions get_document_structure Get document structure (sections, paragraphs, tables, images count) get_document_text Get all text content from the document get_element_index_for_table Convert a global table index to element index in its section. Use this to find the right position for inserting content near a table. get_endnotes Get all endnotes in the document get_equations Get all equations in the document get_footer Get footer content for a section get_footnotes Get all footnotes in the document get_hanging_indent Get hanging indent value for a paragraph get_header Get header content for a section get_hyperlinks Get all hyperlinks in the document get_images Get all images in the document. For inserting images, see insert_image or insert_image_in_cell. get_insert_context Get context around an element index to verify insertion point. Shows elements before/after. get_memos Get all memos/comments in the document get_numbering_defs Get available numbering (ordered list) definitions from the document get_page_settings Get page settings (paper size, margins) get_para_shapes Get all paragraph shape definitions get_paragraph Get a specific paragraph with full details get_paragraph_style Get paragraph formatting get_paragraphs Get paragraphs from the document with their text and styles get_position_index π Get cached position index (builds if not available).
Returns all indexed elements. Use search_position_index for filtered queries. get_raw_section_xml β οΈ DEPRECATED: Use get_section_xml instead. This tool is kept for backward compatibility only. get_section_xml Get raw XML content of a section. Useful for AI-based document manipulation. Returns the complete section XML that can be modified and set back usi... get_sections Get all sections in the document get_styles Get all defined styles in the document get_table Get a specific table with full data get_table_as_csv Export table content as CSV format get_table_cell Get content of a specific table cell get_table_cell_hanging_indent Get hanging indent value for a paragraph inside a table cell get_table_map β RECOMMENDED for finding tables. Returns ALL tables with their headers and metadata.
Returns for each table:
- table_index: Global index (use thi... get_tables Get all tables from the document get_tables_by_section Get all tables within a specific section get_tables_summary Get summary of multiple tables by index range. Returns compact info: header, size, empty status, and content preview. get_text_style Get character formatting of a paragraph get_tool_guide π― START HERE! Get recommended tools for your task. Call this FIRST to understand which tools to use.
Available workflows:
- "template": Fill cont... get_user_paths Return absolute paths on the **user's local machine** (home, Documents, Downloads, skills/templates) plus a list of HWPX templates that are actuall... get_word_count Get word and character count statistics list_open_documents List all currently open documents list_template_profiles List all built-in template profiles and their preset catalogs. Use this to discover what presets build_document accepts for each profile. redo Redo the last undone change(s). Supports multiple redo with count parameter. render_mermaid Render a Mermaid diagram and insert it as an independent element OUTSIDE tables (HWPX only). Uses mermaid.ink API.
Use after_table or after_header... repair_xml Attempt to repair XML issues in a section. Removes orphan closing tags and fixes table structure. search_chunks π Search document chunks using BM25-based relevance scoring.
Returns chunks ranked by similarity to query with:
- Relevance score (higher = more ... search_position_index π Search position index by text and/or element type.
Filter the position index to find specific headings, paragraphs, or tables by their text con... search_text Search for text in the document (includes table cells by default) split_cell Split a merged table cell back into individual cells (HWPX only). Only works on cells with colSpan > 1 or rowSpan > 1. undo Undo the last change(s). Supports multiple undo with count parameter. apply_style Apply a named style to a paragraph (HWPX only) batch_fill_table Fill multiple table cells at once from a 2D array.
Perfect for:
- Filling data tables from CSV/JSON
- Batch updating table content
- Template form... batch_replace Perform multiple text replacements at once (HWPX only) close_document Close an open document copy_paragraph Copy a paragraph to another location (HWPX only) copy_table Copy a table to another location (HWPX only). Preserves original and generates new IDs for the copy. Uses strict validation. create_document Create a new empty HWPX document export_to_html Export document to HTML file export_to_text Export document to plain text file fill_by_path β RECOMMENDED for template work! Fill multiple cells using path-based addressing.
jkf87-style path format: "label > direction > direction"
- "μ΄λ¦: ... insert_bookmark Insert a bookmark at a specific location (HWPX only) insert_ellipse Insert an ellipse drawing object (HWPX only) insert_endnote Insert an endnote at a specific location (HWPX only) insert_equation Insert an equation (HWPX only) insert_footnote Insert a footnote at a specific location (HWPX only) insert_hyperlink Insert a hyperlink in a paragraph (HWPX only) insert_image Insert an image as an independent element in the document (HWPX only). The image is placed OUTSIDE of tables, between paragraphs or after tables.
... insert_image_in_cell π Insert an image INSIDE a specific table cell (HWPX only). The image appears inline within the cell content.
β οΈ IMPORTANT: Use this tool (NOT in... insert_line Insert a line drawing object (HWPX only) insert_memo Insert a memo/comment (HWPX only) insert_nested_table Insert a table inside a table cell (nested table, HWPX only) insert_page_break Insert a page break after the specified element (HWPX only). Creates an empty paragraph with pageBreak attribute. insert_paragraph Insert a new paragraph with optional inline styles (HWPX only). Supports paragraph style (align, margin) and text style (bold, font_size) in a sing... insert_rect Insert a rectangle drawing object (HWPX only) insert_section Insert a new section (HWPX only) insert_table Insert a new table with optional header row auto-styling (HWPX only). Use header_bg_color/header_font_color to auto-style the first row as a header. insert_table_column Insert a new column in a table (HWPX only) insert_table_row Insert a new row in a table (HWPX only) merge_cells Merge multiple table cells into a single cell (HWPX only). The top-left cell becomes the master cell with increased colSpan/rowSpan. move_paragraph Move a paragraph to another location (HWPX only) move_table Move a table to another location (HWPX only). Uses XML-based approach for accurate structure preservation with strict validation. open_document Open an HWPX or HWP document for reading and editing render_mermaid_in_cell π Render a Mermaid diagram and insert it INSIDE a specific table cell (HWPX only). Uses mermaid.ink API.
β οΈ IMPORTANT: Use this tool (NOT render_... replace_text Find and replace text throughout the ENTIRE document (HWPX only).
β οΈ This searches ALL paragraphs and table cells in the document.
When to use:
-... replace_text_in_cell Replace text within a specific table cell (HWPX only). More targeted than replace_text. save_document Save the document (HWPX only). Supports backup creation and integrity verification. set_auto_hanging_indent Automatically set hanging indent based on detected marker in paragraph text (HWPX only). Detects markers like "β ", "1. ", "κ°. ", "(1) ", "β " etc.... set_cell_background_color Set background color for a table cell (HWPX only). Creates borderFill definition and updates cell reference. set_cell_properties Set table cell properties (HWPX only) set_column_def Set column definition for a section (HWPX only) set_column_widths Set individual column widths for an existing table (HWPX only). Updates cellSz, colSz, and table width in XML. set_document_metadata Set document metadata (HWPX only) set_footer Set footer content for a section (HWPX only) set_hanging_indent Set hanging indent with MANUAL pt value (HWPX only).
π‘ In most cases, use set_auto_hanging_indent instead - it automatically detects markers and ... set_header Set header content for a section (HWPX only) set_numbering Apply numbering (ordered) or bullet (unordered) list style to a paragraph. Use get_numbering_defs/get_bullet_defs first to find available definitions. set_page_settings Set page settings (HWPX only) set_paragraph_style Apply paragraph formatting (HWPX only) set_raw_section_xml β οΈ DEPRECATED: Use set_section_xml instead. This tool is kept for backward compatibility only. set_section_xml Set (replace) raw XML content of a section (HWPX only). WARNING: This completely replaces the section XML. The XML must be valid HWPML format. Use ... set_table_cell_auto_hanging_indent Automatically set hanging indent on a paragraph inside a table cell based on detected marker (HWPX only). Detects markers like "β ", "1. ", "κ°. ", ... set_table_cell_hanging_indent Set hanging indent on a paragraph inside a table cell (HWPX only). Hanging indent pulls the first line left while indenting the rest of the lines. set_text_style Apply character formatting to a paragraph run (HWPX only). Can target both top-level paragraphs and table cell paragraphs. For table cells, provide... update_image_size Update the size of an existing image (HWPX only) update_paragraph_text β RECOMMENDED for template work. Update paragraph text content while PRESERVING existing styles (font, alignment, size).
When working with templat... update_paragraph_text_preserve_styles Update paragraph text while preserving the style structure of multiple runs.
When a paragraph has multiple styled runs (e.g., bold + normal text),... update_table_cell β RECOMMENDED for template work with tables. Update cell content with optional inline styles.
Features:
- Preserves existing charPrIDRef (font sty... delete_image Delete an image from the document (HWPX only) delete_memo Delete a memo/comment (HWPX only) delete_paragraph Delete a paragraph (HWPX only) delete_section Delete a section (HWPX only) delete_table Delete an entire table from the document (HWPX only) delete_table_column Delete a column from a table (HWPX only) delete_table_row Delete a row from a table. If the table has only 1 row, deletes the entire table (HWPX only) invalidate_reading_cache π Clear cached chunks and position index.
Call this after modifying the document to ensure fresh data on next read operation. remove_hanging_indent Remove hanging indent from a paragraph (HWPX only) remove_table_cell_hanging_indent Remove hanging indent from a paragraph inside a table cell (HWPX only) build_document β Build an entire document body in a SINGLE call. Instead of calling insert_paragraph 30+ times, pass all elements (paragraphs and tables) at once.... build_position_index ποΈ Build position index for document elements (headings, paragraphs, tables).
Creates a searchable index of all document elements with:
- Unique ... The Hwpx MCP server exposes 135 tools across 4 categories: Read, Write, Destructive, Execute.
Use Intercept, the open-source MCP proxy. Write YAML rules for each tool β rate limits, argument validation, or deny rules β then run Intercept in front of the Hwpx server.
Hwpx tools are categorised as Read (66), Write (57), Destructive (10), Execute (2). Each category has a recommended default policy.
Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.