Skip to main content
Glama

jun-skills-hwpx-v2

Unified HWPX (Hangul Word Processor) MCP Server

Markdown 문서를 HWPX로 변환하거나, 기존 HWPX 템플릿을 분석하여 서식을 유지하면서 새로운 내용으로 문서를 생성하는 통합 MCP 서버입니다.

Copyright (c) 2026 이창준, (주)파워솔루션 | MIT License


두 가지 워크플로우

1. Markdown → HWPX (템플릿 불필요)

Markdown 파일을 바로 HWPX 문서로 변환합니다. 표지, 머리글/바닥글, 자동 번호 매기기를 지원합니다.

"report.md를 한글 문서로 변환해줘"

사용 도구: convert_md_to_hwpx

2. HWPX 템플릿 → HWPX (서식 유지)

기존 HWPX 문서의 서식(글꼴, 여백, 스타일)을 그대로 유지하면서 내용만 교체합니다. 공문, 보고서, 회의록 등 정해진 양식이 있을 때 사용합니다.

"이 공문 양식에 맞춰서 새 문서를 만들어줘"

사용 도구: analyze_hwpxextract_hwpx_xmlbuild_hwpxvalidate_hwpxpage_guard_hwpx


Related MCP server: doc-ops-mcp

설치

자동 설치 (권장)

macOS / Linux:

curl -LsSf https://raw.githubusercontent.com/cjLee-cmd/jun-skills-hwpx-v2/main/install.sh | bash

Windows (PowerShell):

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/cjLee-cmd/jun-skills-hwpx-v2/main/install.bat" -OutFile "$env:TEMP\install.bat"; & "$env:TEMP\install.bat"

설치 스크립트가 자동으로 수행하는 작업:

  • uv 설치 (없는 경우)

  • 소스 다운로드 (~/jun-skills-hwpx-v2)

  • 의존성 설치 (uv sync)

  • MCP 서버 자동 등록:

    • Claude Code (~/.claude.json)

    • Claude Desktop (claude_desktop_config.json)

    • Gemini CLI (~/.gemini/settings.json)

수동 설치

git clone https://github.com/cjLee-cmd/jun-skills-hwpx-v2.git ~/jun-skills-hwpx-v2
cd ~/jun-skills-hwpx-v2
uv sync

MCP 설정 파일에 다음을 추가:

{
  "mcpServers": {
    "hwpx": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/jun-skills-hwpx-v2", "python", "scripts/mcp_server.py"]
    }
  }
}

클라이언트

설정 파일 경로

Claude Code

~/.claude.json

Claude Desktop (macOS)

~/Library/Application Support/Claude/claude_desktop_config.json

Claude Desktop (Windows)

%APPDATA%\Claude\claude_desktop_config.json

Gemini CLI

~/.gemini/settings.json


MCP 도구 목록

도구

설명

convert_md_to_hwpx

Markdown → HWPX 변환 (표, 코드블록, 리스트, 인용문, 표지, 머리글/바닥글 지원)

analyze_hwpx

HWPX 문서 구조 분석 (글꼴, 스타일, 레이아웃 추출)

extract_hwpx_xml

HWPX에서 header.xml / section0.xml 추출

build_hwpx

템플릿 + XML → HWPX 조립

validate_hwpx

HWPX 구조 무결성 검증

page_guard_hwpx

레퍼런스 대비 페이지 수 드리프트 검사

extract_text_hwpx

HWPX에서 텍스트 추출


CLI 직접 실행

cd ~/jun-skills-hwpx-v2

# Markdown → HWPX
uv run python scripts/md2hwpx.py input.md output.hwpx --title "보고서 제목"

# HWPX 분석
uv run python scripts/analyze_template.py template.hwpx

사용 예시

Claude / Gemini에서 사용

# Markdown → HWPX (템플릿 없이)
"이 마크다운 파일을 한글 문서로 변환해줘"
"report.md를 HWPX로 만들어줘. 제목은 '월간 보고서'"

# HWPX 템플릿 기반
"이 한글 문서를 분석해줘" (analyze_hwpx)
"이 양식에 맞춰 새 문서를 만들어줘" (전체 워크플로우)
"공문 양식으로 문서를 작성해줘" (내장 템플릿 사용)

내장 템플릿

templates/ 폴더에 다음 양식이 포함되어 있습니다:

템플릿

설명

base/

기본 스켈레톤

gonmun/

공문

report/

보고서

minutes/

