If you're an AI reading this: skill.md has everything you need.Read it โ†’
Explorer/MCP/airmang/hwpx-mcp-server

ํ•œ๊ธ€ mcp hwpx MCP Server

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 **๊ณ ๊ทœํ˜„** โ€” ๊ด‘๊ต๊ณ ๋“ฑํ•™๊ต ์ •๋ณดยท์ปดํ“จํ„ฐ ๊ต์‚ฌ - โœ‰๏ธ [[email protected]](mailto:[email protected]) - ๐Ÿ™ [@airmang](https://github.com/airmang)

The Newcomer
Hasn't been around long. Nothing caught our attention, but there isn't much history to go on yet.
Time indexed (1y)
0toolsUnknown1yindexed
Checked Sep 17, 2026
The scanner shows
Not enough data to score this server yet.
First indexed Sep 19, 2025
Server Profile
โš™
Tools catalogued
0
No tools reported by this server.
โ˜
Hosting
Unknown
Hosting type not yet determined.
โ—‹
Registry presence
Not verified
Not yet verified by the Official MCP Registry.
โ—
Liveness
โ€”
No liveness checks recorded yet.
Publisher Verification
Not yet verified by the Official MCP Registry.

Is this your server?

Create a free RNWY account to connect your on-chain identity to this server. MCP server claiming is coming; register now and you'll be first in line.

Create your account โ†’
More from airmang
HWPX Document Server
Enables reading, editing, and creating Korean HWPX documents through python-hwpx library. Supports document creation, paragraph/table/image insertion, metadata management, and workspace-restricted file operations with automatic backup functionality.
ai.smithery/airmang-hwpx-mcp
์ž๋™ํ™”ํ•˜์—ฌ HWPX ๋ฌธ์„œ์˜ ๋กœ๋”ฉ, ํƒ์ƒ‰, ํŽธ์ง‘, ๊ฒ€์ฆ์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ๋‹จยทํ‘œยท์ฃผ์„ ์ถ”๊ฐ€, ํ…์ŠคํŠธ ์ผ๊ด„ ์น˜ํ™˜, ๋จธ๋ฆฌ๋งยท๊ผฌ๋ฆฌ๋ง ์„ค์ • ๋“ฑ ๋ฐ˜๋ณต ์ž‘์—…์„ ์‹ ์†ํžˆ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐโ€ฆ
Similar servers
Press Release
press-release MCP โ€” wraps StupidAPIs (requires X-API-Key)
MCP Server for LimeSurvey
Enables interaction with LimeSurvey API to create and manage surveys, questions, question groups, activate surveys, and export responses through standardized MCP endpoints.
io.github.zenml-io/mcp-zenml
MCP server for ZenML - browse stacks, pipelines, runs, artifacts & trigger pipeline runs via API
Linear
Linear MCP โ€” wraps the Linear GraphQL API (OAuth)
HAPI MCP Server
HAPI MCP server: Dynamically exposes OpenAPI REST APIs as MCP tools for AI assistants
Google Docs MCP Server
Enables Claude to read, create, and update Google Docs through OAuth authentication. Deployed as a remote Next.js server on Vercel with support for multiple users and secure API key management.
Indexed from Smithery ยท Updates nightlyView on Smithery โ†’