Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HWPX_TRACK_AUTHORNo변경 추적 작성자 (Track-changes author). Default: `Claude`Claude
HWPX_DEFAULT_PROFILENo새 문서의 한글 버전 프로필 (Hangul version profile for new documents). Default: 들어 있는 기본 프로필 (the bundled default profile)
HWPX_TABLE_PRESET_DIRNo표 마당(.tbl) 폴더 (Table preset (.tbl) folder). Default: 설치된 한글의 폴더 (the installed Hangul folder)

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

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
documentA

문서 열기·새로 만들기·저장·닫기·정보, 여러 편집을 한 트랜잭션으로 묶기(batch). action: new(target_version?); open(path); save(force?); save_as(path, overwrite?); close(discard?); revert(); list(); batch(calls); info(); meta(set?)

readB

문서 읽기: 개요·본문·노드 속성·서식·찾기. action: outline(range?, depth?, offset?, limit?); text(range?, offset?, limit?); node(target); format(range); find(query, regex?, case?, whole_word?, range?, include_deleted?, limit?)

textB

글 넣기·지우기·바꾸기·모두 바꾸기·복사·이동·자동 입력 코드. action: insert(at, text, style?, char?); delete(range); replace(range, text); replace_all(find, replace, regex?, case?, range?); copy(range, at, src?); move(range, at); insert_code(at, kind, format?, side_char?)

char_formatB

글자 모양(글꼴·크기·색·진하게·밑줄 …). action: set(range, props); highlight(range, color?); reset(range); copy(from, to)

para_formatA

문단 모양(정렬·여백·줄 간격·탭·테두리 …). action: set(range, props); reset(range); copy(from, to)

styleB

스타일 정의·적용. action: list(); define(name, kind, eng_name?, base?, next?, char?, para?, numbering?); update(name, eng_name?, kind?, next?, char?, para?); apply(range, name); delete(name, replace_with?)

numberingC

문단 번호·글머리표·개요 번호. action: define(kind, levels?, bullet?); apply(range, kind, def?, level?); level(range, set?, delta?); restart(at, start); remove(range); update(def, levels?, bullet?)

pageC

쪽: 용지·여백·다단·쪽 번호·머리말/꼬리말·나누기·테두리·바탕쪽. action: setup(section, paper?, orientation?, margin?, gutter_type?); columns(at, count, type?, direction?, gap?, widths?, separator?); page_number(section, position, format?, side_char?, start?); header(section, pages?, op?); footer(section, pages?, op?); break(at, kind); border(section, pages?, border?, offset?, fill?, base?, include_header?, include_footer?); hide(at, items); section(section, start_page?, start_figure?, start_table?, start_equation?, hide_first?, text_direction?, line_grid?, char_grid?, line_numbers?, starts_on?, space_columns?, tab_stop?); master(section, pages?, op?)

tableC

표: 만들기·셀·병합/나누기·행/열·서식·계산식·정렬. action: create(at, rows, cols, data?, col_widths?, row_heights?, own_paragraph?, frame?, margin?, caption?, header_rows?, style?); cell(cells, text?, data?); insert_rows(target, at_row, count?, where?); insert_cols(target, at_col, count?, where?); delete_rows(target, indices); delete_cols(target, indices); delete(target); merge(cells?, target?); split(target, rows?, cols?, at_row?); size(target?, cells?, col_widths?, row_heights?, width?, equalize?); cell_format(cells, border?, fill?, valign?, padding?, text_direction?, single_line?, protect?, editable_in_form?, name?, header?, fill_image?, fill_image_mode?); update(target, frame?, margin?, caption?, page_break?, repeat_header?, default_padding?, lock_size?); formula(target, expr, format?); recalc(target?); sort(target, keys, rows?, header_rows?); to_text(target, separator?); from_text(range, separator?, header_rows?); preset(target, name, apply_to?)

equationB

