SERVER

ํ•œ๊ธ€ MCP hwpx MCP Server

Rank #447

smithery/airmang/hwpx-mcp-server

<p align="center"> <h1 align="center">๐Ÿ“„ hwpx-mcp-server</h1> <p align="center"> <strong>ํ•œ๊ธ€(HWPX) ๋ฌธ์„œ๋ฅผ AI๋กœ ์ž๋™ํ™”ํ•˜๋Š” MCP ์„œ๋ฒ„</strong> </p> <p align="center"> ํ•œ๊ธ€ ์›Œ๋“œํ”„๋กœ์„ธ์„œ ์—†์ด ยท ์ˆœ์ˆ˜ ํŒŒ์ด์ฌ ยท ํฌ๋กœ์Šค ํ”Œ๋žซํผ </p> <p align="center"> <a href="https://pypi.org/project/hwpx-mcp-server/"><img src="https://img.shields.io/pypi/v/hwpx-mcp-server?style=flat-square&color=blue" alt="PyPI"></a> <a href="https://pypi.org/project/hwpx-mcp-server/"><img src="https://img.shields.io/pypi/pyversions/hwpx-mcp-server?style=flat-square" alt="Python"></a> <a href="https://github.com/airmang/hwpx-mcp-server/blob/main/LICENSE"><img src="https://img.shields.io/github/license/airmang/hwpx-mcp-server?style=flat-square" alt="License"></a> <a href="https://github.com/airmang/hwpx-mcp-server/actions"><img src="https://img.shields.io/github/actions/workflow/status/airmang/hwpx-mcp-server/test.yml?style=flat-square&label=tests" alt="Tests"></a> </p> </p> --- **hwpx-mcp-server**๋Š” [Model Context Protocol(MCP)](https://modelcontextprotocol.io) ํ‘œ์ค€์„ ๋”ฐ๋ฅด๋Š” ์„œ๋ฒ„๋กœ, [python-hwpx](https://github.com/airmang/python-hwpx) ๊ธฐ๋ฐ˜์—์„œ HWPX ๋ฌธ์„œ์˜ ์—ด๋žŒ ยท ๊ฒ€์ƒ‰ ยท ํŽธ์ง‘ ยท ์ €์žฅ์„ AI ํด๋ผ์ด์–ธํŠธ์—์„œ ์ง์ ‘ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. > **Note** โ€” ์ด ์„œ๋ฒ„๋Š” Open XML ๊ธฐ๋ฐ˜ `.hwpx` ํฌ๋งท์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ๊ฑฐ์‹œ ๋ฐ”์ด๋„ˆ๋ฆฌ `.hwp` ํฌ๋งท์€ ์ง์ ‘ ํŽธ์ง‘ ๋Œ€์ƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. <br> ## Why? ๊ตญ๋‚ด ๊ณต๊ณต๊ธฐ๊ด€ยทํ•™๊ตยท๊ธฐ์—…์—์„œ๋Š” ํ•œ๊ธ€ ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์—…๋ฌด๊ฐ€ ๋งค์šฐ ๋งŽ์ง€๋งŒ, ์ž๋™ํ™”๋Š” ์˜ค๋žซ๋™์•ˆ OS/ํ”„๋กœ๊ทธ๋žจ ์˜์กด์„ฑ์ด ์ปธ์Šต๋‹ˆ๋‹ค. **hwpx-mcp-server**๋Š” ์ด ์ œ์•ฝ์„ ์ค„์ด๋Š” ๋ฐ ์ดˆ์ ์„ ๋งž์ถฅ๋‹ˆ๋‹ค. - โœ… **OS ๋ฌด๊ด€** โ€” Windows, macOS, Linux์—์„œ ๋™์ž‘ - โœ… **ํ•œ๊ธ€ ์›Œ๋“œํ”„๋กœ์„ธ์„œ ๋ถˆํ•„์š”** โ€” ์ˆœ์ˆ˜ ํŒŒ์ด์ฌ ๊ธฐ๋ฐ˜ ์ฒ˜๋ฆฌ - โœ… **AI ๋„ค์ดํ‹ฐ๋ธŒ** โ€” Claude Desktop, VS Code, Gemini CLI ๋“ฑ MCP ํด๋ผ์ด์–ธํŠธ์™€ ์ง์ ‘ ์—ฐ๊ฒฐ - โœ… **Stateless ๊ธฐ๋ณธ ์„ค๊ณ„** โ€” ๋„๊ตฌ ํ˜ธ์ถœ๋งˆ๋‹ค `filename`์„ ๋ช…์‹œํ•ด ์ผ๊ด€์ ์œผ๋กœ ์‹คํ–‰ <br> ## Use Cases - ์‹ค์ „ ์‚ฌ์šฉ ์‚ฌ๋ก€ 9๊ฐœ ๋ณด๊ธฐ: [`docs/use-cases.md`](docs/use-cases.md) - ์ข…ํ•ฉ ํ…Œ์ŠคํŠธ ๋ฆฌํฌํŠธ: [`tests/hwpx_mcp_report_updated.md`](tests/hwpx_mcp_report_updated.md) <br> ## Quick Start ### 1. ์„ค์น˜ & ์‹คํ–‰ [uv](https://docs.astral.sh/uv/getting-started/installation/) ๊ธฐ์ค€: ```bash uvx hwpx-mcp-server ``` ๋˜๋Š” pip ์„ค์น˜: ```bash pip install hwpx-mcp-server hwpx-mcp-server ``` ์š”๊ตฌ์‚ฌํ•ญ: - `Python >= 3.10` - `python-hwpx >= 1.9` ### 2. MCP ํด๋ผ์ด์–ธํŠธ ์„ค์ • <details> <summary><b>Claude Desktop</b></summary> `claude_desktop_config.json`: ```json { "mcpServers": { "hwpx": { "command": "uvx", "args": ["hwpx-mcp-server"] } } } ``` </details> <details> <summary><b>Gemini CLI</b></summary> `~/.gemini/settings.json`: ```json { "mcpServers": { "hwpx": { "command": "uvx", "args": ["hwpx-mcp-server"] } } } ``` </details> <details> <summary><b>VS Code (Copilot Chat)</b></summary> `.vscode/mcp.json`: ```json { "servers": { "hwpx": { "command": "uvx", "args": ["hwpx-mcp-server"] } } } ``` </details> <details> <summary><b>Cursor / Windsurf</b></summary> ๊ฐ ์—๋””ํ„ฐ MCP ์„ค์ • ํŒŒ์ผ์— ๋™์ผํ•œ ๋ธ”๋ก์„ ์ถ”๊ฐ€: ```json { "mcpServers": { "hwpx": { "command": "uvx", "args": ["hwpx-mcp-server"] } } } ``` </details> ### 3. ์ „์†ก ๋ชจ๋“œ ์„ ํƒ (Stdio + Streamable HTTP) ๊ธฐ๋ณธ `stdio` ์‚ฌ์šฉ์€ ๊ธฐ์กด๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ```bash hwpx-mcp-server ``` ๋™์ผํ•œ MCP ๋„๊ตฌ ์„ธํŠธ๋ฅผ Streamable HTTP๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ```bash hwpx-mcp-server --transport streamable-http --host 127.0.0.1 --port 8000 ``` ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ๋„ ๋™์ผํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - `HWPX_MCP_TRANSPORT` (`stdio` ๋˜๋Š” `streamable-http`) - `HWPX_MCP_HOST` (๊ธฐ๋ณธ๊ฐ’: `127.0.0.1`) - `HWPX_MCP_PORT` (๊ธฐ๋ณธ๊ฐ’: `8000`) > ์ฐธ๊ณ : HTTP ์ธ์ฆ์€ ํ˜„์žฌ ๊ฐœ๋ฐœ ํŽธ์˜ ์ค‘์‹ฌ์œผ๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜์šฉ ์ธ์ฆ ํ›…์€ ์„œ๋ฒ„ ์ง„์ž…์ ์— TODO๋กœ ๋‚จ๊ฒจ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. <br> ## Features ๊ธฐ๋ณธ ๋ชจ๋“œ์—์„œ 30๊ฐœ ๋„๊ตฌ, ๊ณ ๊ธ‰ ๋ชจ๋“œ(`HWPX_MCP_ADVANCED=1`)์—์„œ ์ถ”๊ฐ€ 10๊ฐœ ๋„๊ตฌ๊ฐ€ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ### ๐Ÿ“– ์ฝ๊ธฐ & ํƒ์ƒ‰ | ๋„๊ตฌ | ์„ค๋ช… | |---|---| | `get_document_info` | ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ/์„น์…˜/๋ฌธ๋‹จ/ํ‘œ ๊ฐœ์ˆ˜ ์กฐํšŒ | | `get_document_text` | ๋ฌธ์„œ ์ „์ฒด ํ…์ŠคํŠธ ์ถ”์ถœ (`max_chars` ์ง€์›) | | `get_document_outline` | ์ œ๋ชฉ/๊ฐœ์š” ๊ตฌ์กฐ ์ถ”์ถœ | | `get_paragraph_text` | ํŠน์ • ๋ฌธ๋‹จ ํ…์ŠคํŠธ ์กฐํšŒ | | `get_paragraphs_text` | ๋ฌธ๋‹จ ๋ฒ”์œ„ ์กฐํšŒ | | `list_available_documents` | ํด๋” ๋‚ด `.hwpx` ํŒŒ์ผ ๋ชฉ๋ก ์กฐํšŒ | ### ๐Ÿงพ ๋ณ€ํ™˜ & ์ถ”์ถœ (์ž…๋ ฅ ํŽ˜์ด๋กœ๋“œ ๊ธฐ๋ฐ˜) | ๋„๊ตฌ | ์„ค๋ช… | |---|---| | `hwpx_to_markdown` | HWPX ์ž…๋ ฅ์„ Markdown์œผ๋กœ ๋ณ€ํ™˜ | | `hwpx_to_html` | HWPX ์ž…๋ ฅ์„ HTML๋กœ ๋ณ€ํ™˜ | | `hwpx_extract_json` | HWPX ๊ตฌ์กฐ๋ฅผ JSON์œผ๋กœ ์ถ”์ถœ | ๊ณตํ†ต ์ž…๋ ฅ ๊ทœ์น™: - ์ž…๋ ฅ ์†Œ์Šค๋Š” `hwpx_base64` ๋˜๋Š” `url` ์ค‘ ์ •ํ™•ํžˆ ํ•˜๋‚˜๋งŒ ํ—ˆ์šฉ - `url`์€ `https://...`๋งŒ ํ—ˆ์šฉ ๊ณตํ†ต ์˜ต์…˜: - `output`: `full` ๋˜๋Š” `chunks` - `chunk_strategy`: `section` ๋˜๋Š” `paragraph` - `max_chars_per_chunk`: ์ฒญํฌ๋‹น ์ตœ๋Œ€ ๋ฌธ์ž ์ˆ˜(๊ธฐ๋ณธ๊ฐ’: `HWPX_MCP_MAX_CHARS_PER_CHUNK` ๋˜๋Š” `8000`) <details> <summary><b>๋ณ€ํ™˜/์ถ”์ถœ ์‘๋‹ต ์˜ˆ์‹œ</b></summary> #### `hwpx_to_markdown` ```json { "markdown": "# Title\n\nParagraph...", "chunks": ["..."], "meta": { "source_type": "base64", "section_count": 2, "paragraph_count": 10, "table_count": 1, "figure_caption_count": 1 } } ``` #### `hwpx_to_html` ```json { "html": "<!doctype html><html>...</html>", "chunks": ["<section>...</section>"], "meta": { "source_type": "url", "image_policy": "omitted" } } ``` #### `hwpx_extract_json` ```json { "doc": { "title": "Title", "toc": [{ "level": 1, "text": "Title", "paragraph_index": 0 }], "sections": [{ "index": 0, "title": "Title", "paragraphs": [] }], "tables": [], "figures": [] }, "chunks": [{ "chunk_index": 0, "strategy": "section", "section": {} }], "meta": { "source_type": "base64" } } ``` </details> ### ๐Ÿ”Ž ๊ฒ€์ƒ‰ & ์น˜ํ™˜ | ๋„๊ตฌ | ์„ค๋ช… | |---|---| | `find_text` | ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰ + ์ปจํ…์ŠคํŠธ ๋ฐ˜ํ™˜ | | `search_and_replace` | ๋‹จ์ผ ์น˜ํ™˜ (split-run ๋ณด๊ฐ•) | | `batch_replace` | ๋‹ค์ค‘ ์น˜ํ™˜ ์ผ๊ด„ ์‹คํ–‰ | ### โœ๏ธ ํŽธ์ง‘ | ๋„๊ตฌ | ์„ค๋ช… | |---|---| | `add_heading` | ์ œ๋ชฉ(ํ—ค๋”ฉ) ๋ฌธ๋‹จ ์ถ”๊ฐ€ | | `add_paragraph` / `insert_paragraph` / `delete_paragraph` | ๋ฌธ๋‹จ ์ถ”๊ฐ€/์‚ฝ์ž…/์‚ญ์ œ | | `add_page_break` | ํŽ˜์ด์ง€ ๋‚˜๋ˆ„๊ธฐ ์ถ”๊ฐ€ | | `add_memo` / `remove_memo` | ๋ฉ”๋ชจ ์ถ”๊ฐ€/์ œ๊ฑฐ | | `copy_document` | ๋ฌธ์„œ ์•ˆ์ „ ๋ณต์‚ฌ | ### ๐Ÿ“Š ํ‘œ | ๋„๊ตฌ | ์„ค๋ช… | |---|---| | `add_table` / `get_table_text` | ํ‘œ ์ƒ์„ฑ/์กฐํšŒ | | `set_table_cell_text` | ์…€ ํ…์ŠคํŠธ ์ˆ˜์ • | | `merge_table_cells` / `split_table_cell` | ์…€ ๋ณ‘ํ•ฉ/๋ถ„ํ•  | | `format_table` | ํ‘œ ํ—ค๋” ๋“ฑ ๊ธฐ๋ณธ ์„œ์‹ ์ ์šฉ | ### ๐ŸŽจ ์Šคํƒ€์ผ | ๋„๊ตฌ | ์„ค๋ช… | |---|---| | `format_text` | ํ…์ŠคํŠธ ๋ฒ”์œ„ ์„œ์‹ ์ ์šฉ(๊ตต๊ธฐ, ๊ธฐ์šธ์ž„, ๋ฐ‘์ค„, ์ƒ‰์ƒ ๋“ฑ) | | `create_custom_style` | ์ปค์Šคํ…€ ์Šคํƒ€์ผ ์ƒ์„ฑ | | `list_styles` | ๋ฌธ์„œ ์Šคํƒ€์ผ ๋ชฉ๋ก ์กฐํšŒ | ### ๐Ÿ”ฌ ๊ณ ๊ธ‰ (์˜ต์…˜) `HWPX_MCP_ADVANCED=1`์ผ ๋•Œ ํ™œ์„ฑํ™”: | ๋„๊ตฌ | ์„ค๋ช… | |---|---| | `package_parts` | OPC ํŒŒํŠธ ๋ชฉ๋ก ์กฐํšŒ | | `package_get_xml` / `package_get_text` | ํŒŒํŠธ XML/ํ…์ŠคํŠธ ์กฐํšŒ | | `object_find_by_tag` / `object_find_by_attr` | XML ์š”์†Œ ๊ฒ€์ƒ‰ | | `plan_edit` / `preview_edit` / `apply_edit` | ํŽธ์ง‘ ๊ณ„ํš/๋ฏธ๋ฆฌ๋ณด๊ธฐ/์ ์šฉ | | `validate_structure` / `lint_text_conventions` | ๊ตฌ์กฐ ๊ฒ€์ฆ/ํ…์ŠคํŠธ ๋ฆฐํŠธ | <br> ## Configuration | ๋ณ€์ˆ˜ | ์„ค๋ช… | ๊ธฐ๋ณธ๊ฐ’ | |---|---|---| | `HWPX_MCP_MAX_CHARS` | ํ…์ŠคํŠธ ๋ฐ˜ํ™˜ ๋„๊ตฌ ๊ธฐ๋ณธ ์ตœ๋Œ€ ๊ธธ์ด | `10000` | | `HWPX_MCP_MAX_CHARS_PER_CHUNK` | ๋ณ€ํ™˜/์ถ”์ถœ ๋„๊ตฌ์˜ ์ฒญํฌ ๋ถ„ํ•  ๊ธฐ๋ณธ ๊ธธ์ด | `8000` | | `HWPX_MCP_AUTOBACKUP` | `1`์ด๋ฉด ์ €์žฅ ์ „ `.bak` ๋ฐฑ์—… ์ƒ์„ฑ | `1` | | `HWPX_MCP_ADVANCED` | `1`์ด๋ฉด ๊ณ ๊ธ‰ ๋„๊ตฌ ํ™œ์„ฑํ™” | `0` | | `HWPX_MCP_TRANSPORT` | ์„œ๋ฒ„ ์ „์†ก ๋ชจ๋“œ (`stdio`, `streamable-http`) | `stdio` | | `HWPX_MCP_HOST` | HTTP ๋ฐ”์ธ๋”ฉ ํ˜ธ์ŠคํŠธ | `127.0.0.1` | | `HWPX_MCP_PORT` | HTTP ๋ฐ”์ธ๋”ฉ ํฌํŠธ | `8000` | | `LOG_LEVEL` | ๋กœ๊ทธ ๋ ˆ๋ฒจ | `INFO` | ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํฌํ•จ MCP ์„ค์ • ์˜ˆ์‹œ: ```json { "mcpServers": { "hwpx": { "command": "uvx", "args": ["hwpx-mcp-server"], "env": { "HWPX_MCP_MAX_CHARS": "12000", "HWPX_MCP_MAX_CHARS_PER_CHUNK": "8000", "HWPX_MCP_AUTOBACKUP": "1", "HWPX_MCP_ADVANCED": "0", "HWPX_MCP_TRANSPORT": "stdio", "HWPX_MCP_HOST": "127.0.0.1", "HWPX_MCP_PORT": "8000", "LOG_LEVEL": "INFO" } } } } ``` <br> ## Advanced <details> <summary><b>๐Ÿ“ฆ OPC ํŒŒํŠธ ์กฐํšŒ</b></summary> ๊ณ ๊ธ‰ ๋ชจ๋“œ์—์„œ ๋ฌธ์„œ ๋‚ด๋ถ€ ํŒŒํŠธ๋ฅผ ์ง์ ‘ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - `package_parts` - `package_get_xml` - `package_get_text` </details> <details> <summary><b>๐Ÿงญ ํŽธ์ง‘ ํŒŒ์ดํ”„๋ผ์ธ</b></summary> ๊ณ ๊ธ‰ ๋ชจ๋“œ์—์„œ `plan_edit โ†’ preview_edit โ†’ apply_edit` ํ๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ ๊ณ„ํš์„ ๊ฒ€ํ† ํ•˜๊ณ  ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. </details> <details> <summary><b>๐Ÿงช ๊ตฌ์กฐ/๊ทœ์น™ ๊ฒ€์‚ฌ</b></summary> ๊ณ ๊ธ‰ ๋ชจ๋“œ์—์„œ ๋‹ค์Œ ๊ฒ€์‚ฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - `validate_structure` - `lint_text_conventions` </details> <br> ## Testing ```bash # ํ…Œ์ŠคํŠธ ์˜์กด์„ฑ ์„ค์น˜ python -m pip install -e ".[test]" # ์ „์ฒด ํ…Œ์ŠคํŠธ python -m pytest -q ``` ๋กœ์ปฌ ๊ธฐ์ค€(2026-02-22) ์ „์ฒด ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. - ์‹ค์ „ ์‚ฌ์šฉ ์‚ฌ๋ก€: `docs/use-cases.md` - ์ข…ํ•ฉ ๋ฆฌํฌํŠธ: `tests/hwpx_mcp_report_updated.md` - ํšŒ๊ท€ ํ…Œ์ŠคํŠธ: `tests/test_hwpx_report_regressions.py` <br> ## Architecture ```text hwpx-mcp-server โ”œโ”€โ”€ src/hwpx_mcp_server/ โ”‚ โ”œโ”€โ”€ server.py # Stateless MCP ์ง„์ž…์  โ”‚ โ”œโ”€โ”€ hwpx_ops.py # ๊ณ ๊ธ‰/๋‚ด๋ถ€ ์—ฐ์‚ฐ ๋ž˜ํผ โ”‚ โ”œโ”€โ”€ core/ # ๋ฌธ๋‹จ/ํ‘œ/๊ฒ€์ƒ‰/์„œ์‹ ํ•ต์‹ฌ ๋กœ์ง โ”‚ โ”œโ”€โ”€ tools.py # ํ™•์žฅ ๋„๊ตฌ ์Šคํ‚ค๋งˆ/์ •์˜ โ”‚ โ””โ”€โ”€ schema/ # JSON ์Šคํ‚ค๋งˆ ๋นŒ๋”/์ •๋ฆฌ๊ธฐ โ”œโ”€โ”€ tests/ # ๋‹จ์œ„ + E2E + ํšŒ๊ท€ ํ…Œ์ŠคํŠธ โ””โ”€โ”€ pyproject.toml ``` <br> ## Comparison | | hwpx-mcp-server | hwp(๋ฐ”์ด๋„ˆ๋ฆฌ) COM ์ž๋™ํ™” ๊ณ„์—ด | |---|---|---| | ๋Œ€์ƒ ํฌ๋งท | `.hwpx` (Open XML) | `.hwp` (๋ฐ”์ด๋„ˆ๋ฆฌ) ์ค‘์‹ฌ | | OS | Windows ยท macOS ยท Linux | ๋Œ€์ฒด๋กœ Windows ์ค‘์‹ฌ | | ํ•œ๊ธ€ ํ”„๋กœ๊ทธ๋žจ ์˜์กด | ๋ถˆํ•„์š” | ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ | | ์—ฐ๋™ ๋ฐฉ์‹ | MCP + ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ | ๋ฐ์Šคํฌํ†ฑ ์•ฑ ์ž๋™ํ™” | <br> ## Contributing ๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. 1. Fork ํ›„ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ 2. ๋ณ€๊ฒฝ + ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€/์ˆ˜์ • 3. `pytest -q` ํ†ต๊ณผ ํ™•์ธ ํ›„ PR <br> ## License [MIT](LICENSE) ยฉ ๊ณ ๊ทœํ˜„ (Kyuhyun Koh) <br> ## Author **๊ณ ๊ทœํ˜„** โ€” ๊ด‘๊ต๊ณ ๋“ฑํ•™๊ต ์ •๋ณดยท์ปดํ“จํ„ฐ ๊ต์‚ฌ - โœ‰๏ธ [kokyuhyun@hotmail.com](mailto:kokyuhyun@hotmail.com) - ๐Ÿ™ [@airmang](https://github.com/airmang)

51 release tags
67 GitHub stars
by airmang (3 servers)View repository โ†—
First listed
Sep 19, 2025
Last publish date
Aug 22, 2026
OVERVIEW

ํ•œ๊ธ€ MCP hwpx MCP Server is a Model Context Protocol (MCP) server published by airmang. It ranks #447 of 115,460 servers tracked on MCP Toplist, and its repository has 67 GitHub stars. ํ•œ๊ธ€ MCP hwpx MCP Server is listed across 2 registries โ€” Smithery and Glama, with 51 release tags tracked from its GitHub repository. It was first listed on Sep 19, 2025 and most recently updated on Aug 22, 2026.

STANDING
#447of 115,460 tracked serversTop 0.5%

Ranks ahead of 115,013 of 115,460 servers on MCP Toplist.

Recent momentum
+13GitHub stars since Apr 27 (+24%)
CONNECT

Use ํ•œ๊ธ€ MCP hwpx MCP Server

No setupRuns out of the box

No credentials or required configuration declared โ€” add it to your MCP client and go.

This server doesn't publish a machine-readable install config โ€” see the repository README for install instructions.

BADGE

Show your rank

Maintain this server? Add the live rank badge to your README โ€” it updates automatically as the leaderboard changes.

MCP Toplist: Top 1% of 115,460
Markdown
[![MCP Toplist](https://mcptoplist.com/badge/smithery%2Fairmang%2Fhwpx-mcp-server.svg)](https://mcptoplist.com/server/smithery%2Fairmang%2Fhwpx-mcp-server)
HTML
<a href="https://mcptoplist.com/server/smithery%2Fairmang%2Fhwpx-mcp-server"><img src="https://mcptoplist.com/badge/smithery%2Fairmang%2Fhwpx-mcp-server.svg" alt="MCP Toplist: Top 1% of 115,460" /></a>

Variants: append ?metric=score or ?metric=stars to the image URL.

REGISTRIES

Listed on 2 registries (1 delisted)

GlamaDelisted ยท last seen Jun 24, 2026
ORGANIZATION

airmang

Organization
Servers in org
3
Versions across org
53
MORE FROM THIS PUBLISHER

Other servers by airmang

View all airmang servers โ†’
VERSIONS

GitHub releases (51)

No registry surfaces explicit version metadata for this server. The list below shows release tags from the linked GitHub repository.

v2.2.3 ยท Mar 8, 2026v2.2.4 ยท Mar 8, 2026v2.2.5 ยท Apr 2, 2026v2.2.6 ยท Apr 27, 2026v2.3.0 ยท Jun 2, 2026v2.3.1 ยท Jun 3, 2026v2.3.2 ยท Jun 3, 2026v2.3.3 ยท Jun 4, 2026v2.3.4 ยท Jun 6, 2026v2.3.5 ยท Jun 9, 2026v2.4.0 ยท Jun 11, 2026v2.4.1 ยท Jun 12, 2026v2.5.0 ยท Jun 24, 2026v2.7.0 ยท Jun 27, 2026v2.8.0 ยท Jun 29, 2026v2.9.0 ยท Jun 30, 2026v2.10.0 ยท Jun 30, 2026v2.11.0 ยท Jul 2, 2026v2.12.0 ยท Jul 2, 2026v2.13.0 ยท Jul 3, 2026v2.14.0 ยท Jul 3, 2026v2.15.0 ยท Jul 3, 2026v2.16.0 ยท Jul 6, 2026v2.17.0 ยท Jul 8, 2026v2.18.0 ยท Jul 8, 2026v2.18.1 ยท Jul 10, 2026v2.18.2 ยท Jul 13, 2026v2.18.3 ยท Jul 14, 2026v2.23.0 ยท Jul 15, 2026v2.23.1 ยท Jul 15, 2026v3.0.0 ยท Jul 15, 2026v4.0.0 ยท Jul 16, 2026v4.1.0 ยท Jul 17, 2026v4.2.1 ยท Jul 18, 2026v4.3.0 ยท Jul 18, 2026v4.3.2 ยท Jul 20, 2026v4.4.1 ยท Jul 20, 2026v5.0.0 ยท Jul 21, 2026v5.1.0 ยท Jul 22, 2026v5.1.1 ยท Jul 27, 2026v6.0.4 ยท Jul 28, 2026v6.1.3 ยท Jul 30, 2026v6.2.1 ยท Jul 31, 2026v6.3.1 ยท Jul 31, 2026v6.4.2 ยท Aug 1, 2026v6.5.1 ยท Aug 2, 2026v6.6.4 ยท Aug 2, 2026v6.7.1 ยท Aug 3, 2026v7.0.1 ยท Aug 4, 2026v7.0.2 ยท Aug 16, 2026v7.0.3 ยท Aug 22, 2026Mar 8, 2026Aug 22, 2026
VersionPublished
v7.0.3Aug 22, 2026
v7.0.2Aug 16, 2026
v7.0.1Aug 4, 2026
v6.7.1Aug 3, 2026
v6.6.4Aug 2, 2026
v6.5.1Aug 2, 2026
v6.4.2Aug 1, 2026
v6.3.1Jul 31, 2026
v6.2.1Jul 31, 2026
v6.1.3Jul 30, 2026
v6.0.4Jul 28, 2026
v5.1.1Jul 27, 2026
v5.1.0Jul 22, 2026
v5.0.0Jul 21, 2026
v4.4.1Jul 20, 2026
v4.3.2Jul 20, 2026
v4.3.0Jul 18, 2026
v4.2.1Jul 18, 2026
v4.1.0Jul 17, 2026
v4.0.0Jul 16, 2026
v3.0.0Jul 15, 2026
v2.23.1Jul 15, 2026
v2.23.0Jul 15, 2026
v2.18.3Jul 14, 2026
v2.18.2Jul 13, 2026
v2.18.1Jul 10, 2026
v2.18.0Jul 8, 2026
v2.17.0Jul 8, 2026
v2.16.0Jul 6, 2026
v2.15.0Jul 3, 2026
v2.14.0Jul 3, 2026
v2.13.0Jul 3, 2026
v2.12.0Jul 2, 2026
v2.11.0Jul 2, 2026
v2.10.0Jun 30, 2026
v2.9.0Jun 30, 2026
v2.8.0Jun 29, 2026
v2.7.0Jun 27, 2026
v2.5.0Jun 24, 2026
v2.4.1Jun 12, 2026
v2.4.0Jun 11, 2026
v2.3.5Jun 9, 2026
v2.3.4Jun 6, 2026
v2.3.3Jun 4, 2026
v2.3.2Jun 3, 2026
v2.3.1Jun 3, 2026
v2.3.0Jun 2, 2026
v2.2.6Apr 27, 2026
v2.2.5Apr 2, 2026
v2.2.4Mar 8, 2026
v2.2.3Mar 8, 2026
FAQ

Frequently asked questions

Who maintains ํ•œ๊ธ€ MCP hwpx MCP Server?
ํ•œ๊ธ€ MCP hwpx MCP Server is maintained by airmang, which publishes 3 MCP servers (53 total versions) tracked on MCP Toplist.
Is ํ•œ๊ธ€ MCP hwpx MCP Server listed on the Official MCP Registry?
ํ•œ๊ธ€ MCP hwpx MCP Server is not on the Official MCP Registry. It is listed on Smithery and Glama.
How many versions does ํ•œ๊ธ€ MCP hwpx MCP Server have?
No registry surfaces explicit version metadata for ํ•œ๊ธ€ MCP hwpx MCP Server; MCP Toplist tracks 51 release tags from its GitHub repository, most recently published on Aug 22, 2026.
Where can I find the source code for ํ•œ๊ธ€ MCP hwpx MCP Server?
The source code for ํ•œ๊ธ€ MCP hwpx MCP Server is hosted at github.com/airmang/python-hwpx-automation.
EXPLORE
ํ•œ๊ธ€ MCP hwpx MCP Server - MCP Server #447 | MCP Toplist