{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_airmang-hwpx-mcp-server","slug":"airmang-hwpx-mcp-server","name":"한글 mcp hwpx MCP Server ","type":"mcp","url":"https://github.com/airmang/hwpx-mcp-server","page_url":"https://unfragile.ai/airmang-hwpx-mcp-server","categories":["mcp-servers","code-editors","app-builders","automation","testing-quality"],"tags":["mcp","model-context-protocol","smithery:airmang/hwpx-mcp-server"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_airmang-hwpx-mcp-server__cap_0","uri":"capability://data.processing.analysis.stateless.hwpx.document.reading.with.context.preservation","name":"stateless-hwpx-document-reading-with-context-preservation","description":"Reads HWPX (Open XML-based Korean word processor format) documents without requiring persistent state or the native Hangeul application, using pure Python XML parsing via python-hwpx library. Each tool invocation explicitly specifies the filename, enabling stateless operation across distributed MCP clients. The implementation parses OPC (Open Packaging Convention) package structure to extract document metadata, text content, and structural hierarchy (sections, paragraphs, tables) with character-level position tracking for context-aware retrieval.","intents":["Extract full document text or metadata from HWPX files without installing Hangeul word processor","Retrieve specific paragraph ranges with line/character positions for precise editing workflows","Get document outline and section structure to understand document hierarchy before processing","List available HWPX documents in a folder to enable dynamic document selection in AI workflows"],"best_for":["Korean enterprise automation teams migrating from Windows-only COM-based Hangeul automation","Cross-platform CI/CD pipelines requiring HWPX processing on Linux/macOS without GUI dependencies","AI agents (Claude, Gemini) that need to read Korean documents as context before editing"],"limitations":["Only supports HWPX (Open XML) format; legacy binary HWP files require conversion or separate tooling","Text extraction respects document structure but may lose complex formatting metadata (font families, exact spacing)","Character position tracking assumes UTF-8 encoding; mixed-encoding documents may have offset errors","Maximum character return limited by HWPX_MCP_MAX_CHARS env var (default 10000) to prevent context overflow"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path accessible to MCP server process"],"input_types":["file_path (string, relative or absolute)","paragraph_index (integer)","paragraph_range (start_index, end_index integers)"],"output_types":["plain_text (UTF-8 string)","structured_json (document metadata with section/paragraph/table counts)","outline_json (hierarchical heading structure with paragraph indices)"],"categories":["data-processing-analysis","document-processing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_1","uri":"capability://data.processing.analysis.hwpx.to.markdown.conversion.with.chunking","name":"hwpx-to-markdown-conversion-with-chunking","description":"Converts HWPX documents to Markdown format with configurable output strategies (full document or chunked by section/paragraph). The conversion pipeline parses document structure, maps heading levels to Markdown syntax (#, ##, ###), preserves table formatting as Markdown tables, and optionally splits output into chunks based on character limits or structural boundaries. Supports both file-based input (filename) and payload-based input (base64-encoded HWPX or HTTPS URL), enabling both local and remote document processing.","intents":["Convert Korean HWPX documents to Markdown for version control, Git-friendly diffs, and documentation workflows","Split large documents into Markdown chunks for LLM context windows (8000 chars default per chunk)","Fetch HWPX from remote HTTPS URLs and convert on-the-fly without local file storage","Generate Markdown with metadata (section count, paragraph count, table count) for document analysis"],"best_for":["Documentation teams converting legacy Hangeul documents to Markdown-based knowledge bases","LLM agents that need to chunk documents for RAG pipelines with section-aware boundaries","CI/CD workflows that require Markdown output for automated report generation"],"limitations":["Complex formatting (multi-column layouts, embedded objects, custom shapes) is simplified to Markdown equivalents","Images are referenced but not embedded in Markdown output; image extraction requires separate image-processing capability","Chunking strategy is structural (section/paragraph) only; semantic chunking based on content similarity not supported","URL input limited to HTTPS only; HTTP and file:// URLs rejected for security"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Either valid HWPX file path OR base64-encoded HWPX content OR HTTPS URL (exactly one required)"],"input_types":["filename (string, file path)","hwpx_base64 (base64-encoded binary HWPX content)","url (HTTPS URL string pointing to HWPX file)","output (enum: 'full' or 'chunks')","chunk_strategy (enum: 'section' or 'paragraph')","max_chars_per_chunk (integer, default from HWPX_MCP_MAX_CHARS_PER_CHUNK env var)"],"output_types":["markdown (string, full Markdown document or single chunk)","chunks (array of Markdown strings)","meta (object with source_type, section_count, paragraph_count, table_count, figure_caption_count)"],"categories":["data-processing-analysis","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_10","uri":"capability://automation.workflow.document.copying.with.safety.validation","name":"document-copying-with-safety-validation","description":"Creates a safe copy of HWPX documents with validation to ensure copy integrity. The copy operation reads source document, validates structure, writes to destination path, and verifies copy completeness. Useful for creating backups before destructive operations or generating document variants.","intents":["Create backup copies of documents before performing risky edits","Generate document variants by copying and modifying","Ensure document integrity by validating copy completeness"],"best_for":["Document editing workflows that need safe backups before modifications","Batch document processing that generates variants from templates"],"limitations":["Copy validation is structural only; does not verify content accuracy","Large documents (>100MB) may have slow copy performance","Destination path must be writable; permission errors not handled gracefully"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid source HWPX file path","Write permissions for destination path"],"input_types":["filename (string, source file path)","destination_path (string, target file path)"],"output_types":["destination_path (string, path to copied file)","status (string, 'success' or error message)","validation_result (object with structure_valid, size_match)"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_11","uri":"capability://code.generation.editing.table.creation.with.configurable.dimensions","name":"table-creation-with-configurable-dimensions","description":"Creates new tables in HWPX documents with specified row and column counts. The table creation engine inserts a table element at specified paragraph index, initializes cells with empty content, and optionally applies basic formatting (header row styling). Tables are fully editable after creation via cell-level operations.","intents":["Insert data tables into documents programmatically with specified dimensions","Create table templates for data population","Enable AI agents to structure data in tabular format within documents"],"best_for":["Document generation workflows that need to insert data tables","Report generation that presents data in tabular format","AI agents that structure data in tables"],"limitations":["Initial table cells are empty; content must be added via set_table_cell_text","Table dimensions are fixed at creation; resizing requires cell-level operations","Complex table structures (merged cells, nested tables) require post-creation manipulation"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","rows (integer, number of rows)","columns (integer, number of columns)","index (integer, optional insertion position)","header_row (boolean, optional, apply header styling to first row)"],"output_types":["table_index (integer, index of created table)","status (string, 'success' or error message)"],"categories":["code-generation-editing","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_12","uri":"capability://code.generation.editing.table.cell.text.modification.with.range.support","name":"table-cell-text-modification-with-range-support","description":"Modifies text content in table cells by table index, row, and column coordinates. The cell modification engine locates target cell, replaces content while preserving cell formatting, and supports batch operations for multiple cell updates. Enables data population in pre-created tables.","intents":["Populate table cells with data programmatically","Update specific cells in existing tables","Enable AI agents to fill tables with structured data"],"best_for":["Data-driven document generation that populates tables with values","Report generation that fills template tables with computed data"],"limitations":["Cell content must be plain text; cannot insert formatted content","Cell coordinates (row, column) are 0-based; invalid coordinates fail silently","Cell text is replaced entirely; partial updates require read-modify-write"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions","Table must exist at specified index"],"input_types":["filename (string, file path)","table_index (integer, table identifier)","row (integer, 0-based row index)","column (integer, 0-based column index)","text (string, cell content)"],"output_types":["status (string, 'success' or error message)","cell_reference (string, e.g., 'Table 0, Row 1, Col 2')"],"categories":["code-generation-editing","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_13","uri":"capability://code.generation.editing.table.cell.merging.and.splitting.for.complex.layouts","name":"table-cell-merging-and-splitting-for-complex-layouts","description":"Manages table cell merging and splitting operations to create complex table layouts. The merge operation combines adjacent cells horizontally or vertically, and the split operation divides merged cells back into individual cells. Supports both single-cell and range-based operations.","intents":["Create complex table layouts with merged cells for headers or grouped data","Adjust table structure by splitting merged cells","Enable AI agents to design table layouts programmatically"],"best_for":["Report generation with complex table layouts (merged headers, grouped rows)","Template-based document generation with sophisticated table structures"],"limitations":["Merge operations are limited to adjacent cells; non-adjacent merges not supported","Split operations may lose content if merged cell contains text","Complex merge patterns may have unintended visual effects in rendered documents"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","table_index (integer, table identifier)","start_row (integer, starting row for merge)","start_column (integer, starting column for merge)","end_row (integer, ending row for merge)","end_column (integer, ending column for merge)","direction (enum: 'horizontal' or 'vertical')"],"output_types":["status (string, 'success' or error message)","merged_cells (integer, number of cells merged)"],"categories":["code-generation-editing","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_14","uri":"capability://code.generation.editing.table.formatting.with.header.styling","name":"table-formatting-with-header-styling","description":"Applies basic formatting to tables including header row styling, border configuration, and cell alignment. The formatting engine applies predefined style templates to table elements, enabling consistent table appearance across documents.","intents":["Apply professional formatting to tables for consistent document appearance","Style table headers for visual distinction","Enable AI agents to create well-formatted tables"],"best_for":["Document generation that requires consistent table formatting","Report generation with professional table styling"],"limitations":["Formatting options are limited to predefined templates; custom formatting requires direct XML manipulation","Formatting is applied at table level; cell-level custom formatting not supported","Color and font choices are limited to document style definitions"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","table_index (integer, table identifier)","style_template (enum: 'default', 'professional', 'minimal')","header_style (enum: 'bold', 'shaded', 'bordered')"],"output_types":["status (string, 'success' or error message)","formatting_applied (object with header_styled, borders_applied)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_15","uri":"capability://code.generation.editing.text.range.formatting.with.multiple.attributes","name":"text-range-formatting-with-multiple-attributes","description":"Applies formatting attributes (bold, italic, underline, color, font size, font family) to text ranges within paragraphs. The formatting engine locates target text, applies formatting attributes to underlying XML runs, and preserves existing formatting for non-targeted attributes. Supports both single-range and multi-range formatting operations.","intents":["Apply emphasis formatting (bold, italic, underline) to specific text within paragraphs","Change text color or font size for visual distinction","Enable AI agents to apply formatting to generated or modified content"],"best_for":["Document generation that needs formatted text (emphasis, color coding)","AI agents that apply formatting to highlight important content","Report generation with styled text elements"],"limitations":["Formatting is applied to exact text matches; partial word matches not supported","Font family and size changes may affect document layout; use with caution","Formatting attributes are limited to basic text properties; advanced formatting (shadows, effects) not supported"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","paragraph_index (integer, target paragraph)","text (string, text to format)","bold (boolean, optional)","italic (boolean, optional)","underline (boolean, optional)","color (string, optional, hex color code)","font_size (integer, optional, in points)","font_family (string, optional)"],"output_types":["status (string, 'success' or error message)","formatting_applied (object with attributes applied)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_16","uri":"capability://code.generation.editing.custom.style.creation.and.management","name":"custom-style-creation-and-management","description":"Creates and manages custom paragraph and character styles in HWPX documents. The style creation engine defines new styles with configurable properties (font, size, color, spacing), adds styles to document style sheet, and enables reuse across document. Supports style inheritance and override.","intents":["Create custom styles for consistent formatting across documents","Define organizational style standards (company heading style, body text style)","Enable AI agents to apply custom styles to generated content"],"best_for":["Enterprise document generation with organizational style standards","Template-based document creation that requires consistent styling","AI agents that apply custom styles to generated content"],"limitations":["Style creation requires detailed property specification; predefined templates not available","Style inheritance is limited to single-level inheritance; complex style hierarchies not supported","Style properties are limited to basic text formatting; advanced properties not supported"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","style_name (string, custom style identifier)","style_type (enum: 'paragraph' or 'character')","base_style (string, optional, parent style for inheritance)","properties (object with font, size, color, spacing, etc.)"],"output_types":["status (string, 'success' or error message)","style_id (string, internal style identifier)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_17","uri":"capability://data.processing.analysis.document.style.listing.and.inspection","name":"document-style-listing-and-inspection","description":"Lists all available styles in a document (paragraph and character styles) with detailed property inspection. The style listing engine enumerates styles from document style sheet, extracts style properties (font, size, color, spacing), and returns structured style information for inspection or reuse.","intents":["Discover available styles in a document for reuse","Inspect style properties to understand document formatting standards","Enable AI agents to select appropriate styles for content"],"best_for":["Document analysis workflows that need to understand style definitions","Style-aware document generation that reuses existing styles","Documentation of organizational style standards"],"limitations":["Style listing is read-only; does not modify styles","Style properties are extracted as-is; computed properties not calculated","Custom style properties may not be fully captured in listing"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path"],"input_types":["filename (string, file path)","style_type (enum: 'all', 'paragraph', 'character', optional)"],"output_types":["styles (array of style objects with name, type, properties)","style_count (integer, total styles in document)"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_18","uri":"capability://data.processing.analysis.opc.package.introspection.with.part.enumeration","name":"opc-package-introspection-with-part-enumeration","description":"Inspects OPC (Open Packaging Convention) package structure of HWPX files, enumerating all package parts (document.xml, styles.xml, numbering.xml, etc.) with metadata. Available only in advanced mode (HWPX_MCP_ADVANCED=1). The introspection engine reads package manifest, lists parts with content types and relationships, enabling low-level document analysis.","intents":["Analyze document package structure for debugging or advanced customization","Discover available parts for direct XML manipulation","Enable advanced users to understand document internals"],"best_for":["Advanced users performing low-level document customization","Debugging document structure issues","Custom document processing that requires part-level access"],"limitations":["Requires HWPX_MCP_ADVANCED=1 environment variable","Part enumeration is read-only; does not modify package structure","Part relationships are complex; full relationship graph not always captured"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path","HWPX_MCP_ADVANCED=1 environment variable"],"input_types":["filename (string, file path)"],"output_types":["parts (array of part objects with name, content_type, relationships)","part_count (integer, total parts in package)"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_19","uri":"capability://data.processing.analysis.opc.part.xml.and.text.extraction","name":"opc-part-xml-and-text-extraction","description":"Extracts raw XML or text content from specific OPC package parts (document.xml, styles.xml, etc.). Available only in advanced mode (HWPX_MCP_ADVANCED=1). The extraction engine locates target part, reads content, and returns either raw XML or extracted text depending on part type.","intents":["Extract raw XML from document parts for analysis or custom processing","Debug document structure by inspecting underlying XML","Enable advanced users to perform custom XML transformations"],"best_for":["Advanced users performing custom XML transformations","Debugging document structure issues","Custom document processing requiring direct XML access"],"limitations":["Requires HWPX_MCP_ADVANCED=1 environment variable","XML extraction is read-only; modifications require separate apply_edit capability","Large XML parts may exceed response size limits"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path","HWPX_MCP_ADVANCED=1 environment variable"],"input_types":["filename (string, file path)","part_name (string, OPC part identifier, e.g., 'word/document.xml')","output_format (enum: 'xml' or 'text')"],"output_types":["content (string, raw XML or extracted text)","part_name (string, confirmed part identifier)","content_type (string, MIME type)"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_2","uri":"capability://data.processing.analysis.hwpx.to.html.conversion.with.semantic.preservation","name":"hwpx-to-html-conversion-with-semantic-preservation","description":"Converts HWPX documents to HTML5 with semantic tag preservation (headings, sections, tables, lists). The conversion engine maps HWPX paragraph styles to HTML semantic elements, preserves table structure with proper thead/tbody/tfoot, and handles image references (with configurable image policy: omitted, base64-embedded, or URL-referenced). Supports chunked output with section-aware boundaries, enabling HTML fragments suitable for web embedding or LLM processing.","intents":["Convert Korean documents to web-ready HTML for publishing to internal wikis or documentation sites","Generate HTML chunks for LLM processing while preserving semantic structure (headings, sections)","Extract document structure as semantic HTML for accessibility compliance and screen reader compatibility","Embed HWPX content in web applications without requiring server-side Hangeul installation"],"best_for":["Enterprise knowledge management systems converting legacy Hangeul documents to web-accessible HTML","Accessibility teams requiring semantic HTML output for WCAG compliance","LLM agents that need structured HTML for improved parsing and understanding of document hierarchy"],"limitations":["Images are omitted by default (image_policy='omitted'); base64 embedding increases payload size significantly","CSS styling is minimal (semantic HTML only); complex formatting requires post-processing with CSS","Form fields and interactive elements in HWPX are converted to static HTML","Nested table structures may lose some visual formatting nuances in HTML conversion"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Either valid HWPX file path OR base64-encoded HWPX content OR HTTPS URL"],"input_types":["filename (string, file path)","hwpx_base64 (base64-encoded binary HWPX content)","url (HTTPS URL string)","output (enum: 'full' or 'chunks')","chunk_strategy (enum: 'section' or 'paragraph')","image_policy (enum: 'omitted', 'base64', 'url-referenced')","max_chars_per_chunk (integer)"],"output_types":["html (string, full HTML document or single chunk)","chunks (array of HTML fragment strings)","meta (object with source_type, image_policy, chunk_count)"],"categories":["data-processing-analysis","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_20","uri":"capability://search.retrieval.xml.element.search.by.tag.and.attribute","name":"xml-element-search-by-tag-and-attribute","description":"Searches for XML elements in document parts by tag name or attribute values. Available only in advanced mode (HWPX_MCP_ADVANCED=1). The search engine queries document.xml or other parts using XPath-like patterns, returning matching elements with context.","intents":["Find specific XML elements for custom processing or analysis","Locate elements by attribute values (e.g., find all paragraphs with specific style)","Enable advanced users to perform targeted XML queries"],"best_for":["Advanced users performing custom XML queries","Document analysis that requires element-level search","Custom processing based on XML structure"],"limitations":["Requires HWPX_MCP_ADVANCED=1 environment variable","Search patterns are limited to simple tag/attribute matching; complex XPath not supported","Search results may be large for common tags; filtering required"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path","HWPX_MCP_ADVANCED=1 environment variable"],"input_types":["filename (string, file path)","tag_name (string, XML tag to search for)","attribute_name (string, optional, attribute to filter by)","attribute_value (string, optional, attribute value to match)"],"output_types":["elements (array of matching XML elements with context)","match_count (integer, total matches found)"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_21","uri":"capability://planning.reasoning.edit.planning.with.preview.and.atomic.application","name":"edit-planning-with-preview-and-atomic-application","description":"Provides a three-step edit workflow: plan_edit (describe desired changes), preview_edit (show what changes will be made), and apply_edit (execute changes atomically). Available only in advanced mode (HWPX_MCP_ADVANCED=1). The edit pipeline enables AI agents to propose changes, review them before application, and apply atomically with rollback capability.","intents":["Plan complex document edits with AI assistance before applying","Preview changes to verify correctness before committing","Enable safe, reversible document modifications with rollback capability"],"best_for":["Complex document editing workflows requiring change review","AI-driven document modification with human oversight","High-risk document processing requiring change verification"],"limitations":["Requires HWPX_MCP_ADVANCED=1 environment variable","Preview is text-based; visual preview not available","Rollback requires manual restoration from backup; automatic rollback not supported","Complex edits may not be fully previewable"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions","HWPX_MCP_ADVANCED=1 environment variable"],"input_types":["filename (string, file path)","edit_description (string, description of desired changes)","edit_plan (object, structured edit plan from plan_edit)","apply (boolean, whether to apply changes)"],"output_types":["plan (object, structured edit plan with operations)","preview (string, text preview of changes)","status (string, 'success' or error message)","changes_applied (integer, number of changes applied)"],"categories":["planning-reasoning","code-generation-editing","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_22","uri":"capability://safety.moderation.document.structure.validation.and.integrity.checking","name":"document-structure-validation-and-integrity-checking","description":"Validates HWPX document structure for integrity and consistency. Available only in advanced mode (HWPX_MCP_ADVANCED=1). The validation engine checks for structural errors (malformed XML, missing required elements, broken references), reports issues with severity levels, and suggests corrections.","intents":["Verify document integrity after modifications","Detect structural issues that may cause rendering problems","Enable document quality assurance workflows"],"best_for":["Document quality assurance workflows","Post-modification validation to ensure document integrity","Debugging document structure issues"],"limitations":["Requires HWPX_MCP_ADVANCED=1 environment variable","Validation is structural only; does not check content accuracy","Validation may report false positives for non-standard but valid structures"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path","HWPX_MCP_ADVANCED=1 environment variable"],"input_types":["filename (string, file path)","strict_mode (boolean, optional, enable strict validation)"],"output_types":["valid (boolean, document is valid)","issues (array of validation issues with severity and description)","issue_count (integer, total issues found)"],"categories":["safety-moderation","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_23","uri":"capability://safety.moderation.text.convention.linting.for.style.consistency","name":"text-convention-linting-for-style-consistency","description":"Lints document text for style consistency violations (spacing, punctuation, naming conventions). Available only in advanced mode (HWPX_MCP_ADVANCED=1). The linting engine scans document paragraphs, checks against configurable style rules (e.g., spacing before punctuation, consistent terminology), and reports violations with suggestions.","intents":["Enforce text style conventions across documents","Detect inconsistent terminology or formatting","Enable document style quality assurance"],"best_for":["Documentation teams enforcing style guidelines","Quality assurance workflows for consistent document style","Automated style checking for organizational standards"],"limitations":["Requires HWPX_MCP_ADVANCED=1 environment variable","Linting rules are predefined; custom rules not easily configurable","Korean language-specific rules may have false positives"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path","HWPX_MCP_ADVANCED=1 environment variable"],"input_types":["filename (string, file path)","rules (array of rule identifiers, optional)"],"output_types":["violations (array of style violations with location and suggestion)","violation_count (integer, total violations found)"],"categories":["safety-moderation","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_24","uri":"capability://tool.use.integration.mcp.server.transport.abstraction.with.stdio.and.http","name":"mcp-server-transport-abstraction-with-stdio-and-http","description":"Provides transport-agnostic MCP server implementation supporting both stdio (default) and streamable HTTP transports. The transport abstraction layer enables the same tool set to be accessed via stdio (for Claude Desktop, Cursor) or HTTP (for remote clients, web-based MCP clients). Transport selection via CLI arguments or environment variables (HWPX_MCP_TRANSPORT, HWPX_MCP_HOST, HWPX_MCP_PORT).","intents":["Use hwpx-mcp-server with Claude Desktop or Cursor via stdio transport","Access hwpx-mcp-server from remote clients or web applications via HTTP","Deploy hwpx-mcp-server in containerized environments with HTTP transport"],"best_for":["Teams using Claude Desktop or Cursor that prefer stdio transport","Remote document processing workflows requiring HTTP access","Containerized deployments where HTTP is preferred over stdio"],"limitations":["HTTP transport lacks authentication (development-focused); not suitable for untrusted networks","Stdio transport limited to single client connection; HTTP supports multiple concurrent clients","HTTP transport adds ~50-100ms latency per request compared to stdio","Transport switching requires server restart; dynamic transport switching not supported"],"requires":["Python >= 3.10","python-hwpx >= 1.9","For HTTP: accessible network port (default 8000)"],"input_types":["transport (enum: 'stdio' or 'streamable-http', via CLI or env var)","host (string, HTTP bind address, default 127.0.0.1)","port (integer, HTTP bind port, default 8000)"],"output_types":["server_status (string, 'listening' or error message)","transport_info (object with transport type, host, port)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_3","uri":"capability://data.processing.analysis.hwpx.structure.extraction.to.json.with.toc.generation","name":"hwpx-structure-extraction-to-json-with-toc-generation","description":"Extracts complete HWPX document structure (title, table of contents, sections, paragraphs, tables, figures) into structured JSON format with automatic TOC generation. The extraction engine parses document.xml to identify heading styles, builds hierarchical section tree with paragraph indices, extracts table metadata (row/column counts, cell content), and catalogs figure captions. Supports chunked output with metadata for each chunk (chunk_index, strategy, section reference).","intents":["Extract document structure for programmatic analysis (section count, nesting depth, table inventory)","Generate table of contents automatically from heading styles for navigation or outline generation","Build document index for semantic search or RAG systems that need paragraph-level granularity","Analyze document complexity (table count, figure count, nesting depth) for workflow routing"],"best_for":["Knowledge management systems building searchable indices of Korean documents","RAG pipelines that need structured document metadata for retrieval ranking","Document analysis tools that classify documents by complexity or structure type","LLM agents that need to understand document layout before performing edits"],"limitations":["TOC generation relies on heading style detection; documents with inconsistent heading styles may produce incomplete TOC","Figure extraction captures captions only; image content itself is not extracted (use image-processing capability separately)","Nested table structures are flattened to single-level table list; complex table hierarchies lose nesting information","Paragraph indices are 0-based and depend on document parsing order; indices may shift after document edits"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Either valid HWPX file path OR base64-encoded HWPX content OR HTTPS URL"],"input_types":["filename (string, file path)","hwpx_base64 (base64-encoded binary HWPX content)","url (HTTPS URL string)","output (enum: 'full' or 'chunks')","chunk_strategy (enum: 'section' or 'paragraph')","max_chars_per_chunk (integer)"],"output_types":["doc (object with title, toc array, sections array, tables array, figures array)","chunks (array of chunk objects with chunk_index, strategy, section reference)","meta (object with source_type, extraction_timestamp)"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_4","uri":"capability://search.retrieval.keyword.search.with.context.window.retrieval","name":"keyword-search-with-context-window-retrieval","description":"Searches HWPX documents for keyword matches and returns results with configurable context windows (surrounding paragraphs). The search engine iterates through document paragraphs, performs case-insensitive substring matching, and returns match location (paragraph index, character offset) with surrounding context (previous/next N paragraphs). Supports regex patterns and exact phrase matching via parameter configuration.","intents":["Find all occurrences of a keyword in a document and retrieve surrounding context for AI analysis","Locate specific sections by searching for section-identifying keywords","Build search indices for document discovery without full-text search infrastructure","Enable AI agents to navigate documents by searching for relevant content before editing"],"best_for":["Document review workflows where AI needs to locate and analyze specific content","Search-based navigation in large Korean documents without external search engines","Content discovery for RAG systems that need paragraph-level search results"],"limitations":["Search is linear (O(n) complexity); large documents (>10000 paragraphs) may have noticeable latency","Context window is paragraph-based only; character-level context not supported","Regex patterns require careful escaping; complex regex may have performance impact","Search does not understand Korean morphology (stemming, conjugation); exact form matching only"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path"],"input_types":["filename (string, file path)","keyword (string, search term)","context_paragraphs (integer, number of surrounding paragraphs to include)","case_sensitive (boolean, default false)","regex_mode (boolean, default false)"],"output_types":["matches (array of match objects with paragraph_index, character_offset, matched_text, context_before, context_after)","match_count (integer, total matches found)"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_5","uri":"capability://code.generation.editing.search.and.replace.with.split.run.preservation","name":"search-and-replace-with-split-run-preservation","description":"Performs single or batch text replacement in HWPX documents with preservation of split-run formatting (text runs that span multiple formatting regions). The replacement engine locates target text, handles cases where text spans multiple XML runs (common in formatted documents), reconstructs runs to maintain formatting integrity, and saves changes back to the HWPX file. Batch mode supports multiple replacements in a single operation with atomic save.","intents":["Replace specific text in Korean documents while preserving bold/italic/color formatting","Perform bulk find-and-replace operations (e.g., update all references to a name or term)","Automate document template population by replacing placeholder text with actual values","Enable AI agents to modify document content without corrupting formatting metadata"],"best_for":["Document template automation where placeholders need replacement with formatted content","Bulk document updates (e.g., company name change across multiple documents)","AI-driven document editing workflows that need to preserve formatting"],"limitations":["Split-run handling adds complexity; replacements spanning multiple runs may fail silently if run structure is malformed","Replacement text must be plain text; cannot insert formatted text (use add_paragraph for formatted content)","Case-sensitive matching only; case-insensitive replacement requires pre-processing","Batch replacements are atomic (all-or-nothing); partial failures not supported"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions","HWPX_MCP_AUTOBACKUP=1 (recommended) to create .bak backup before replacement"],"input_types":["filename (string, file path)","find_text (string, text to search for)","replace_text (string, replacement text)","replacements (array of {find_text, replace_text} objects for batch mode)"],"output_types":["replaced_count (integer, number of replacements made)","backup_path (string, path to .bak file if HWPX_MCP_AUTOBACKUP=1)","status (string, 'success' or error message)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_6","uri":"capability://code.generation.editing.paragraph.level.editing.with.insertion.and.deletion","name":"paragraph-level-editing-with-insertion-and-deletion","description":"Provides granular paragraph-level editing operations: add new paragraphs (with optional style), insert paragraphs at specific indices, and delete paragraphs by index or range. The editing engine manipulates document.xml to insert/remove paragraph elements while maintaining document structure integrity, updates paragraph indices in cross-references, and optionally applies paragraph styles (heading, normal, list, etc.). Each operation is atomic and includes optional backup creation.","intents":["Add new content paragraphs to documents programmatically with specific styles (heading, body, list)","Insert paragraphs at specific locations for structured document building","Delete obsolete paragraphs or sections by index","Enable AI agents to build documents incrementally by adding paragraphs one at a time"],"best_for":["Document generation workflows that build documents from templates by adding paragraphs","AI agents that need to modify document structure (add sections, delete outdated content)","Automated report generation that assembles documents from content blocks"],"limitations":["Paragraph indices are 0-based and may shift after insertions/deletions; subsequent operations must use updated indices","Style application is limited to predefined styles; custom style creation requires separate capability","Paragraph content must be plain text; formatted text requires separate formatting capability","Deletion of paragraphs containing tables or complex objects may have unintended side effects"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","text (string, paragraph content)","style (string, paragraph style name, e.g., 'Heading 1', 'Normal')","index (integer, insertion position for insert_paragraph)","paragraph_index (integer, target paragraph for deletion)"],"output_types":["new_paragraph_index (integer, index of newly added paragraph)","status (string, 'success' or error message)","backup_path (string, path to .bak file if backup created)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_7","uri":"capability://code.generation.editing.heading.insertion.with.style.application","name":"heading-insertion-with-style-application","description":"Specialized paragraph insertion for adding heading elements with automatic style application (Heading 1, Heading 2, etc.). The operation inserts a new paragraph with specified heading level, applies corresponding style from document style sheet, and optionally adjusts surrounding paragraph styles for proper hierarchy. Supports insertion at specific indices or at document end.","intents":["Add section headings to documents programmatically with proper style hierarchy","Create document structure by inserting headings at appropriate nesting levels","Enable AI agents to organize document content by adding section headers","Build table of contents by inserting heading hierarchy"],"best_for":["Document generation workflows that need to create structured documents with proper heading hierarchy","AI agents that organize content by adding section headers","Automated report generation that creates section structure"],"limitations":["Heading style must exist in document style sheet; custom heading styles require separate style creation","Heading level (1-6) must be valid; invalid levels may default to Heading 1","Heading hierarchy validation is not enforced; can create Heading 3 without Heading 1/2"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","text (string, heading text)","level (integer, 1-6 for Heading 1-6)","index (integer, optional insertion position)"],"output_types":["new_heading_index (integer, index of newly added heading)","status (string, 'success' or error message)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_8","uri":"capability://code.generation.editing.page.break.insertion.for.document.layout.control","name":"page-break-insertion-for-document-layout-control","description":"Inserts page break elements into HWPX documents at specified paragraph indices, enabling control over document pagination and layout. The operation inserts a page break marker (special paragraph element) that forces subsequent content to a new page, useful for section separation or template-based document generation.","intents":["Insert page breaks between document sections for proper layout","Control pagination in generated documents (e.g., each report section on new page)","Enable AI agents to structure multi-section documents with proper page separation"],"best_for":["Document generation workflows that need precise pagination control","Template-based document building where sections must start on new pages"],"limitations":["Page break insertion is position-based; actual page layout depends on content size and margins","Multiple consecutive page breaks may create blank pages","Page break behavior may vary depending on document margins and font sizes"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","index (integer, paragraph index where page break should be inserted)"],"output_types":["status (string, 'success' or error message)","page_break_index (integer, index of inserted page break)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_airmang-hwpx-mcp-server__cap_9","uri":"capability://code.generation.editing.memo.annotation.management.add.and.remove","name":"memo-annotation-management-add-and-remove","description":"Manages memo (comment/annotation) elements in HWPX documents with add and remove operations. The memo engine inserts memo markers at specified paragraph indices with configurable memo text, and removes existing memos by index. Memos are preserved in document metadata and visible in Hangeul application when document is opened.","intents":["Add review comments or annotations to documents programmatically","Enable AI agents to mark content for human review with contextual notes","Remove outdated annotations or memos from documents"],"best_for":["Document review workflows where AI adds comments for human review","Collaborative editing where AI annotations guide human editors"],"limitations":["Memo text is plain text only; cannot include formatted content","Memo visibility depends on Hangeul application version; may not display in all viewers","Memo indices may shift after paragraph insertions/deletions"],"requires":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path with write permissions"],"input_types":["filename (string, file path)","paragraph_index (integer, target paragraph for memo)","memo_text (string, memo content)","memo_index (integer, memo identifier for removal)"],"output_types":["memo_id (string, identifier for added memo)","status (string, 'success' or error message)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":40,"verified":false,"data_access_risk":"high","permissions":["Python >= 3.10","python-hwpx >= 1.9","Valid HWPX file path accessible to MCP server process","Either valid HWPX file path OR base64-encoded HWPX content OR HTTPS URL (exactly one required)","Valid source HWPX file path","Write permissions for destination path","Valid HWPX file path with write permissions","Table must exist at specified index","Valid HWPX file path","HWPX_MCP_ADVANCED=1 environment variable"],"failure_modes":["Only supports HWPX (Open XML) format; legacy binary HWP files require conversion or separate tooling","Text extraction respects document structure but may lose complex formatting metadata (font families, exact spacing)","Character position tracking assumes UTF-8 encoding; mixed-encoding documents may have offset errors","Maximum character return limited by HWPX_MCP_MAX_CHARS env var (default 10000) to prevent context overflow","Complex formatting (multi-column layouts, embedded objects, custom shapes) is simplified to Markdown equivalents","Images are referenced but not embedded in Markdown output; image extraction requires separate image-processing capability","Chunking strategy is structural (section/paragraph) only; semantic chunking based on content similarity not supported","URL input limited to HTTPS only; HTTP and file:// URLs rejected for security","Copy validation is structural only; does not verify content accuracy","Large documents (>100MB) may have slow copy performance","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.6,"ecosystem":0.6900000000000001,"match_graph":0.25,"freshness":0.6,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.635Z","last_scraped_at":"2026-05-03T15:19:31.415Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=airmang-hwpx-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=airmang-hwpx-mcp-server"}},"signature":"djIjRB4yk84l/fXWOvx/zH3McgwQZ70c3an9mFZ79pusXq9mTOh+vup8LafG9O1zzKdkrAXJxrOrcNJ87COaAA==","signedAt":"2026-06-23T03:33:13.522Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/airmang-hwpx-mcp-server","artifact":"https://unfragile.ai/airmang-hwpx-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=airmang-hwpx-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}