Skip to main content
Glama
airmang

hwpx-mcp-server

by airmang

[!NOTE] Tren de lanzamiento público: python-hwpx 6.2.1 → python-hwpx-automation 7.0.2 → hwpx-plugin 2.0.1 (automation 7.0.2 · plugin 2.0.1 publicados el 2026-08-16, tren de parches de reparación de guardado en Windows — reparación de guardado #98·guía de ruta de subida #75, contrato con core 34a91560759dc47a inmutable). Las coordenadas públicas solo se promocionan tras observar la verdad remota (core·automation en PyPI y plugin en GitHub Release·marketplace·instalación real en marketplace) — runbook de lanzamiento

Capa de aplicación que ofrece creación de documentos, relleno de formularios, maquetación de exámenes y flujos de trabajo de agentes seguros sobre el motor python-hwpx. La instalación básica se usa sin MCP mediante la API de Python y el CLI hwpx; el servidor del Protocolo de Contexto de Modelo (MCP) se añade cuando se necesita con el extra [mcp]. No requiere Hancom Office ni Windows, por lo que funciona incluso dentro de un chat de ChatGPT donde se ejecute Python.

Repositorio

Rol

📦

python-hwpx

Motor Python puro para leer, modificar y crear documentos HWPX

🔌

python-hwpx-automation

Flujos de trabajo de creación y relleno de formularios, CLI hwpx, servidor MCP opcional

🎯

hwpx-plugins

Paquete de plugins/habilidades que ayudan al agente a elegir la herramienta adecuada

Comenzar con la automatización Python

pip install python-hwpx-automation
from hwpx_automation import create_document_from_plan

document = create_document_from_plan(
    {
        "schemaVersion": "hwpx.document_plan.v1",
        "title": "회의 결과",
        "blocks": [{"type": "paragraph", "text": "결정 사항"}],
    }
)
document.save_to_path("meeting-result.hwpx")

python -m hwpx_automation --help y hwpx help ejecutan el mismo CLI de tareas.

Related MCP server: hwpx-mcp-server

Comenzar con el adaptador MCP

pip install "python-hwpx-automation[mcp]"
hwpx-automation-mcp

Con un solo bloque en el archivo de configuración del cliente MCP se conecta el servidor hwpx — en Claude Desktop es claude_desktop_config.json, en VS Code es .vscode/mcp.json (la clave es servers en lugar de mcpServers), en Gemini CLI es ~/.gemini/settings.json, y en Cursor·Windsurf es el archivo de configuración MCP de cada editor.

{
  "mcpServers": {
    "hwpx": {
      "command": "uvx",
      "args": [
        "--from",
        "python-hwpx-automation[mcp]==7.0.2",
        "hwpx-automation-mcp"
      ],
      "env": {
        "HWPX_AUTOMATION_WORKSPACE_ROOTS": "[\"~/Documents\"]"
      }
    }
  }
}

En HWPX_AUTOMATION_WORKSPACE_ROOTS especifique las carpetas donde están los documentos (ruta absoluta o ~). En Windows se escribe como "[\"C:\\\\hwpx\"]". Si deja el valor vacío, el cliente GUI lanza el servidor desde el directorio del sistema, por lo que todas las rutas de documentos quedan bloqueadas — se recomienda especificarlo desde el principio. Para las demás opciones, consulte la tabla de variables de entorno.

Para leer documentos que no son HWPX (PDF/DOCX/XLSX/HTML/TXT) con document_to_markdown, instale también el adaptador MarkItDown con pip install "python-hwpx-automation[ingest]". Requisitos: Python >= 3.10 · python-hwpx >= 5.0.0.

Las distribuciones, importaciones, consolas y claves de configuración existentes de hwpx-mcp-server siguen funcionando durante 6.x — lista completa y reglas de mantenimiento: superficie de compatibilidad 6.x

Qué hace

En el modo básico ofrece múltiples herramientas HWPX, y en el modo avanzado (HWPX_AUTOMATION_ADVANCED=1) se añaden herramientas de inspección y verificación.

  • Lectura·exploraciónget_document_info, get_document_map (esquema·mapa de tablas·anclas en una sola llamada), find_text (sin guardar)

  • Búsqueda·reemplazo·ediciónsearch_and_replace, apply_document_commands (aplicación atómica de ediciones heterogéneas·dry-run·rollback·clave de idempotencia), add_tracked_edit (seguimiento de cambios)

  • Tablas·relleno de formularios — transacción con preservación de bytes analyze_form_fillapply_form_fillverify_form_fill, table_compute (sumas·subtotales)

  • Generación de documentos·documentos oficialescreate_document_from_plan declarativo, inspect_official_document_style (lint de normativa administrativa), mail_merge

  • Formato·imágenes·generadoresset_paragraph_format·set_page_setup, insert_picture, tablones de fotos·placas de identificación·organigramas

  • Vista previa·extracción·reparación·diagnósticorender_preview (autoverificación HTML/PNG), hwpx_to_markdown, repair_hwpx, mcp_server_health

Más detalles: casos de uso · flujos de trabajo con prioridad de habilidades

Cómo usarlo de forma segura

No es necesario memorizar todas las herramientas desde el principio. Normalmente el flujo es así.

  1. Lecturaget_document_infoget_document_outline/get_document_textfind_text, get_table_map para identificar solo las partes necesarias. (sin guardar)

  2. Modificación segura — cree una copia con copy_document, aplique el cambio más pequeño (search_and_replace, set_table_cell_text, apply_document_commands), vuelva a leer para verificar y entregue la copia revisada.

La clave es copy first · smallest edit · re-read after edits. Las herramientas de modificación guardan inmediatamente al llamarse, así que el trabajo de revisión debe hacerse siempre en una copia.

El modelo envía solo la operación/plan y no edita directamente el XML crudo. La ruta de guardado normal pasa por la única puerta SavePipeline de python-hwpx, que verifica integridad·XML·OPC/ID· seguridad de apertura, y si la puerta falla no escribe nada. El handshake de capability bloquea con fail-closed el skew de versiones+hash de core/automation/plugin. Detalles de seguridad: guía de endurecimiento · identificadores de compatibilidad con nombres antiguos: superficie de compatibilidad 6.x

Contrato de ubicaciónparagraph_index es el índice 0-based de los párrafos directos del cuerpo. Los párrafos dentro de tablas no se mezclan aquí; se especifican con un objeto location como {"kind":"table_cell_paragraph","table_index":0,"row":0,"col":1,"cell_paragraph_index":0}, y se pueden pasar directamente los valores devueltos por get_table_map/find_text.

Variables de entorno

Variable

Descripción

Valor predeterminado

HWPX_AUTOMATION_WORKSPACE_ROOTS

Matriz JSON de rutas absolutas de workspace permitidas (soporta múltiples raíces). Las rutas relativas se basan en la primera raíz

sin definir → cwd del proceso. cwd degenerado se rechaza con WORKSPACE_ROOT_INVALID

HWPX_AUTOMATION_MAX_CHARS

Longitud máxima predeterminada de las herramientas que devuelven texto

10000

HWPX_AUTOMATION_AUTOBACKUP

Si es 1, crea una copia de seguridad .bak antes de guardar

1

HWPX_AUTOMATION_ADVANCED

Si es 1, activa las herramientas avanzadas

0

HWPX_AUTOMATION_FETCH_TIMEOUT_SECONDS

Timeout de fetch de HWPX basado en URL

20.0

HWPX_AUTOMATION_ALLOW_PRIVATE_NETWORK

Si es 1, permite destinos HTTPS privados/de bucle local de confianza. Link-local·metadata·direcciones reservadas se siguen bloqueando

0

HWPX_AUTOMATION_QUALITY

Política global predeterminada de la puerta de guardado (transparent/strict). El quality por herramienta tiene prioridad

transparent

HWPX_AUTOMATION_REQUIRE_CAPABILITY

Si es 0, desactiva el fail-closed de skew de capability (para diagnóstico/uso experto)

1

HWPX_AUTOMATION_WORKFLOW_STORE

Ruta SQLite del workflow durable. Tiene prioridad sobre el HWPX_WORKFLOW_STORE existente

Ruta de estado 6.x existente

LOG_LEVEL

Nivel de registro

INFO

Las claves HWPX_MCP_* existentes con el mismo sufijo se mantienen como fallback durante 6.x; si ambas claves están presentes, HWPX_AUTOMATION_* tiene prioridad. La lista completa de claves conservadas para integración con render·workflow·oracle·plugin y las reglas de ruta de la base de datos de workflow están en superficie de compatibilidad 6.x.

Las rutas rechazan por defecto el traversal fuera del workspace y el escape de symlink, y las entradas URL solo permiten HTTPS·IP públicas. Las advertencias de concurrencia en hosts que no ofrecen rename atómico están en la guía de endurecimiento.

Contribuir

good first issue · hitos · Discussions · CONTRIBUTING · CHANGELOG

python -m pip install -e ".[test]"   # 테스트 의존성
python -m pytest -q                   # 전체 테스트
python scripts/run_conformance.py run \
  --tier structural --check tests/conformance/golden/structural.json

Agradecimientos

Funciona sobre la biblioteca principal python-hwpx y debe su existencia a los siguientes estándares y proyectos públicos.

Licencia · Mantenedor

Apache-2.0 (LICENSE · NOTICE) — Kohkyuhyun @airmang · kokyuhyun@hotmail.com

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessWithin a week

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for reading, editing, and creating Hangul Word Processor (.hwpx) files. It enables users to extract text, perform find-and-replace operations, and modify font styles through automated XML patching.
    30
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server for reading, writing, and managing Korean Hangul Word Processor (HWP/HWPX) files. It allows users to extract content, fill templates, and create new documents directly through AI assistants.
    34
    248
    80
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to control Hancom's HWP/HWPX documents (Korean word processor) via COM interface on Windows, supporting creation, editing, formatting, and export.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/airmang/python-hwpx-automation'

If you have feedback or need assistance with the MCP directory API, please join our Discord server