Skip to main content
Glama
airmang

hwpx-mcp-server

by airmang

[!NOTE] Публичный поезд: python-hwpx 6.2.1 → python-hwpx-automation 7.0.2 → hwpx-plugin 2.0.1 (automation 7.0.2 · plugin 2.0.1 выпущены 2026-08-16, поезд исправлений сохранения для Windows — исправление сохранения #98·инструкция по пути загрузки #75, контракт с core 34a91560759dc47a неизменен). Публичные координаты повышаются только после наблюдения удалённой истины (core·automation на PyPI и plugin GitHub Release·marketplace·фактическая установка из marketplace) — runbook релиза

Прикладной слой поверх движка python-hwpx, предоставляющий создание документов, заполнение форм, вёрстку экзаменационных листов и безопасные агентные рабочие процессы. Базовая установка работает через Python API и CLI hwpx без MCP, а сервер протокола контекста моделей (MCP) добавляется при необходимости через extra [mcp]. Hancom Office и Windows не требуются, поэтому всё работает даже внутри чата ChatGPT, где выполняется Python.

Репозиторий

Роль

📦

python-hwpx

Чистый Python-движок для чтения, изменения и создания документов HWPX

🔌

python-hwpx-automation

Рабочие процессы создания и заполнения форм, CLI hwpx, опциональный MCP-сервер

🎯

hwpx-plugins

Пакет плагинов/навыков, помогающий агенту выбирать подходящие инструменты

Начало работы с автоматизацией 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 и hwpx help запускают один и тот же task CLI.

Related MCP server: hwpx-mcp-server

Начало работы с MCP-адаптером

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

Одного блока ниже в файле конфигурации MCP-клиента достаточно, чтобы подхватить сервер hwpx — для Claude Desktop это claude_desktop_config.json, для VS Code — .vscode/mcp.json (ключ servers вместо mcpServers), для Gemini CLI — ~/.gemini/settings.json, для Cursor·Windsurf — файл конфигурации MCP соответствующего редактора.

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

В HWPX_AUTOMATION_WORKSPACE_ROOTS укажите папку(и) с документами (абсолютный путь или ~). На Windows пишите как "[\"C:\\\\hwpx\"]". Если оставить значение пустым, GUI-клиент запускает сервер в системном каталоге, поэтому все пути к документам будут заблокированы — рекомендуется указывать с самого начала. Остальные параметры см. в таблице переменных окружения.

Чтобы читать не-HWPX документы (PDF/DOCX/XLSX/HTML/TXT) через document_to_markdown, установите дополнительно адаптер MarkItDown: pip install "python-hwpx-automation[ingest]". Требования: Python >= 3.10 · python-hwpx >= 5.0.0.

Существующие дистрибутивы, импорты, консоль и ключи конфигурации hwpx-mcp-server продолжают работать в течение 6.x — полный список и правила поддержки: поверхность совместимости 6.x

Что умеет

В базовом режиме предоставляется множество инструментов HWPX, а в расширенном режиме (HWPX_AUTOMATION_ADVANCED=1) добавляются инструменты для проверки и валидации.

  • Чтение·навигацияget_document_info, get_document_map (структура·карта таблиц·якоря одним вызовом), find_text (без сохранения)

  • Поиск·замена·редактированиеsearch_and_replace, apply_document_commands (атомарное применение разнородных правок·dry-run·откат·идемпотентный ключ), add_tracked_edit (отслеживание изменений)

  • Таблицы·заполнение форм — транзакция с сохранением байтов analyze_form_fillapply_form_fillverify_form_fill, table_compute (итоги·промежуточные итоги)

  • Создание документов·официальные письма — декларативный create_document_from_plan, inspect_official_document_style (lint административных правил), mail_merge

  • Форматирование·изображения·генераторыset_paragraph_format·set_page_setup, insert_picture, фототаблицы·бейджи·организационные схемы

  • Предпросмотр·извлечение·восстановление·диагностикаrender_preview (самопроверка HTML/PNG), hwpx_to_markdown, repair_hwpx, mcp_server_health

Подробнее: примеры использования · рабочие процессы с приоритетом навыков

Как использовать безопасно

Не нужно запоминать все инструменты с самого начала. Обычно всё происходит так.

  1. Чтениеget_document_infoget_document_outline/get_document_textfind_text, get_table_map, чтобы понять только нужные части. (без сохранения)

  2. Безопасное изменение — создайте копию через copy_document, примените наименьшее изменение (search_and_replace, set_table_cell_text, apply_document_commands), затем перечитайте для проверки и передайте проверенную копию.

Ключевой принцип — copy first · smallest edit · re-read after edits. Инструменты редактирования сохраняют сразу при вызове, поэтому для проверочной работы обязательно используйте копию.

Модель отправляет только operation/plan и не редактирует raw XML напрямую. Обычный путь сохранения проходит через единый шлюз SavePipeline библиотеки python-hwpx, который проверяет целостность, XML, OPC/ID и безопасность открытия; если шлюз не пройден, ничего не записывается. Capability handshake блокирует расхождение версий+хешей core/automation/plugin по принципу fail-closed. Подробности безопасности: руководство по усилению · идентификаторы совместимости со старыми именами: поверхность совместимости 6.x

Контракт расположенияparagraph_index — это 0-based индекс абзаца, непосредственно входящего в тело документа. Абзацы внутри таблиц сюда не смешиваются; они задаются объектом location, например {"kind":"table_cell_paragraph","table_index":0,"row":0,"col":1,"cell_paragraph_index":0}, и можно передавать значения, возвращённые get_table_map/find_text, как есть.

Переменные окружения

Переменная

Описание

Значение по умолчанию

HWPX_AUTOMATION_WORKSPACE_ROOTS

JSON-массив разрешённых абсолютных путей workspace (поддержка нескольких root). Относительные пути — относительно первого root

unset → cwd процесса. Вырожденный cwd отклоняется как WORKSPACE_ROOT_INVALID

HWPX_AUTOMATION_MAX_CHARS

Максимальная длина по умолчанию для инструментов, возвращающих текст

10000

HWPX_AUTOMATION_AUTOBACKUP

При 1 создаётся резервная копия .bak перед сохранением

1

HWPX_AUTOMATION_ADVANCED

При 1 активируются расширенные инструменты

0

HWPX_AUTOMATION_FETCH_TIMEOUT_SECONDS

Таймаут fetch для HWPX по URL

20.0

HWPX_AUTOMATION_ALLOW_PRIVATE_NETWORK

При 1 разрешены доверенные частные/loopback HTTPS-адреса. Link-local·metadata·зарезервированные адреса по-прежнему блокируются

0

HWPX_AUTOMATION_QUALITY

Глобальная политика шлюза сохранения по умолчанию (transparent/strict). Инструментальный quality имеет приоритет

transparent

HWPX_AUTOMATION_REQUIRE_CAPABILITY

При 0 отключает fail-closed при расхождении capability (для диагностики/экспертов)

1

HWPX_AUTOMATION_WORKFLOW_STORE

Путь к durable workflow SQLite. Приоритетнее существующего HWPX_WORKFLOW_STORE

Существующий путь состояния 6.x

LOG_LEVEL

Уровень журналирования

INFO

Существующие ключи HWPX_MCP_* с тем же суффиксом сохраняются как fallback в течение 6.x; если присутствуют оба ключа, приоритет у HWPX_AUTOMATION_*. Полный список сохранённых ключей для интеграции render·workflow·oracle·plugin и правила пути к БД workflow см. в поверхности совместимости 6.x.

По умолчанию пути отклоняют traversal за пределы workspace и symlink escape, а URL-входы допускают только HTTPS и публичные IP. Предупреждения о параллельности на хостах без атомарного rename см. в руководстве по усилению.

Участие

good first issue · вехи · 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

Благодарности

Работает поверх базовой библиотеки python-hwpx и опирается на следующие открытые стандарты и проекты.

License · Maintainer

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