Skip to main content
Glama
rgbcap

hwpx-mcp-server

by rgbcap
README.md
# hwpx-mcp-server

MCP server for reading and editing `.hwpx` (Hangul Word Processor) files.

## Features

| Tool | Description |
|------|-------------|
| `hwpx_read_text` | Extract all text from a .hwpx file |
| `hwpx_edit_text` | Find and replace text |
| `hwpx_set_style` | Change font/size/bold/italic/underline |
| `hwpx_create` | Create a new .hwpx file |

## Installation

```bash
npm install
npm run build
```

## Usage with gemini-cli

Add to your `~/.gemini/settings.json`:

```json
{
  "mcpServers": {
    "hwpx": {
      "command": "node",
      "args": ["/absolute/path/to/hwpx-mcp-server/dist/index.js"]
    }
  }
}
```

## Development

```bash
npm run dev   # watch mode
npm run build # compile TypeScript
npm start     # run server
```

## HWPX Structure

HWPX is a ZIP-based XML format:
```
doc.hwpx (ZIP)
├── mimetype               # must be first, uncompressed
├── META-INF/container.xml
└── Contents/
    ├── content.hpf        # manifest
    └── section0.xml       # body text (hp:t tags)
```

## Notes

- HWPX only (not legacy binary .hwp)
- Style editing uses regex-based XML patching — open in 한글 to verify layout
- `mimetype` entry must remain uncompressed (ZIP store method)