회의록

proposal/

제안서


요구 사항

  • Python 3.10+

  • uv (설치 스크립트가 자동 설치)

  • git


라이선스

MIT License - 자유롭게 사용, 수정, 배포할 수 있습니다.

Available Tools

7 tools
analyze_hwpxA

Analyze an existing HWPX file and return its full structure.

Outputs font definitions, border/fill styles, character styles (charPr), paragraph styles (paraPr), page/margin settings, and the complete body structure including all paragraphs and tables with cell details.

Use this as the first step when the user provides a reference HWPX file for replication or editing.

ParametersJSON Schema
NameRequiredDescriptionDefault
hwpx_pathYesAbsolute path to the .hwpx file to analyze.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly indicates that the tool is read-only by stating it 'returns' the structure, and it enumerates the specific components returned. It does not mention potential errors or limitations, but for an analysis tool this level of transparency is adequate and does not contradict any annotations (none exist).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each earning its place: purpose, detailed output summary, and usage guidance. It is front-loaded with the core action and avoids unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one parameter), has an output schema (so return values need not be elaborated), and the description provides a comprehensive overview of what the analysis yields. The usage context for replication/editing workflows adds situational completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of the parameter (hwpx_path) with its own description: 'Absolute path to the .hwpx file to analyze.' The tool description adds no additional parameter semantics, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Analyze') and resource ('existing HWPX file') and clearly states the outcome: 'return its full structure.' It further details the structured output (font definitions, styles, page settings, body structure) which distinguishes it from sibling tools like extract_text_hwpx or extract_hwpx_xml that focus on isolated content extraction rather than full structural analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The final sentence 'Use this as the first step when the user provides a reference HWPX file for replication or editing' explicitly states when to use this tool. However, it does not explicitly name alternatives or provide when-not-to-use exclusions, though the sibling list suggests other tools for validation or conversion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_hwpxA

Build an HWPX file from a template and optional XML overrides.

Workflow:

  1. Start from the base template skeleton.

  2. Optionally overlay a document-type template (gonmun/report/minutes).

  3. Optionally override header.xml (styles) and/or section0.xml (body).

  4. Pack as a valid HWPX archive and validate.

When a user provides a reference HWPX, first call analyze_hwpx() and extract_hwpx_xml() to get the header/section XML, then write a new section0.xml with only the required text changes, and pass it here.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoDocument title written into content.hpf metadata.
creatorNoDocument creator written into content.hpf metadata.
templateNoDocument type template — one of: gonmun, report, minutes. Leave empty for plain base template.
header_xmlNoAbsolute path to a custom header.xml file (styles). Leave empty to use the template's default header.
output_hwpxYesAbsolute path for the output .hwpx file.
section_xmlNoAbsolute path to a custom section0.xml file (body content). Leave empty to use the template's default section.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the internal construction pipeline: starting from a base skeleton, overlaying templates, overriding header/section XML, packing as a valid HWPX archive, and validating. It also advises creating 'only the required text changes,' which is useful behavioral context. It does not cover error handling or file overwrite behavior, but the core transparency is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-line summary, a numbered workflow, and a usage note. Every sentence earns its place, and the front-loaded purpose makes it immediately scannable. The length is appropriate for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 params, 1 required) and 100% schema coverage, the description is fully sufficient. It covers the prerequisites (analyze_hwpx, extract_hwpx_xml), the exact steps, and the validation behavior. Since an output schema exists, not explaining return values is acceptable. The description leaves no major gaps for an agent to select and invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by connecting parameters to the workflow: it explains that template selects a document-type overlay, header_xml/section_xml are custom overrides, and provides guidance on crafting section0.xml with minimal changes. This extra context goes beyond the schema's simple field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line 'Build an HWPX file from a template and optional XML overrides' clearly states the tool's function with a specific verb and resource. The described workflow (base skeleton, overlays, packing, validation) distinguishes it from siblings like analyze_hwpx, extract_hwpx_xml, and convert_md_to_hwpx.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs when to use this tool vs. siblings: 'When a user provides a reference HWPX, first call analyze_hwpx() and extract_hwpx_xml()... then pass it here.' This is direct alternative/prerequisite guidance. The numbered workflow also clears up the sequence of operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

convert_md_to_hwpxA

Convert a Markdown file to HWPX format.

