Hangeul-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| describe_capabilitiesA | Report per-capability availability, tool buckets, and runtime identity for this PC. |
| detect_formatB | Detect whether a path is HWPX (zip+mimetype), binary HWP, or unknown. |
| analyze_formC | Detect fillable fields in FILE MODE: labels, inline blanks, placeholders, checkboxes, form fields. |
| fill_formC | Fill detected named/label fields and write a NEW byte-preserving HWPX copy (file mode). |
| scan_piiB | Scan extracted document text for Korean PII patterns and return masked findings. |
| analyze_formfitC | Estimate overflow/fit risk for candidate values against detected field capacity. |
| extract_textC | Extract plain document text from an HWPX file (returns a string). |
| preview_assessmentA | Validate and preview three deterministic assessment variants without writing files. |
| apply_assessmentC | Atomically publish a reviewed three-variant assessment bundle to a safe root. |
| find_textA | Count plain-text matches per cell in FILE MODE; for edit-ready structural addresses use find_text_occurrences. |
| get_document_outlineC | Return the heading/outline structure of an HWPX document. |
| get_table_mapC | Map tables with per-cell text and merge structure for label-to-cell reasoning. |
| inspect_editable_regionsA | Inspect FILE-MODE structural edit targets before any addressed/template write. Named fields / |
| get_paragraph_mapA | List body paragraphs with stable bN addresses for addressed edits. |
| find_text_occurrencesA | Locate repeated visible text in FILE MODE so edits can be scoped, not guessed. Named fields / |
| find_cell_by_labelC | Locate the input cell next to or under a label cell in tables. |
| verify_fillB | Verify expected label:value pairs actually appear in the (filled) document. |
| verify_targetsA | Verify expected_text at exact structural targets (tN.rN.cN[.pN] / bN) after edits. |
| plan_template_completionA | Plan whole-template completion in FILE MODE and return addressable edit targets. Named fields / |
| list_stylesC | List charPr/paraPr style definitions available in the document. |
| extract_hwp_textC | Headless .hwp text extraction gate; returns available:false until a verified non-COM reader lands. |
| validate_hwpxC | Validate HWPX package integrity (zip layout, mimetype, XML declarations); ok mirrors valid. |
| search_and_replaceA | One-shot text replace written to a NEW file; fails closed on 2+ matches unless scope='all'. |
| batch_replaceA | Apply multiple find->replace pairs to a NEW file in one pass (text substitution only). |
| preview_search_and_replaceB | Preview a text replace as an edit session (entry/count audit) without writing output. |
| preview_batch_replaceA | Preview multiple find->replace pairs as one edit session without writing output. |
| apply_edit_sessionC | Write a previewed edit session to a NEW file with journal/snapshot for restore. |
| preview_addressed_editsA | Resolve STRUCTURAL addressed edits in file mode without writing output.
|
| apply_addressed_editsA | Write the previewed addressed edits to a NEW file-mode output copy. The reviewed addressed plan came from structural addresses, not |
| complete_addressed_templateA | Complete a whole template in ONE addressed file-mode call and write a new copy. Gather or generate all values first, then send one |
| restore_edit_sessionB | Restore the pre-apply snapshot of an applied edit session (file-mode undo). |
| hwpx_to_htmlC | Convert HWPX to HTML via python-hwpx (delegate extra required). |
| hwpx_to_markdownC | Convert HWPX to Markdown via python-hwpx (delegate). |
| add_paragraphB | Append a text paragraph and write a NEW file (python-hwpx delegate; reserialized, re-validate after). |
| merge_table_cellsB | Merge a table cell range (e.g. A1:B2) and write a NEW file (delegate). |
| set_cell_shadingC | Set a table cell fill color and write a NEW file (delegate). |
| mail_mergeC | Generate one output per record from a template using the OWN byte-preserving fill engine. |
| emphasize_textA | Apply bold/italic/underline/color/size to matched text and write a NEW file (delegate). |
| set_headerC | Set the page header text (page_type: BOTH/EVEN/ODD as accepted by python-hwpx) to a NEW file. |
| set_footerC | Set the page footer text (page_type: BOTH/EVEN/ODD as accepted by python-hwpx) to a NEW file. |
| split_merged_cellC | Split a previously merged table cell apart and write a NEW file (delegate). |
| set_page_sizeC | Set paper width/height/orientation (e.g. PORTRAIT/LANDSCAPE) and write a NEW file (delegate). |
| set_page_marginsB | Set page margins (left/right/top/bottom/header/footer/gutter, HWPUNIT) to a NEW file (delegate). |
| set_columnsC | Set the body column count and write a NEW file (delegate). |
| set_page_numberB | Place page numbers (position e.g. BOTTOM_CENTER, as accepted by python-hwpx) to a NEW file. |
| create_official_documentC | Create a Korean official-document (gongmun) skeleton HWPX from fields (delegate). |
| create_hwpx_tableC | Create a new HWPX containing one table from headers/rows (delegate). |
| create_document_from_blocksC | Create an HWPX from ordered content blocks (delegate). |
| create_document_from_specC | Create an HWPX from a DocumentSpec v1 payload (validated template union; delegate). |
| create_hwpx_from_markdownC | Create an HWPX from Markdown content (delegate). |
| add_imageC | Insert an image file into the document and write a NEW file (delegate). |
| add_tableC | Append a rows x cols table and write a NEW file (python-hwpx delegate). |
| render_previewC | Render page PNG previews via python-hwpx + Playwright/Chromium (render extra). |
| hwp_statusA | Live COM availability probe — side-effect-free, never launches Hangul. connected:false is the NORMAL idle state (no attach is attempted here);
|
| open_in_hwpA | Open a .hwp/.hwpx file in a CONTROLLABLE Hangul window. Hand-opened windows are not a safe exact-path live-attach anchor on their own. Use this tool to attach by exact path in the automation-visible window first, then apply_to_open_hwp / apply_small_live_label_cells. Leaves the window open; saves and closes nothing. If Hangul is not running, this launches it — cold start can take tens of seconds (see cold_start/elapsed_seconds). timeout_seconds > 0 runs in an isolated worker and returns timeout_outcome_unknown (state may be partially applied). |
| apply_to_open_hwpA | One-shot VALUE fill of named form fields (누름틀) in the OPEN Hangul window. Value insertion only — formatting/styling edits are not supported live; use the file-mode delegate tools instead. Legacy pathless mode writes to the active automation document; with path=... it performs broker-targeted exact-path live apply and refuses to guess across multiple automation brokers. No timeout_seconds worker-isolation contract yet. |
| preview_small_live_label_cellsA | Preview small live label:value cell fills WITHOUT COM or ROT access. This is not whole-template completion. For a full lesson plan or other structured form, use compact inspect then complete_addressed_template(path, edits, out_path) or the complete_and_load route — the verified NEW file opens as a new tab and the original stays untouched (plain open_in_hwp may reuse the active tab). This pure preview does not probe COM ROT or attach candidates; exact-path attachment is deferred to apply_small_live_label_cells. |
| apply_small_live_label_cellsA | Fill a small set of label:value CELLS in the OPEN Hangul window live. Handles empty label:value cells AND inline blanks (colon "은행명:", marker "∘ 프로그램명", checkboxes). Value insertion only — no formatting/styling. Not for whole-template completion: use compact inspect plus complete_addressed_template(path, edits, out_path) or the complete_and_load route — new file created, original untouched, opened as a new tab (plain open_in_hwp may reuse the active tab). Attaches to the automation-visible instance on call and verifies the requested exact path is active; if not, it opens it there when open_if_needed=true. Cold start can take tens of seconds. Preview first with preview_small_live_label_cells. |
| resolve_current_hwp_documentA | Resolve the current/open Hangul document inventory without writing anything. This is the side-effect-free entry point for the pathless current-document UX. It never auto-selects around an unsupported, unsaved, or unprovable current document. |
| preview_current_hwp_documentA | Preview the saved current Pass |
| apply_to_current_hwp_documentA | Apply a previously previewed pathless current-document edit by token only. The token is authoritative: no fresh values or target hints, and the selected broker and exact target are revalidated before mutating the live document. complete_and_load tokens instead write the verified completion to the NEW file from the preview and open it as a new tab — the original stays untouched and the created path is returned even if the open fails. This path does not expose a timeout_seconds worker-isolation contract. |
| live_delete_table_rowsA | Delete table ROWS in the OPEN Hangul window (live-only; Windows + Hangul). Offline row delete is unsafe (cellAddr/rowCnt/merge recompute), so this
drives the open window — Hangul's TableSubtractRow recomputes merges.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/pblsketch/Hangeul-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server