수식(한글 수식 스크립트 또는 LaTeX). action: insert(at, script?, latex?, display?, number?, size?, color?, font?, baseline?, frame?, margin?, caption?); update(target, script?, latex?, size?, color?, font?, baseline?, frame?, margin?, caption?); delete(target); convert_latex(latex)

imageC

그림. action: insert(at, path?, data?, frame?, margin?, inner_margin?, caption?, crop?, effect?, brightness?, contrast?, alpha?, flip?, rotation?, line?, effects?); update(target, reset_size?, frame?, margin?, inner_margin?, caption?, crop?, effect?, brightness?, contrast?, alpha?, flip?, rotation?, line?, effects?); replace(target, path?, data?); delete(target); extract(target, out_path)

shapeB

도형·글상자·묶기. action: insert(at, kind, points?, text?, frame?, margin?, caption?, line?, fill?, shadow?, flip?, rotation?, round?, arc_type?, text_box?, fill_image?, fill_image_mode?); update(target, points?, frame?, margin?, caption?, line?, fill?, shadow?, flip?, rotation?, round?, arc_type?, text_box?, fill_image?, fill_image_mode?); delete(target); group(targets); ungroup(target)

chartC

차트. action: insert(at, type, data, style?, stacked?, percent?, three_d?, frame?, margin?, caption?); update(target, type?, data?, style?, stacked?, percent?, three_d?, frame?, margin?, caption?); delete(target)

noteB

각주·미주. action: insert(at, kind, text); update(target, text); delete(target); settings(section, kind, format?, start?, restart?, placement?, beneath_text?, separator?, separator_length?, spacing?, prefix?, suffix?, superscript?)

linkC

하이퍼링크·책갈피·상호 참조. action: hyperlink(range, url?, bookmark?, op?); bookmark(name, at?, range?, op?); list(); cross_ref(at, show, target?, bookmark?, hyperlink?)

tocC

차례. action: insert(at, source?, styles?, levels?, include?, page_numbers?, leader?, hyperlink?); rebuild(target); delete(target)

fieldC

누름틀·셀 필드(양식 채우기). action: list(); get(name); set(value, name?, target?); set_many(values); insert(at, name, guide?, memo?, editable_in_form?); remove(name, keep_text?)

memoC

메모. action: add(range, text, author?); update(target, text); delete(target); list()

trackB

변경 추적. action: enable(on, author?); list(range?); accept(ids?, all?); reject(ids?, all?)

xmlB

범용 XML 통로(의미 도구가 없는 속성). action: parts(); get(part, xpath, limit?); patch(part, xpath, op, xml?, name?, value?)

renderC

한글 엔진: PDF·쪽 그림·검수·배치 질의·보기 창. action: pdf(out_path, pages?); page_image(page, dpi?); check(timeout?); layout(targets?); update_fields(); view(on); normalize(out_path)

convertC

.hwp → .hwpx 변환(한글 엔진). action: hwp_to_hwpx(path, out_path?, overwrite?)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 22 tools

Disambiguation4/5

Each tool maps to a distinct resource or subsystem (table, image, shape, style, field, memo, etc.), and read vs text split extraction from mutation clearly. The catch-all xml tool overlaps conceptually with every semantic tool, creating some boundary ambiguity, but overall the roles are distinguishable.

Naming Consistency5/5

Every tool name is a consistent single-word lowercase noun (page, text, table, image, style, field, memo), with actions expressed uniformly as parameters. The pattern is entirely predictable throughout.

Tool Count4/5

22 tools is on the heavier side, but the domain (a full word-processor document model) genuinely spans text, formatting, tables, embedded objects, fields, and rendering. Each tool earns its place as a subsystem, though a few could conceivably be consolidated.

Completeness5/5

Coverage is comprehensive: document lifecycle, text editing, char/para/style formatting, tables, equations, images, shapes, charts, notes, links, TOC, fields, memos, page setup, track changes, render/convert. No obvious lifecycle gaps (create/read/update/delete exist across resources).

Maintenance

ActivityMaintained
ResponsivenessNo issues