Use this when the user wants to create an HWPX document from a Markdown file WITHOUT providing a reference HWPX template. Generates a complete document with cover page, page headers/footers, heading auto-numbering, native tables, code blocks, lists, and blockquotes.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoDocument title (shown on cover page and page header). Defaults to filename.
authorNoDocument author (shown on cover page).
input_mdYesAbsolute path to the input .md file.
languageNoDocument language code (default: "ko").ko
output_hwpxYesAbsolute path for the output .hwpx file.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the tool's output behavior in useful detail: 'Generates a complete document with cover page, page headers/footers, heading auto-numbering, native tables, code blocks, lists, and blockquotes.' It does not cover error handling or overwrite behavior, but the core transformation behavior is well described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a one-line primary purpose, a usage condition, and a list of generated content features. Every sentence adds value, and key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, full parameter schema coverage, and a clear usage scenario, the description is largely complete. It could additionally mention expected prerequisites (e.g., input file existence, output directory writability) but is sufficient for most agents to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents all five parameters. The description adds no additional parameter-level meaning beyond what is in the schema, placing it at the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool converts a Markdown file to HWPX format, using a specific verb ('Convert') and resource ('Markdown file' → 'HWPX'). It also differentiates from siblings by explicitly noting it handles the case where no reference HWPX template is provided.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use ('when the user wants to create an HWPX document from a Markdown file WITHOUT providing a reference HWPX template'), including a clear when-not condition. However, it does not name any alternative sibling tool, so it stops short of full alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_hwpx_xmlA

Extract header.xml and section0.xml from an HWPX file.

Use this to get the raw XML from a reference HWPX so you can:

  • Read the exact charPrIDRef/paraPrIDRef/borderFillIDRef values in use

  • Copy the header.xml for reuse in build_hwpx()

  • Edit section0.xml text nodes and pass the modified file to build_hwpx()

ParametersJSON Schema
NameRequiredDescriptionDefault
hwpx_pathYesAbsolute path to the source .hwpx file.
extract_dirNoDirectory to write header.xml and section0.xml into. Defaults to a system temp directory.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavioral traits. It mentions extracting specific files and hints at writing them to an extract_dir, but does not explicitly state side effects (e.g., whether the source file is modified), return value behavior (though an output schema exists), or failure modes. It provides useful context for reuse with build_hwpx but leaves some ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short paragraphs: the first states the core action in one sentence, and the second lists bullet-point use cases. Every line earns its place with no filler or repetition. It is front-loaded with the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, use cases, and relationship to build_hwpx. Since the output schema exists, return values are not required in the description. It lacks explicit 'when not to use' guidance, but the provided use cases are sufficient for a fairly simple extraction tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds context about how the extracted files are used (e.g., for build_hwpx) but does not provide additional parameter-specific meaning beyond what the schema already defines. It does not introduce new examples or edge-case syntax.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: "Extract header.xml and section0.xml from an HWPX file." This is a specific verb+resource combination and distinguishes itself from sibling tool extract_text_hwpx, which extracts text rather than raw XML.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says "Use this to get the raw XML from a reference HWPX so you can:" and lists three concrete use cases, which effectively tells the agent when to invoke this tool. It lacks explicit exclusions or alternatives, but the purpose is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_text_hwpxB

Extract plain text content from an HWPX file.

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoOutput format — "text" (default) or "markdown".text
hwpx_pathYesAbsolute path to the .hwpx file.
include_tablesNoWhether to include table cell text (default: True).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention side effects, safety profile, output format variations (e.g., fmt parameter), or handling of tables (include_tables). The minimal phrase 'Extract plain text' implies a read operation but lacks explicit confirmation of non-destructive behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no waste. It immediately states the core purpose without redundant phrasing, making it concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description is too sparse to be contextually complete. It omits the existence of the fmt and include_tables parameters, and provides no usage context or alternatives. For a tool with three parameters and several siblings, more context is needed for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides complete descriptions for all three parameters (hwpx_path, fmt, include_tables), with 100% coverage. The description adds no additional parameter semantics, so the baseline of 3 is appropriate; it neither enhances nor detracts from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action (extract) and the target (plain text content from an HWPX file), distinguishing it from sibling tools like extract_hwpx_xml (which extracts XML) and analyze_hwpx (analysis). The verb and resource are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description only states what the tool does; it does not indicate when to use it over alternatives, any exclusions, or prerequisites. The presence of sibling tools without reference leaves the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

page_guard_hwpxA

Check that output HWPX has not drifted in page count vs a reference.

Best for SAME-STRUCTURE edits (filling values into a form, replacing text in-place without adding/removing paragraphs or tables). When sections are added, removed, or restructured, expected differences will be reported as failures — in that case use validate_hwpx for integrity checks instead.

Compares paragraph count, table count, table dimensions, explicit page/column breaks, and overall text length between reference and output.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_hwpxYesAbsolute path to the newly built .hwpx file.
max_text_deltaNoAllowed total text-length change (0.15 = 15%).
reference_hwpxYesAbsolute path to the original reference .hwpx file.
max_paragraph_deltaNoAllowed text-length change per paragraph (0.25 = 25%).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses the exact comparison dimensions (paragraph count, table count, table dimensions, page/column breaks, text length) and warns that restructures will be reported as failures. It stops short of detailing threshold behavior or return format, but the output schema covers return values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: one-sentence purpose, one-sentence best-use, one-sentence warning, and a compact list of comparison criteria. Every clause earns its place and the main point is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a 4-parameter tool with 100% schema coverage, an output schema, and clear sibling differentiation, the description fully covers usage context, exclusions, comparison scope, and alternative tool routing. No critical contextual gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific meaning beyond what the schema already provides for max_text_delta and max_paragraph_delta. It does contextually tie them to the 'same-structure' use case but repeats no parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Check that output HWPX has not drifted in page count vs a reference.' It clearly distinguishes itself from sibling tools by focusing on page-count/structure drift and explicitly references validate_hwpx for integrity checks instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance ('Best for SAME-STRUCTURE edits') and when-not-to-use guidance ('When sections are added, removed, or restructured... use validate_hwpx for integrity checks instead'). This is a model of usage clarity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_hwpxA

Validate the structural integrity of an HWPX file.

Checks: valid ZIP, required files, mimetype content/position/compression, and XML well-formedness.

ParametersJSON Schema
NameRequiredDescriptionDefault
hwpx_pathYesAbsolute path to the .hwpx file to validate.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavior. It transparently lists the validation steps (ZIP check, required files, mimetype content/position/compression, XML well-formedness), which gives a clear picture of what the tool will do. It does not state side effects or explicitly note it is read-only, but the nature of validation implies non-destructive behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the main purpose in the first sentence. The second sentence lists the checks in a compact, structured list. Every sentence earns its place, with no redundancy or vague filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter validation tool, the description is largely complete. It states exactly what the tool checks and the expected input. The existence of an output schema likely covers return values, so the description does not need to explain them. Minor missing context: no mention of performance considerations or error handling, but these are not essential given the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter (hwpx_path) with a description 'Absolute path to the .hwpx file to validate.' The tool description adds no additional meaning beyond this, and schema coverage is 100%. As per the rubric, when schema_description_coverage is high, a baseline of 3 applies, and there is no extra value from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates structural integrity of an HWPX file, with a specific verb ('validate') and resource (HWPX). It enumerates concrete checks (ZIP validity, required files, mimetype constraints, XML well-formedness), distinguishing it from sibling tools like build, extract, or analyze.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when one needs to verify the structural integrity of an HWPX file before further processing. However, it does not explicitly state when to use it versus alternatives, nor does it mention exclusions. Usage guidance is implied by the tool's purpose but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct operation: validation, conversion from Markdown, structure analysis, template-based building, raw XML extraction, page-count verification, and plain text extraction. No two tools have overlapping purposes, and the descriptions clearly differentiate them.

Naming Consistency3/5

Most tools follow a verb_hwpx pattern (validate_hwpx, analyze_hwpx, build_hwpx), but convert_md_to_hwpx and extract_hwpx_xml deviate. The extract_hwpx_xml and extract_text_hwpx tools especially have inconsistent ordering of source/object (hwpx before xml vs. after text). While all names start with a verb, the overall pattern is not uniform.

Tool Count5/5

With 7 tools covering creation, analysis, extraction, validation, and page-count verification, the count is well-scoped for an HWPX manipulation server. Each tool earns its place without redundancy or bloat.

Completeness5/5

The tool set provides full lifecycle coverage: create (convert_md_to_hwpx, build_hwpx), read/analyze (analyze_hwpx, extract_hwpx_xml, extract_text_hwpx), and verify (validate_hwpx, page_guard_hwpx). Editing is achievable via the build_hwpx workflow with extracted XML, leaving no obvious gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

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/cjLee-cmd/jun-skills-hwpx-v2'

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