Skip to main content
Glama
mjyoo2
by mjyoo2

HWP MCP Server

MCP (Model Context Protocol) server that enables LLMs to read and modify binary HWP (한글) documents via the HWP COM API.

Architecture

LLM ↔ MCP Server (Python/FastMCP) ↔ PowerShell Bridge (JSON stdin/stdout) ↔ HWP COM API ↔ 한글

Python MCP server manages a long-running PowerShell subprocess that hosts HWP COM objects.

Related MCP server: Advanced HWP MCP Server

Requirements

  • Windows (HWP COM API is Windows-only)

  • 한컴오피스 한글 installed (provides HWP COM server)

  • PowerShell 5.1+ (included with Windows)

  • Python >= 3.11

Installation

uv pip install -e .

Usage

Run MCP Server

python -m hwp_mcp.server

Claude Desktop Config

{
  "mcpServers": {
    "hwp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/hwp-mcp", "hwp-mcp"]
    }
  }
}

MCP Tools (140)

HWP COM API 199 HParameterSet 100% coverage

Document Management (5)

Tool

Description

open_document

Open HWP document

close_document

Close document

list_open_documents

List open documents

save_document

Save document

save_document_as

Save as different name/format

Read (5)

Tool

Description

get_document_text

Extract full text

get_paragraphs

Get paragraph list

get_tables

Get table list

get_table_data

Get table data (2D array)

search_text

Search text

Write (5)

Tool

Description

replace_text

Replace text

insert_text

Insert text

set_table_cell_text

Set table cell text

append_paragraph

Append paragraph

set_text_file

Set document content from text data

Formatting (3)

Tool

Description

set_text_style

Character formatting (font, size, bold, color, etc.)

set_paragraph_style

Paragraph formatting (alignment, line spacing)

set_page_style

Page formatting (margins, orientation)

Table (3)

Tool

Description

create_table

Create table

add_table_row

Add table row

delete_table_row

Delete table row

Advanced (5)

Tool

Description

run_hwp_action

Execute arbitrary HWP action (power user)

convert_to_hwpx

Convert HWP → HWPX

convert_to_pdf

Convert HWP → PDF

batch_convert_files

Batch convert files (HWP, PDF, DOCX, etc.)

set_file_security

File security settings (copy/print restriction)

Cursor & Navigation (11)

Tool

Description

move_cursor

Move cursor to specified position

get_cursor_position

Get current cursor position

set_cursor_position

Set cursor position (list, para, pos)

get_pos_by_set

Get cursor position as set

set_pos_by_set

Set cursor position from set

get_selected_pos_by_set

Get selection start/end positions

select_text

Select text range by coordinates

get_selection_info

Get current selection info

clear_selection

Clear selection

delete_selection

Delete selected content

init_scan

Initialize document scan

Field (12)

Tool

Description

create_field

Create named field (template placeholder)

field_exists

Check if field exists

get_field_list

Get all field names

get_field_text

Read field text

put_field_text

Set field text

get_current_field

Get field name at cursor

set_current_field_name

Set current field name

move_to_field

Move cursor to field

rename_field

Rename field

modify_field_properties

Modify field properties

set_field_ctrl_properties

Set field control properties

batch_fill_fields

Batch fill multiple fields

Advanced Table (11)

Tool

Description

add_table_column

Add table column

delete_table_column

Delete table column

merge_table_cells

Merge cells

split_table_cell

Split cell

set_table_cell_style_adv

Cell style (background, vertical alignment)

set_table_border_adv

Table border style

table_to_text

Table → text conversion

text_to_table

Text → table conversion

swap_table_row_col

Swap table rows/columns

apply_table_template

Apply table template

Enhanced Formatting (5)

Tool

Description

set_char_shape

Extended character properties (kerning, spacing, shadow, etc.)

set_bullet_style

Bullet style

set_numbering_style

Numbering style

set_tab_definition

Tab stops

manage_style

Create/delete/apply styles

Page & Section (10)

Tool

Description

set_section_definition

Section definition (binding margin, text flow)

set_page_border

Page border and background

set_columns

Multi-column layout

set_page_number

Page number

set_header_footer

Header/footer

set_footnote_style

Footnote style

set_master_page

Master page

set_page_hiding

Hide page elements (header/footer, etc.)

set_page_num_ctrl

Page number control (restart numbering)

set_text_direction

Text direction (horizontal/vertical)

Image & Equation (3)

Tool

Description

insert_picture

Insert picture

insert_background_picture

Insert background picture

create_equation

Insert equation

Form Control (3)

Tool

Description

insert_form_control

Insert form control (button, checkbox, etc.)

set_form_properties

Set form control properties

get_form_data

Read form data

Document Info (5)

Tool

Description

get_document_info

Document metadata (page count, modified state)

get_document_summary

Document summary (title, author)

get_page_text

Extract specific page text

get_page_count

Total page count

export_page_as_image

Export page as image

Print & Export (3)

Tool

Description

print_document

Print document

set_watermark

Set watermark (text/image)

save_as_image

Save document as image

Utility (4)

Tool

Description

convert_units

Unit conversion (mm, pt, hwpunit)

rgb_color

RGB/Hex → HWP color value

run_macro

Run HWP macro

get_file_info

File metadata (without opening)

Tool

Description

insert_bookmark

Insert bookmark

insert_hyperlink

Insert hyperlink

hyperlink_jump

Jump to hyperlink target

insert_index_mark

Insert index mark

insert_auto_number

Insert auto number field

insert_cross_reference

Insert cross reference

Header/Footer & Caption (2)

Tool

Description

set_drop_cap

Drop cap (decorative first letter)

set_caption

Table/image caption

Document Operations (8)

Tool

Description

sort_text

Sort text

spell_check

Spell check

set_track_changes

Track changes

mail_merge

Mail merge

make_table_of_contents

Generate table of contents

insert_file

Insert another file

set_password

Document password

save_block

Save selection to file

Compatibility & Settings (3)

Tool

Description

set_compatible_document

Document compatibility mode

set_view_properties

HWP view properties (zoom, view mode, etc.)

set_engine_properties

HWP engine properties (spell check, auto-save, etc.)

Control & Object (4)

Tool

Description

delete_ctrl

Delete selected control

find_ctrl

Find control

check_x_object

Check X object existence

release_scan

Release scan resources

Style & Script (4)

Tool

Description

import_style

Import style

export_style

Export style

run_script

Run HWP script

get_script_source

Get script source

System & Security (11)

Tool

Description

register_module

Register COM module

set_drm_authority

DRM authority

lock_command

Lock/unlock command

is_command_lock

Check command lock status

set_message_box_mode

Message box mode

get_message_box_mode

Get message box mode

is_action_enable

Check action enabled

replace_action

Replace action handler

get_hwp_property

Get HWP COM property

set_hwp_property

Set HWP COM property

hwp_enum

String → HWP enum value

HParameterSet Actions (10)

Tool

Description

HParameterSet Count

hwp_table_param_action

Table actions

14

hwp_file_param_action

File actions

11

hwp_draw_param_action

Draw object actions

22

hwp_shape_param_action

Shape actions

6

hwp_style_param_action

Style/border actions

6

hwp_form_param_action

Form actions

13

hwp_doc_info_param_action

Document info actions

9

hwp_hanja_param_action

Hanja/conversion actions

11

hwp_selection_param_action

Selection/position actions

6

hwp_misc_param_action

Miscellaneous actions

69

Project Structure

hwp-mcp/
├── src/hwp_mcp/
│   ├── __init__.py
│   ├── _core.py         # FastMCP instance & shared helpers
│   ├── server.py        # Entry point, imports all tool modules
│   ├── bridge.py        # PowerShell subprocess manager
│   ├── commands.py      # JSON command builders
│   └── tools/           # MCP tool definitions (140 tools)
│       ├── cursor.py
│       ├── doc_info.py
│       ├── document.py
│       ├── drawing.py
│       ├── field.py
│       ├── form.py
│       ├── formatting.py
│       ├── hparam.py
│       ├── hwpobject.py
│       ├── page_section.py
│       ├── print_export.py
│       ├── system.py
│       ├── table.py
│       ├── text.py
│       └── utility.py
├── scripts/
│   ├── hwp_bridge.ps1   # PowerShell COM bridge dispatcher
│   └── handlers/        # 12 handler modules
│       ├── document.ps1
│       ├── text.ps1
│       ├── table.ps1
│       ├── style_format.ps1
│       ├── action.ps1
│       ├── cursor_selection.ps1
│       ├── field.ps1
│       ├── draw_object.ps1
│       ├── form_control.ps1
│       ├── document_info.ps1
│       ├── print_export.ps1
│       ├── utility.ps1
│       └── hwpobject_methods.ps1
├── tests/
│   ├── test_bridge.py   # Bridge unit tests
│   ├── test_commands.py # Command builder unit tests
│   └── test_server.py   # Server tool unit tests
└── pyproject.toml

Development

uv pip install -e ".[dev]"
pytest tests/ -v
ruff check src/ tests/

Limitations

  • Windows only: HWP COM API requires Windows

  • 한글 required: 한컴오피스 한글 must be installed

  • Binary HWP only: HWPX (XML-based) needs a separate server

License

MIT

Available Tools

140 tools
add_table_columnA

Add a column to a table.

Args: doc_id: Document ID from open_document table_index: Index of the table col_index: Position to insert (default: append at end)

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
col_indexNo
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations present, the description carries the full behavioral disclosure burden. It identifies the mutation ('Add a column') and the insert position behavior, but it does not disclose side effects, irreversibility, constraints, or what happens if the table index is invalid.

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 optimally sized: a one-line purpose statement followed by a compact Args list. There is no filler, and the parameter documentation is easy to scan.

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

Completeness3/5

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

The description is adequate for a simple operation, and the output schema covers return values, so the lack of return documentation is acceptable. However, it omits edge-case behavior and mutability warnings, which matter for a table-modifying tool with no annotations.

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?

Although the JSON schema properties lack descriptions, the natural-language Args block documents all three parameters with useful meaning: doc_id as 'from open_document', table_index as the table's index, and col_index as the insertion position with the append-at-end default. This fully compensates for the 0% schema description coverage.

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 'Add a column to a table,' a specific verb-resource pair that unambiguously states the operation. It also differentiates itself from the sibling add_table_row and delete_table_column by clarifying it inserts a column, not a row.

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?

The description provides no guidance on when to use this tool versus alternatives like add_table_row or split_table_cell. It does not state prerequisites, exclusions, or conditions under which adding a column would be preferred.

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

add_table_rowA

Add a new row to a table.

Args: doc_id: Document ID from open_document table_index: Index of the table position: Row position to insert at (default: end)

Returns: Row addition confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
positionNo
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/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 behavioral disclosure. It discloses that the operation adds/inserts a row, that position defaults to end, and that a confirmation is returned. However, it does not mention side effects on existing rows, index base, or invalid position/table_index 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 compact and well-structured: a one-sentence purpose, then Args and Returns sections. Every line contributes useful information and the format is easy to scan.

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

Completeness3/5

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

The essential invocation details are present, and the output schema covers return value expectations. Still, without annotations, an agent lacks clear information about side effects of inserting rows, positional edge cases, or whether table indexes are zero-based.

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 description coverage is 0%, so the description must compensate. It provides meaningful one-line explanations for all three parameters, especially clarifying that position defaults to 'end'. It leaves some ambiguity around zero-based indexing and bounds, but it adds substantial meaning beyond the raw 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 states a specific verb and resource: 'Add a new row to a table.' This clearly distinguishes it from sibling tools like add_table_column, delete_table_row, and create_table.

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 purpose is clear enough to indicate when to use it, and the args provide useful context such as 'doc_id from open_document' and position defaulting to end. It does not explicitly discuss exclusions or alternatives, but no closely competing tool exists for the same operation.

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

append_paragraphA

Append a new paragraph to the end of the document.

Args: doc_id: Document ID from open_document text: Paragraph text

Returns: Append confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. It discloses a mutating append operation and a confirmation return value, but does not mention permissions, reversibility, formatting effects, or whether the document needs to be saved afterward.

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 front-loaded: one clear action sentence, then neatly labeled Args and Returns sections. There is no filler or redundant explanation; each line serves a 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?

For a simple two-parameter append tool with an output schema present, the description covers the action, parameters, and return confirmation. The main gap is the absence of behavioral caveats like document-save requirements or error conditions, but no annotations exist to fill that gap.

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 coverage is 0%, and the description adds some meaning: doc_id is identified as coming from open_document, and text is described as paragraph text. However, 'Paragraph text' is largely tautological, and no format, length, or newline behavior is specified.

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 states a specific action ('Append a new paragraph'), the target resource ('the document'), and the exact location ('to the end'). This clearly differentiates it from sibling tools like insert_text or set_table_cell_text, which operate in other contexts.

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 gives clear usage context: appending a paragraph to the end of an open document, with doc_id sourced from open_document. It does not explicitly name alternatives or state when not to use it, but the prerequisite is evident.

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

apply_table_templateC

Apply a template to the current table.

Args: doc_id: Document ID from open_document filename: Template file path format: Template format apply_target: Bitmask of what to apply create_mode: Creation mode

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
formatNo
filenameNo
create_modeNo
apply_targetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states 'Apply' implying a mutation, but does not disclose whether the operation modifies the existing table in place, overwrites content, or what side effects apply_target/create_mode produce. The brief arg list adds little behavioral context.

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

Conciseness4/5

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

The description is compact and well-structured: a single front-loaded purpose sentence followed by a five-line args list. No filler or redundancy, though the args list is minimal and arguably repeats schema parameter names.

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?

For a tool with five parameters and zero annotation coverage, the description is too thin. It leaves unclear what template formats are accepted, what apply_target bitmask values mean, what create_mode options exist, and what state the table must be in. Even with an output schema, an agent lacks enough information to invoke this tool confidently.

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 0%, so the description must compensate. The Args section provides one-line glosses for all five parameters. Some add useful meaning ('Document ID from open_document', 'Template file path', 'Bitmask of what to apply'), while others are near-tautological ('Template format', 'Creation mode'). Partial compensation only.

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

Purpose4/5

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

The description opens with 'Apply a template to the current table' — a specific verb and resource. It is distinct from siblings because no other sibling tool mentions templates or applying them to tables. It doesn't elaborate on what the template does, but the core action is unmistakable.

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?

There is no guidance on when to use this tool versus alternatives, no prerequisite conditions, and no mention of exclusions. The only contextual hint is 'current table' and doc_id being 'from open_document', but these are not framed as usage guidance.

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

batch_convert_filesB

Batch convert files between formats (HWP, HWPX, PDF, DOCX, etc.).

Args: doc_id: Document ID from open_document src_files: List of source file paths dest_files: List of destination file paths format: Target format string

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
formatNoHWP
src_filesNo
dest_filesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

There are no annotations, so the description alone must disclose side effects and behavioral details. It only says files are converted; it does not state whether the operation creates new files, overwrites existing ones, modifies the open document, or has other side effects. It also does not explain the relationship between doc_id and src_files.

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

Conciseness4/5

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

The description is compact and well-structured: a one-sentence summary followed by a short argument list. Every piece adds some value, though the format could be slightly richer without becoming verbose.

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?

The description is not complete enough for an agent to use the tool confidently. It does not explain when to choose this tool over single-format converters, how src_files and dest_files correspond, what happens with a null src_files or dest_files, or what the output looks like. The presence of an output schema reduces the burden for return values, but the operational gaps remain significant.

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?

The schema has 0% description coverage, but the description compensates by giving each parameter a meaningful one-liner: doc_id is tied to open_document, src_files and dest_files are path lists, and format is a target format string. It does not explain null/optional behavior or the pairing between source and destination files, so it is helpful but not exhaustive.

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

Purpose4/5

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

The description clearly states a specific action ('Batch convert files between formats') and names the involved formats (HWP, HWPX, PDF, DOCX). It is broad enough to cover multiple formats but does not explicitly distinguish itself from sibling tools like convert_to_pdf or convert_to_hwpx, so it falls just short of a 5.

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 guidance is given about when to use this tool versus alternatives such as convert_to_pdf or convert_to_hwpx. The word 'Batch' implies a multi-file scenario, but the description does not state this or any exclusions.

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

batch_fill_fieldsA

Fill multiple fields at once (batch operation).

Args: doc_id: Document ID from open_document fields: Dict mapping field names to text values

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
fieldsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the effect ('fill') without disclosing behaviors such as overwriting behavior, prerequisites (beyond doc_id origin), error handling, or partial failure semantics. This is inadequate for a mutation tool.

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 extremely concise, leading with the core purpose ('Fill multiple fields at once') and then enumerating the two parameters in a clean Args block. No wasted words.

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

Completeness3/5

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

Given the tool has an output schema (not displayed) and only two parameters, the description provides basic completeness. However, it lacks behavioral context like whether the operation is atomic, whether it overwrites existing field values, or what happens if a field name is invalid. For a batch operation with no annotations, more detail is expected.

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 0%, but the description adds meaning: doc_id is identified as coming from open_document, and fields is described as a dict mapping field names to text values. This explains both parameters effectively, though it omits constraints like whether fields must pre-exist.

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 fills multiple fields at once, which is a specific verb+resource. The batch aspect distinguishes it from siblings like put_field_text (single field), making its purpose unambiguous.

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 use for batch operations but does not explicitly mention alternatives or when not to use it. It lacks explicit guidance like 'use for multiple fields; use put_field_text for single fields,' so usage context is only implied.

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

check_x_objectB

Check if an X object exists by name.

Args: doc_id: Document ID from open_document name: Name of the X object to check

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

Without annotations, the description carries the full burden of behavioral disclosure. It only says 'check if exists', which implies read-only behavior, but it does not explicitly state side effects, return behavior, error handling for missing objects, or whether the document is modified.

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

Conciseness4/5

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

The description is compact and front-loaded with the purpose, followed by a minimal Args list. Every line adds necessary information; there is no filler, though the prose could have spent one more sentence on return semantics.

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

Completeness3/5

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

For a simple two-parameter existence check with an output schema, the core invocation information is present. However, the undefined 'X object' and the complete absence of usage guidance or alternatives leave a noticeable gap for an agent unfamiliar with the domain.

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?

The schema has 0% description coverage, so the Args section is the only source of parameter meaning. It usefully explains that doc_id comes from open_document and name is the object name to check, adding real value beyond the bare parameter titles.

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

Purpose4/5

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

The description states a concrete verb-resource pair: checking whether an X object exists by name within a document. It is clearer than the bare tool name because it adds the existence-check semantics and the lookup key (name), though it does not define what an 'X object' is or differentiate itself from sibling existence/search tools.

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?

There is no guidance about when to use this tool versus alternatives like field_exists or find_ctrl. No conditions, exclusions, or preconditions are given beyond the required arguments, leaving the agent to infer appropriate invocation context.

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

clear_selectionC

Clear the current text selection.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden of behavioral disclosure. It says 'Clear the current text selection' but does not state whether selected content is preserved, whether the cursor moves, or what side effects occur. It also fails to mention that doc_id is needed to identify the target document.

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

Conciseness3/5

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

The description is short and front-loaded with no filler, which is appropriate. However, it is under-specified to the point of omitting the parameter and usage context, so brevity comes at the expense of usefulness.

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?

This tool is relatively simple, but with no annotations, a required doc_id param, and related sibling tools, the description leaves out essential context: which document the selection applies to, whether content is preserved, and how this differs from delete_selection. It is not complete enough for an agent to confidently invoke it correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention the required doc_id parameter at all. The only parameter remains entirely undocumented by both the schema and description, so the agent has no semantic guidance beyond the minimal 'Doc Id' title.

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

Purpose4/5

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

The description states a clear verb and object: 'Clear the current text selection.' The purpose is unambiguous, but it does not differentiate itself from sibling tools like delete_selection, which could plausibly mean removing the selected content, or select_text. The absence of an explicit 'without deleting content' qualifier leaves a small ambiguity.

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?

There is no guidance about when to use this tool versus alternatives such as select_text, get_selection_info, or delete_selection. The description only states what it does, not when or why an agent should prefer it over related selection tools.

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

close_documentA

Close an open document.

Args: doc_id: Document ID from open_document

Returns: Confirmation with status

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says it closes an open document and returns 'Confirmation with status.' It does not disclose whether unsaved changes are discarded, whether a prompt may appear, what happens with an invalid doc_id, or any side effects of closing.

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 very concise, front-loads the core action, and includes only necessary sections for arguments and return value. Every sentence contributes useful information with no redundancy or filler.

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

Completeness3/5

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

For a simple one-parameter tool with an output schema, the description covers the essential invocation details: the action, the argument source, and a basic return description. However, the lack of annotations and the absence of any mention of save/discard behavior leave some risk for an agent invoking this state-changing operation without knowing its full impact.

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?

The schema provides only the name and type of doc_id, so the description adds meaningful context by specifying that it is 'Document ID from open_document.' This tells an agent exactly where to obtain the value, which is sufficient guidance for the single parameter.

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 states a specific verb and resource: 'Close an open document.' It clearly distinguishes this tool from siblings like open_document and save_document by focusing on the closing action and the precondition that the document is already open.

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 primary usage context: the document must already be open, and the doc_id should come from open_document. However, it does not explicitly state when to prefer this over alternatives like save_document, nor does it mention any exclusions or prerequisites beyond having opened the document.

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

convert_to_hwpxA

Convert HWP document to HWPX format.

Args: doc_id: Document ID from open_document output_path: Output file path for the HWPX file

Returns: Conversion confirmation with path

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
output_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden of behavioral disclosure. It mentions the output path and that a conversion confirmation is returned, but it does not disclose whether the original document is modified, whether an existing output file is overwritten, or whether the source document remains open.

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 front-loaded, with a clear one-line purpose followed by concise Args and Returns sections. Every sentence earns its place and there is no 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 two-parameter conversion tool, the description covers the inputs, the output path, and the return value. It is largely complete, though it would be slightly stronger if it addressed overwrite behavior or side effects on the source document.

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 description coverage is 0%, so the description must compensate for the two parameters. It does this reasonably well by explaining that doc_id comes from open_document and that output_path is the destination for the HWPX file, adding meaning beyond the bare string schema titles.

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: convert an HWP document to HWPX format. This clearly distinguishes it from conversion-oriented siblings like convert_to_pdf, and it is not a tautology of the tool name.

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 docstring gives a useful prerequisite by stating doc_id should come from open_document, which helps an agent know what input to supply. However, it does not explicitly explain when to prefer HWPX over alternatives such as save_document_as or convert_to_pdf, nor does it name any exclusions.

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

convert_to_pdfA

Export document as PDF.

Args: doc_id: Document ID from open_document output_path: Output file path for the PDF

Returns: Conversion confirmation with path

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
output_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/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 states the action and return value ('Returns: Conversion confirmation with path'), but it does not mention side effects, whether existing files are overwritten, whether the document is modified, or whether permission or file-system constraints apply.

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 well-structured, with a front-loaded purpose statement followed by clearly labeled Args and Returns sections. Every line earns its place and there is no redundant or filler content.

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 simple two-parameter conversion tool, the description is nearly complete: it explains both arguments, references open_document for the source ID, and states the return value. Minor omissions include whether the output path must end in .pdf and whether an existing file at that path is overwritten, but these do not seriously impair call correctness.

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

Parameters5/5

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

Schema property descriptions are absent, so the description must compensate. It does so fully by explaining both parameters: doc_id is 'Document ID from open_document' and output_path is 'Output file path for the PDF.' This adds meaningful context well beyond the bare schema.

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

Purpose4/5

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

The description states a specific verb and resource: 'Export document as PDF.' This is unambiguous and clearly describes the tool's operation. However, it does not explicitly differentiate this tool from sibling alternatives like export_page_as_image or save_as_image, so it falls short of a 5.

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 gives implied usage guidance by noting 'doc_id: Document ID from open_document,' which tells the agent that a previously opened document is required. However, it does not explicitly state when to use this tool versus alternatives such as export_page_as_image or batch_convert_files, nor does it provide any exclusion criteria.

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

convert_unitsC

Convert between units (mm, pt, hwpunit).

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
doc_idYes
to_unitYes
from_unitYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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. It says 'Convert' but does not disclose whether this is a pure read-only conversion, whether it mutates the document, or why doc_id is required. For a conversion tool, side effects and context dependence should be clarified.

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

Conciseness4/5

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

The description is very concise and front-loaded, with no filler or redundant sentences. The unit names add substance, though the brevity comes at the cost of missing parameter and behavioral context.

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?

An output schema exists, so return-value details are not required from the description. However, the mandatory doc_id parameter has no explained purpose, and the lack of parameter descriptions leaves the tool incomplete for confident invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does add meaning to from_unit and to_unit by listing possible unit values, but it leaves value and especially doc_id unexplained, and it does not specify the exact accepted string formats or conversion behavior.

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

Purpose4/5

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

The description states a clear verb ('Convert') and resource ('units') and explicitly names the supported unit families (mm, pt, hwpunit), so an agent can understand the core purpose. It does not explicitly contrast with sibling tools, but no sibling appears to offer the same conversion capability.

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 intended use is implied by the tool name and the unit list, but the description gives no explicit when-to-use or when-not-to-use guidance. There are no alternative conversion tools among the siblings, so the lack of explicit routing is less damaging, but still not addressed.

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

create_equationC

Create an equation using HWP equation syntax.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
equationYes
font_nameNo
font_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description alone carries the behavioral disclosure burden, but it only repeats the core action. It does not state insertion behavior, whether the equation replaces a selection, dialog behavior, error conditions, or effects on the document.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler. It is concise, though the brevity sacrifices substance needed for a non-trivial tool.

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?

The description is not complete enough to invoke the tool correctly: it omits how the equation string should be formatted, where the equation is placed, and what the font parameters control. An output schema exists but is not shown, and no annotations fill these gaps.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate, but it does not explain any of the four parameters. It only mentions HWP equation syntax generally, leaving doc_id, equation format, font_name, and font_size semantically undefined.

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

Purpose4/5

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

The description states a specific action ('Create an equation') and the domain ('HWP equation syntax'), which distinguishes it from text or picture insertion siblings. It does not explicitly contrast with any sibling tool, but the verb and resource are clear enough for basic selection.

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?

There is no guidance about when to use this tool versus alternatives like insert_text, insert_picture, or create_table. No prerequisites, expected document state, or exclusions are mentioned.

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

create_fieldA

Create a named field (placeholder for templates).

Args: doc_id: Document ID from open_document name: Field name direction: 0 = horizontal, 1 = vertical memo: Field memo/description

ParametersJSON Schema
NameRequiredDescriptionDefault
memoNo
nameYes
doc_idYes
directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 behavioral burden. It only states the action and parameter meanings; it does not disclose return behavior, failure modes (e.g., duplicate field names), or side effects such as where the field is inserted.

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?

A single clear purpose sentence followed by a compact Args block. Every line earns its place, and the most important information is front-loaded.

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

Completeness3/5

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

The description covers purpose and parameter semantics well, and an output schema exists so return-value documentation is not necessarily required. However, the lack of usage guidance versus sibling field tools and the absence of side-effect disclosure keep it from being fully complete, especially with no annotations.

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 description coverage is 0%, but the description compensates by explaining all four parameters. The direction 0/1 mapping and doc_id provenance from open_document are genuinely useful; name and memo are minimal but still map correctly to schema properties.

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?

States a specific action ('Create') and resource ('named field'), with the parenthetical 'placeholder for templates' clarifying the kind of field. This distinguishes it from sibling field tools like get_field_text, rename_field, and put_field_text, which operate on existing fields rather than creating placeholders.

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 use when a new template placeholder field is needed, and 'doc_id: Document ID from open_document' gives a useful prerequisite. However, it does not explicitly name alternatives or state when not to use this tool versus the many sibling field-manipulation tools.

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

create_tableA

Create a new table in the document.

Args: doc_id: Document ID from open_document rows: Number of rows cols: Number of columns data: Optional 2D array of initial cell values

Returns: Table creation confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
colsYes
dataNo
rowsYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It states the core effect (create a table) and the return behavior ('Table creation confirmation'), which is helpful. But it does not disclose where the table is inserted (e.g., cursor position), validation rules for rows/cols, or any side effects on the document.

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 front-loaded with the purpose. The Args list is a lean, readable mapping of all four parameters with no redundant filler. The Returns line closes it efficiently. Every sentence earns its place.

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

Completeness3/5

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

For a 4-parameter mutation tool with no annotations and no schema descriptions, the description covers parameters and return but omits behavioral context like insertion point, validation ranges, or what happens if data dimensions mismatch. An output schema exists, which may explain the return value, but it is not provided here, so the description alone is not fully complete.

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 description coverage is 0%, but the description compensates well by explaining every parameter: doc_id is 'Document ID from open_document', rows/cols are counts, and data is an optional 2D array of initial cell values. This adds real meaning beyond the raw schema. Slightly more detail on data constraints (e.g., must match rows/cols) would push it to 5.

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-resource pair: 'Create a new table in the document.' This is immediately distinct from siblings like add_table_row, merge_table_cells, and get_tables, which all operate on or inspect existing tables. The doc_id prerequisite from open_document further anchors the operation.

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 use case: call this when you need a new table. However, it never explicitly names alternatives or states when not to use it, such as when converting existing text to a table via text_to_table. The doc_id hint implies a prerequisite but does not provide selection guidance.

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

delete_ctrlC

Delete the currently selected control object.

Args: doc_id: Document ID from open_document

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states that it deletes a selected control object, but does not mention side effects, whether the action is undoable, what happens if no control is selected, or any permission requirements. For a destructive operation, this is insufficient.

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

Conciseness3/5

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

The description is very short and front-loaded with the main purpose, which is good for conciseness. However, it is under-specified, omitting critical behavioral details. It is not overly verbose, but the brevity is more due to missing information than efficient structure, so it does not fully earn a higher score.

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?

The tool is destructive and lacks annotations, yet the description does not cover prerequisites (e.g., must have a selection), error conditions, or result expectations. Although an output schema exists (not shown), the behavioral context is still incomplete. An agent would lack crucial information to call this tool safely and effectively.

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 schema has 0% description coverage, so the description must compensate. It does add value by explaining that doc_id is 'Document ID from open_document', providing source context. However, it does not clarify the meaning of 'control object' or selection mechanics, leaving some ambiguity. It barely meets the need for parameter explanation.

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

Purpose4/5

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

The description clearly states the action ('Delete') and the resource ('currently selected control object'), which is specific and unambiguous. However, it does not distinguish itself from sibling tools like 'delete_selection' or 'delete_table_row', so it lacks explicit differentiation for an agent choosing among them.

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?

The description provides no guidance on when to use this tool over alternatives, nor any prerequisites or conditions for use. The only extra information is the doc_id parameter source, which is part of the schema, not usage context. An agent has to infer that 'currently selected' implies a prior selection step.

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

delete_selectionC

Delete the selected content.

Args: doc_id: Document ID from open_document option: Delete option (0 = selected content)

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
optionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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 identifies this as a destructive 'Delete' operation but does not mention side effects such as selection state, undo behavior, or whether the deletion is permanent. The option field is also left ambiguous beyond the value 0.

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

Conciseness4/5

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

The description is appropriately short and front-loaded with the main action. The Args section is useful and free of fluff. It loses one point because the option explanation is ambiguous enough that it could mislead rather than clarify.

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?

For a destructive tool with no annotations, the description is too sparse. It does not address preconditions beyond doc_id origin, alternative option values, or post-condition behavior. The presence of an output schema reduces the need to explain return values, but the missing operational context still makes this incomplete.

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 0%, so the description must compensate. It adds meaning for doc_id by linking it to open_document, and it explains option as '0 = selected content.' However, it does not clarify whether other option values exist or what they do, leaving an integer parameter partially unexplained.

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

Purpose4/5

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

The description states a specific verb and resource: 'Delete the selected content.' This makes the tool's core function clear. However, it does not explicitly differentiate from siblings like clear_selection or delete_ctrl, so it falls short of full clarity.

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?

There is no guidance on when to use this tool versus alternatives. The only contextual hint is 'doc_id: Document ID from open_document,' which implies a prerequisite but does not explain when deletion is appropriate or when another tool should be used instead.

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

delete_table_columnB

Delete a column from a table.

Args: doc_id: Document ID from open_document table_index: Index of the table col_index: Index of the column to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
col_indexYes
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only states that a column is deleted. It does not mention irreversibility, side effects on table data, index validity, or any permissions/constraints, which is a significant gap for a destructive operation.

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 front-loaded with the purpose, followed by a clean parameter list. Every line earns its place, and there is no redundant or filler content.

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?

Although an output schema exists, the description still lacks important context for correct invocation, such as how to get valid table/column indices and what happens after deletion. The doc_id prerequisite is mentioned, but destructive behavior and preconditions are otherwise unexplained.

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 0%, so the description must compensate. It does describe all three parameters, and 'Document ID from open_document' adds provenance beyond the schema, but 'Index of the table' and 'Index of the column' mostly restate parameter names and do not specify zero-based indexing or how the indices should be obtained.

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: 'Delete a column from a table.' This clearly distinguishes it from sibling tools such as add_table_column and delete_table_row by naming the exact action and target.

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 when-to-use guidance or exclusions are provided. The description does not explain when to choose this over delete_table_row or how to obtain valid table/column indices, leaving the agent to infer usage from the tool name alone.

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

delete_table_rowB

Delete a row from a table.

Args: doc_id: Document ID from open_document table_index: Index of the table row_index: Index of the row to delete

Returns: Row deletion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
row_indexYes
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only says 'Delete a row' and mentions a confirmation return. It does not warn about irreversibility, required preconditions, index base, or side effects.

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

Conciseness4/5

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

The docstring is compact and well-organized with Args and Returns sections. The main action is front-loaded, and every line serves a purpose without unnecessary filler.

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

Completeness3/5

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

For a simple three-parameter delete operation, the description provides a workable minimum: it names the action, defines all inputs, and states the return. However, it omits important invocation context such as indexing convention, irreversibility, and behavior when row or table does not exist.

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 description coverage is 0%, and the description compensates by explaining all three parameters. Notably, doc_id is tied to open_document, and both indexes are described. It could add precision by noting whether indexes are zero-based, but it still adds clear meaning beyond the raw schema.

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

Purpose4/5

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

Description states a precise operation ('Delete a row from a table') with a specific resource. The verb and object differentiate it from siblings like delete_table_column and add_table_row, but it does not explicitly name those alternatives, so it stops short of a 5.

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?

There is no when-to-use guidance, no exclusions, and no mention of how this tool differs from other table manipulation tools. An agent gets parameter lists but no context for choosing this over siblings like delete_table_column or add_table_row.

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

export_page_as_imageC

Export a page as an image file (bmp, jpg, png).

ParametersJSON Schema
NameRequiredDescriptionDefault
dpiNo
doc_idYes
formatNopng
output_pathYes
page_numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says the page is exported as an image; it does not mention whether an existing output file is overwritten, whether the document must be open, how DPI affects the result, or any side effects of writing to output_path.

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

Conciseness4/5

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

The description is a single focused sentence and the format list is front-loaded in parentheses. It is appropriately terse, though it could spend one more sentence on usage or output behavior without becoming bloated.

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?

For a file-exporting tool with five parameters and no annotations, this description is incomplete. It omits output-path semantics, format/dpi constraints, and any conditions needed for a successful export, so an agent cannot fully plan the call from the description alone.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate by explaining the parameters, but it only lists image formats. It adds no meaning for doc_id, output_path, page_number, or dpi, leaving an agent to rely on parameter names alone.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Export a page as an image file,' and it lists the supported formats (bmp, jpg, png). It is clear enough to identify the action, but it does not differentiate from the sibling 'save_as_image', so the purpose is not fully disambiguated.

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 guidance is given about when to choose this tool over alternatives such as 'save_as_image' or 'print_document'. There are no conditions, exclusions, or examples, so an agent must guess which export tool fits a given task.

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

export_styleC

Export a style from the document.

Args: doc_id: Document ID from open_document style: Style name to export

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

Annotations are absent, so the description carries full responsibility for behavioral disclosure. It does not say whether exporting modifies the document, where the exported style goes, what format is produced, or what the return value represents. It only restates the action and parameter sources.

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

Conciseness4/5

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

The description is very concise: one clear purpose sentence followed by a brief arg list. There is no fluff or redundancy. It could be slightly more informative while remaining short, but it is not padded.

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?

For a simple two-parameter tool, the description is minimally serviceable, but it omits important context: whether the document is modified, what the export output is, and how this relates to import_style/manage_style. The presence of an output schema reduces the need to document return values, but the missing behavior and routing context still leave it incomplete.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It adds some value by noting doc_id is a 'Document ID from open_document,' but the style parameter is just 'Style name to export,' which adds no meaning beyond the schema's type and title.

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

Purpose4/5

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

The description states a specific verb and resource: 'Export a style from the document.' This clearly distinguishes it from the sibling import_style, though it does not explicitly mention any sibling. The arg list reinforces the resource by naming doc_id and style.

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?

There is no guidance on when to use this tool versus alternatives such as import_style or manage_style. The only implied prerequisite is that doc_id comes from open_document, but no when-to-use or when-not-to-use conditions are stated.

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

field_existsC

Check if a named field exists in the document.

Args: doc_id: Document ID from open_document name: Field name to check

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavior. It is silent on return type (likely boolean), side effects (read-only or not), and error conditions. It only infers the need for an open document via the doc_id parameter description.

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 extremely concise, with a single-purpose statement and clear parameter lines. It is front-loaded with the action.

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?

Given the tool's simplicity, more is expected: the return value, whether the document must be open, and any type restrictions on fields are not mentioned. The presence of an output schema (not shown) partially compensates, but the description alone leaves ambiguity.

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 coverage is 0%, so the description provides the only meaning. It explains doc_id as coming from open_document and name as the field name to check. This adds some context but is minimal and does not fully clarify expected formats or constraints.

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

Purpose4/5

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

The description states a clear purpose: checking existence of a named field in a document. It uses a specific verb and resource, distinguishing it from siblings like get_field_list or get_field_text, though it doesn't explicitly name alternatives.

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 guidance on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., document must be open) or scenarios where this is preferred over listing fields or checking via other means.

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

find_ctrlC

Find a control object in the document.

Args: doc_id: Document ID from open_document

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior1/5

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

With no annotations, the description carries the full behavioral disclosure burden, but it only says 'Find a control object' and does not explain search scope, side effects, failure behavior, or what happens when no control is found. This is not enough for an agent to predict the tool's behavior.

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

Conciseness3/5

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

The structure is clean and front-loaded: a one-line purpose followed by the argument. It contains no filler, but it achieves brevity by omitting information needed for safe use, so it is under-specified rather than optimally concise.

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 and a single parameter, the description leaves key context undefined: what a control object is, which control object is found, and what prerequisite document state is required. An agent familiar with the domain may infer some of this, but the definition is not complete enough for reliable tool selection.

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 single parameter is minimally covered by the input schema, and the description adds that doc_id is the document ID from open_document. This clarifies the parameter's provenance, though it does not explain how to obtain or validate the ID beyond that.

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

Purpose4/5

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

The description states a specific operation—find a control object—and the document scope. However, it does not define what counts as a control object or distinguish itself from similar object-related siblings like delete_ctrl or get_tables.

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?

The description gives no guidance on when to use find_ctrl versus alternatives, and no exclusions or selection conditions are stated. The only contextual hint is that doc_id comes from open_document, which is a precondition rather than usage guidance.

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

get_current_fieldC

Get the field name at the current cursor position.

Args: doc_id: Document ID from open_document option: Detection option

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
optionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden of explaining behavior. The description implies a read-only lookup, but does not disclose whether the cursor must be inside a field, what happens if no field is at the cursor, or whether any state changes occur. The vague 'option: Detection option' also obscures behavior.

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

Conciseness4/5

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

The description is short and front-loaded with the main purpose. The Args block is compact and readable, though it partly repeats the schema. It earns its place with the provenance hint for doc_id, but the option explanation adds no real value.

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?

Given there are no annotations and one parameter is nearly undocumented, the description leaves too much to inference. The output schema may explain return values, but the description still lacks prerequisites, edge-case behavior, and any guidance on the option parameter. An agent would likely need to experiment to use this tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds minimal value: doc_id is identified as a document ID from open_document, which is helpful, but 'option' is only labeled 'Detection option' with no meaning or accepted values. The parameter semantics are therefore under-specified.

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

Purpose4/5

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

The description clearly states the tool's job: get the field name at the current cursor position. It uses a specific verb and resource, and is distinguishable from siblings like set_current_field_name or get_field_list. However, it does not explicitly differentiate itself from nearby field-related tools.

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?

There is no guidance about when to use this tool versus alternatives such as move_to_field, get_field_list, or get_selection_info. The parameter list says doc_id comes from open_document, but gives no context about prerequisites, cursor state requirements, or when another tool would be more appropriate.

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

get_cursor_positionA

Get the current cursor position (list, para, pos).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. 'Get' implies a read-only operation and the return tuple is disclosed, which is useful. But the description does not mention side effects, prerequisites such as whether the document must be open, or error 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 efficient sentence with zero filler. It front-loads the core action and includes the exact return fields, making it easy to parse quickly.

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

Completeness3/5

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

For a simple getter with an output schema, the description conveys the essential purpose and return shape. However, it omits usage context such as prerequisites, relation to the doc_id parameter, and any distinguishing guidance against closely related sibling tools.

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

Parameters2/5

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

Schema description coverage is 0% and the description adds no meaning for doc_id beyond what the input schema already provides. While the parameter name is self-explanatory, the description fails to clarify which document's cursor position is being read or any required state.

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 states a specific verb ('Get') and resource ('current cursor position') and names the returned components (list, para, pos), making the tool's function immediately obvious. It is clearly distinguished from sibling setters like set_cursor_position and move_cursor.

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 intended use is implied by the name and description: call when you need the current cursor position in a document. However, there is no explicit guidance about when to prefer this over related tools like get_pos_by_set or get_selected_pos_by_set, nor any exclusion criteria.

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

get_document_infoB

Get document metadata (page count, modification status, path, version).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden, but 'Get document metadata' clearly signals a read-only information retrieval operation with no apparent side effects. It does not address error cases, prerequisites such as an open document, or permission requirements, but for a simple getter the core behavior is reasonably transparent.

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 concise sentence that front-loads the verb and resource, then lists examples of the metadata returned. Every word earns its place and there is no padding.

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

Completeness3/5

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

An output schema is present, so return-value documentation is handled externally. The description covers the basic purpose and sample metadata, but lacks guidance on when to choose this over similar sibling tools and does not mention behavioral constraints or prerequisites. For a simple getter this is adequate but not comprehensive.

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 schema provides only 'doc_id' with no description, and the tool description does not explain it beyond the context of fetching document metadata. However, the single parameter is self-explanatory in this context, and the description adds useful output-oriented context (page count, modification status, path, version).

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

Purpose4/5

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

The description uses a specific verb ('Get') and names the resource ('document metadata') with concrete examples (page count, modification status, path, version). It is clearly a metadata retrieval tool, though it does not explicitly differentiate itself from similar getters like get_document_summary or get_file_info.

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 guidance is provided about when to use this tool instead of siblings such as get_document_summary, get_page_count, or get_file_info. The description implies a generic metadata lookup but does not state conditions, exclusions, or preferred scenarios.

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

get_document_summaryC

Get or set document summary info (title, author, subject, keywords).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
valuesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. It reveals the tool can either read or mutate summary metadata, but it does not disclose whether setting values replaces or merges existing metadata, what happens when values is null, or whether an open document is required. Permissions, side effects, and error conditions are also absent.

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

Conciseness4/5

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

The description is a single compact sentence that front-loads the key resource and includes illustrative fields. It is appropriately brief, though the packed 'get or set' phrase slightly obscures the tool's conditional behavior.

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?

Even though an output schema exists, the dual get/set behavior and the free-form values parameter require more explanation than the description provides. An agent cannot determine how to trigger a set operation, what valid keys look like, or what the null default means, leaving a significant gap for a state-changing tool with no annotations.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate, but it only partially does so by listing possible summary fields ('title, author, subject, keywords'). It fails to explain the meaning of doc_id, the expected shape of the values object, or how values controls get versus set behavior.

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

Purpose4/5

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

The description states a specific verb pair ('get or set') and a specific resource ('document summary info') with example fields, making the tool's core purpose clear. However, it does not distinguish itself from sibling tools such as get_document_info or set_hwp_property, and the combined 'get or set' phrasing leaves some ambiguity about when each behavior applies.

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 guidance is given for when to use this tool versus alternatives like get_document_info or set_hwp_property. The description implies both reading and writing summary info but never explains how to choose between them or what conditions favor this tool. There are no exclusions, prerequisites, or alternative tool mentions.

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

get_document_textB

Get all text content from the document.

Args: doc_id: Document ID from open_document

Returns: Full text content

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 states the operation and return value, but does not explicitly confirm read-only behavior, side-effect-freeness, or any constraints on the returned text (e.g., whether it includes table or field content). 'Get' implies non-mutating behavior, but that is an inference, not a disclosure.

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, well-organized with Args and Returns sections, and contains no filler. Each line earns its place, and the main purpose is front-loaded.

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

Completeness3/5

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

For a simple one-parameter read tool with an output schema, the description captures the essential purpose, argument provenance, and return value. However, it lacks any usage guidance, behavioral guarantees, or disambiguation from closely related text-retrieval siblings, so it is adequate but not fully complete.

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 description coverage is 0%, so the description must compensate. It adds meaningful semantics beyond the bare 'string' type by stating that doc_id is the 'Document ID from open_document,' which conveys provenance and a workflow dependency. It could specify format expectations, but for a single parameter this is a useful level of detail.

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

Purpose4/5

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

The description clearly states the action: 'Get all text content from the document.' This gives a specific verb, resource, and scope, making the tool's core purpose immediately understandable. It does not explicitly contrast with sibling tools like get_page_text or get_paragraphs, so it stops short of full differentiation.

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?

The description does not explain when to choose this tool over alternatives such as get_page_text, get_paragraphs, or search_text. It only mentions that doc_id comes from open_document, which is a precondition rather than usage guidance. No exclusions or alternative routing are provided.

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

get_field_listA

Get list of all fields in the document.

Args: doc_id: Document ID from open_document option: 0 = all fields, 1 = clickhere fields only direction: 0 = horizontal, 1 = vertical

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
optionNo
directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. 'Get list' clearly implies a read-only operation, and it usefully specifies that doc_id comes from open_document. However, it does not explicitly state that the document is not modified, nor does it describe ordering or failure behavior, though the output schema may cover return structure.

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 front-loaded with a clear one-sentence purpose followed by a concise argument list. Every line adds useful information and there is no 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 simple list/getter tool, the parameter semantics are well covered and an output schema exists, so return-value details are unnecessary. The main missing piece is usage context relative to sibling field tools, but that is not essential for a correct invocation.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining all three parameters: doc_id is the document handle from open_document, option maps 0 to all fields and 1 to clickhere-only fields, and direction maps 0 to horizontal and 1 to vertical. This gives the agent everything needed to set parameters correctly.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'list of all fields in the document', making the tool's core purpose unambiguous. It does not explicitly contrast itself with sibling field-related tools like get_field_text or field_exists, so it stops short of full differentiation.

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?

There is no guidance on when to use this tool versus alternatives such as field_exists, get_field_text, or get_current_field. The description only explains what the tool does and its parameters, leaving the agent to infer the appropriate context for calling it.

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

get_field_textB

Get the text content of a named field.

Args: doc_id: Document ID from open_document name: Field name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/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 only identifies the input parameters and the fact that text content is returned; it does not describe behavior for missing fields, non-text fields, or error conditions, nor clarify whether this is a safe read-only operation.

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 extremely concise and front-loaded with the core purpose, followed by a compact Args section. Every sentence earns its place with no filler or redundancy.

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 simple two-parameter getter, the description is largely complete for invocation, and the presence of an output schema means return-value documentation is not required. It lacks only richer usage context and behavioral caveats, which are already penalized in other dimensions.

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 description coverage is 0%, so the description must compensate for the bare schema. It does so by explaining doc_id as 'Document ID from open_document' and name as 'Field name', which gives an agent enough semantic context for both required parameters.

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

Purpose4/5

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

The description states a clear verb ('Get') and resource ('text content of a named field'), which accurately conveys what the tool does. It is distinct enough from siblings like get_field_list or put_field_text, though it does not explicitly name an alternative to differentiate from.

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 guidance is given about when to use this tool versus related field operations such as get_field_list, field_exists, or put_field_text. The description implies a read operation from context, but it does not state conditions, exclusions, or alternatives.

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

get_file_infoA

Get file metadata without opening the document.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It meaningfully discloses that the document will not be opened, implying no editor state change. It does not mention permissions, side effects, or error behavior, but 'get metadata' is inherently read-oriented.

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?

A single sentence with no filler. The action is front-loaded and the key behavioral constraint ('without opening the document') is immediately included.

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 output schema presumably covers return values, so the description only needs to convey purpose and usage. It does that clearly, though path-format guidance and explicit differentiation from document-info tools are left implicit. Minor gaps for a simple one-parameter read tool.

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

Parameters2/5

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

The schema has one parameter, file_path, with 0% description coverage. The description does not compensate by explaining path format, whether the file must already exist, or how the path is resolved. The parameter name is suggestive but the description adds no semantic detail.

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?

States a specific verb+resource ('Get file metadata') and a distinguishing behavioral constraint ('without opening the document'), which clearly separates it from document-opening tools like open_document and get_document_info.

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?

Provides clear context: use this when you need file-level metadata and do not want to open the document. It does not name sibling alternatives or give explicit when-not guidance, but the usage intent is unambiguous.

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

get_form_dataC

Get form control data from the document.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/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. The verb 'Get' implies a read-only operation, but the description does not state whether form control data includes values, properties, or layout, nor any side effects, permissions, or edge cases.

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 redundant wording. It communicates the core operation efficiently, though at the cost of missing richer guidance.

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?

For a tool with one parameter, no annotations, and no parameter descriptions, the definition is too thin to fully guide correct invocation. The output schema may document return values, but the description still lacks parameter semantics, usage context, and behavioral details.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the doc_id parameter beyond its name. The agent can infer that doc_id identifies the target document, but no format, meaning, or relationship to the retrieved form data is provided.

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

Purpose4/5

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

The description names a specific verb and resource: 'Get form control data' from the document. It is clear enough to distinguish from most sibling tools, but it does not explicitly differentiate it from similar data-retrieval tools like get_field_text or get_table_data.

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 guidance is given about when to prefer this tool over alternatives or when not to use it. With over 100 sibling tools, including several other 'get' operations, the lack of routing guidance leaves the agent to infer context.

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

get_hwp_propertyB

Get a property value from HWP COM object.

Args: property_name: Property name (e.g. "Version", "CurFieldName")

ParametersJSON Schema
NameRequiredDescriptionDefault
property_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description must disclose behavioral traits itself. It indicates a read operation by the word 'Get,' but it does not mention side effects, error behavior for invalid property names, permissions, or whether the COM object must be initialized. This is a significant gap for a tool with no annotation support.

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 well-structured: a clear one-sentence purpose followed by an Args block. There is no filler or redundant restatement of the schema.

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

Completeness3/5

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

This is a simple one-parameter getter with an output schema available, so the description does not need to explain return values. However, without annotations, it lacks behavioral context and guidance on valid property names, leaving the tool only minimally complete.

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 0%, so the description must compensate. It does add meaning by labeling property_name as a property name and giving concrete examples ('Version', 'CurFieldName'). However, it does not enumerate valid property names, note case sensitivity, or explain the allowed domain beyond two examples.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Get a property value from HWP COM object.' It clearly conveys the tool's action and is not a tautology. It does not explicitly name a sibling for contrast, but 'get' inherently differentiates it from the sibling set_hwp_property.

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 guidance is provided about when to use this tool versus alternatives like set_hwp_property, hwp_enum, or other property-related tools. The examples hint at usage context, but there are no exclusions, prerequisites, or selection criteria.

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

get_message_box_modeA

Get current message box mode.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavior disclosure. 'Get current message box mode' implies a read-only retrieval with no side effects, but it does not elaborate on possible return values, failure cases, or whether the mode reflects global or document-specific state.

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, focused sentence with no filler. It front-loads the operation ('Get') and the target ('current message box mode') and earns its place completely.

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?

With zero parameters and an output schema present, the description is nearly sufficient for an agent to invoke the tool correctly. It would be slightly more complete with a note about what 'message box mode' represents, but nothing critical is missing for basic invocation.

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?

The tool has zero parameters, so there is no parameter meaning to clarify. The baseline of 4 applies, and the description correctly signals that no input is needed.

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 ('Get') and a clear resource ('current message box mode'), making the tool's function immediately understandable. It also naturally distinguishes itself from the sibling tool set_message_box_mode by focusing on reading rather than setting the mode.

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 intended use is implied: call this when you need the current message box mode. However, the description does not explicitly state when to use it, what conditions favor it, or contrast it with set_message_box_mode or related state-reading tools.

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

get_page_countC

Get the total page count of the document.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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 conveys a read-only 'Get' action but does not mention whether the document must be open, what happens for invalid doc_id values, or whether page count is computed synchronously. This is minimal transparency.

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?

A single, front-loaded sentence with no filler. For a one-parameter getter with an output schema, this is an appropriately concise size; every word earns its place.

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

Completeness3/5

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

For a simple tool with one parameter and an output schema, the description is almost sufficient. However, it lacks context about document prerequisites, how doc_id is obtained, and how this tool relates to overlapping siblings. It is adequate but has clear gaps.

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

Parameters2/5

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

Schema description coverage is 0% and the description never explains doc_id. The parameter name and schema title 'Doc Id' allow some inference, but the description adds no meaning beyond what the schema already provides, and it does not compensate for the missing schema descriptions.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('total page count of the document'), making the core purpose unambiguous. It does not explicitly differentiate from siblings such as get_document_info or get_page_text, but 'page count' is distinct enough that the purpose is clear.

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?

The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites. An agent must infer usage from the tool name alone, with no help from the description.

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

get_page_textB

Get text content of a specific page (1-based page number).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
optionNo
page_numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It does disclose the important 1-based page-number behavior, and 'Get' implies a non-mutating read operation. However, it does not say what happens for an invalid page number or whether the returned text includes tables, headers, or other page elements.

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 filler. Every word contributes meaning, and the critical page-number detail is placed in a concise parenthetical.

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

Completeness3/5

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

For a simple page-specific getter, the description is close to adequate: the output schema exists and page_number semantics are clarified. However, the unexplained 'option' parameter and lack of alternative-tool routing leave meaningful gaps for an agent selecting and invoking this tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only clarifies page_number semantics by noting it is 1-based. The required doc_id parameter and the optional 'option' parameter are not explained at all, leaving an agent guessing about what doc_id refers to and what option controls.

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

Purpose4/5

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

The description names a specific verb and resource: 'Get text content of a specific page'. The parenthetical '1-based page number' adds a useful constraint that helps distinguish this tool from siblings like get_document_text, which returns whole-document text. It does not explicitly contrast with siblings, but the page-level scope is clear enough to avoid obvious confusion.

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?

There is no guidance about when to use this tool versus alternatives such as get_document_text or get_paragraphs. The description only states what the tool does, not when an agent should prefer it or when it should not be used. This leaves routing to inference.

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

get_paragraphsA

Get paragraphs from the document.

Args: doc_id: Document ID from open_document start: Starting paragraph index limit: Maximum number of paragraphs to return

Returns: List of paragraphs with text and index

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
startNo
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

The description states it returns a list of paragraphs with text and index, which is basic behavioral info. However, with no annotations, it doesn't explicitly disclose side effects (none implied), error conditions, or scope like whether it covers the entire document. It's neutral but not comprehensive.

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 clean docstring with Args and Returns sections, concise and front-loaded. Every sentence contributes meaning without verbosity.

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 output schema exists and the tool is a simple reader, the description covers purpose, parameters, and return format. It lacks usage differentiation relative to siblings and doesn't mention edge cases, but it's adequate for basic invocation.

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

Parameters5/5

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

The description fully explains all three parameters, clarifying doc_id as from open_document, start as the starting index, and limit as the maximum return count. Since schema coverage is 0%, this is essential and well done.

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

Purpose4/5

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

The description clearly states the tool retrieves paragraphs from a document, specifying the action and resource. It is distinct enough from siblings like get_document_text or get_page_text, but it doesn't explicitly differentiate them, so it doesn't earn a 5.

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 guidance is provided on when to use this tool versus alternatives. It doesn't mention exclusions or prerequisites beyond referencing open_document, so an agent has no explicit direction on selecting this over similar text-retrieval tools.

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

get_pos_by_setB

Get current cursor position as list/para/pos set.

Args: doc_id: Document ID from open_document

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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 implies a read operation but does not state side effects, required document state, failure modes, or what 'list/para/pos set' means behaviorally. The description adds little beyond the basic purpose.

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 front-loaded, with the core purpose in the first sentence and the parameter explanation immediately following. There is no filler or redundant restatement of the tool name.

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

Completeness3/5

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

For a simple getter with one parameter and an output schema, the description is minimally sufficient: it names the purpose and the doc_id source. However, it lacks usage context and behavioral details, which leaves some ambiguity around when this tool should be chosen over similar position-related siblings.

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 schema provides no description coverage for doc_id beyond its type, but the description adds a meaningful hint: 'Document ID from open_document.' This compensates partially by identifying the expected source of the parameter, though it does not explain formats or how to obtain the ID beyond that.

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

Purpose4/5

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

The description states a specific action and resource: 'Get current cursor position as list/para/pos set.' It clearly identifies what the tool does and gives a useful output shape. It does not explicitly differentiate from sibling tools like get_cursor_position or get_selected_pos_by_set, which keeps it from a 5.

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?

The description gives no guidance on when to use this tool versus alternatives such as get_cursor_position, set_pos_by_set, or get_selected_pos_by_set. There is no mention of prerequisites or context beyond doc_id. This is essentially no usage guidance.

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

get_script_sourceA

Get the source code of a named script.

Args: doc_id: Document ID from open_document name: Script name to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the behavioral transparency burden. While 'Get' implies a read operation, the description does not explicitly state that the script is not executed, does not mention error behavior for missing scripts, and gives no side-effect or safety context. This is a meaningful gap for an unannotated tool.

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 appropriately minimal: one clear purpose sentence plus a compact Args block. There is no filler or redundant restatement of the schema, and the key action 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?

For a simple two-parameter tool with an output schema present, the description covers the essential inputs and their provenance. The main missing piece is explicit side-effect or exclusion guidance, but an agent can successfully invoke the tool with the provided doc_id and name.

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 description coverage is 0% and the schema only provides generic titles ('Name', 'Doc Id'), so the description must compensate. It does by explaining doc_id as the ID from open_document and name as the script name to retrieve. This gives the agent enough semantic grounding, though format or source details for the name are not included.

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 states a specific verb and resource: getting the source code of a named script. This distinguishes it from siblings like run_script or run_macro, which execute rather than retrieve. The scope is clear enough that an agent knows what the tool does immediately.

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 Args section gives useful context by tying doc_id to an open document, which implies a prerequisite of opening the document first. However, it does not explicitly say when to use this tool versus alternatives, nor when not to use it, so the usage guidance is present but incomplete.

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

get_selected_pos_by_setA

Get selected range start and end positions.

Args: doc_id: Document ID from open_document

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. 'Get' strongly implies a read-only operation and identifies the target as the current selection, but it does not say what happens when no selection exists or whether any state changes occur. For a simple getter, this is minimally serviceable but not richly transparent.

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 front-loaded: the purpose sentence appears first, and the parameter note is a single useful line. There is no filler or redundancy.

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 one-parameter, read-oriented tool with an output schema, the description provides enough information to locate the document and understand the operation. The main omission is usage differentiation among sibling tools, but that gap is already reflected in the usage_guidelines dimension.

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?

The input schema only says doc_id is a required string, so the description's note that it is the Document ID from open_document adds the essential semantic context. Since there is only one parameter, this fully compensates for the 0% schema description coverage.

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

Purpose4/5

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

The description states a specific verb ('Get') and an explicit target ('selected range start and end positions'), so the core function is immediately identifiable. It does not explicitly differentiate from close siblings like get_pos_by_set or get_selection_info, but the phrase 'selected range' provides reasonable scoping.

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?

There is no guidance about when to choose this tool over alternatives such as get_pos_by_set or get_selection_info. The only contextual hint is that doc_id comes from open_document, and the selection prerequisite is merely implied by the word 'selected' rather than stated.

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

get_selection_infoC

Get information about the current text selection.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. The word 'Get' implies a non-mutating read operation, which provides some transparency, but the description does not disclose behavior for edge cases like an empty selection, invalid doc_id, or whether any document state changes.

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

Conciseness4/5

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

The description is a single concise sentence with no filler or repetition. It is appropriately front-loaded but is perhaps too terse to carry the behavioral and contextual information expected for a tool with no annotations.

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?

For a tool with no annotations and many closely related siblings, the description is too thin. It does not explain what the returned 'information' contains, when to prefer this over other selection tools, or what preconditions apply. An output schema exists, which likely covers return structure, but it does not compensate for the missing usage guidance.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the role of doc_id at all. The parameter name and title are self-explanatory as a document identifier, but the description fails to connect it to the 'current text selection' or explain why it is required.

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

Purpose4/5

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

The description clearly identifies a getter operation for the current text selection, using a specific verb and resource. However, it does not specify what aspects of the selection are returned, so it remains somewhat vague and does not fully distinguish itself from selection-related siblings like get_selected_pos_by_set.

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 context is provided. The description does not state when to use this tool versus the many selection- and document-related siblings, nor does it mention any preconditions such as needing an active document or an existing selection.

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

get_table_dataA

Get full table data as a 2D array.

Args: doc_id: Document ID from open_document table_index: Index of the table

Returns: 2D array of cell text values

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 explaining behavior. It discloses the return format and that it reads the full table, but does not mention read-only guarantees, error behavior, or how merged/empty cells are represented.

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-sentence summary followed by Args and Returns. Every line adds relevant information with no wasted words.

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

Completeness3/5

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

For a simple two-parameter getter with an output schema, the description is mostly adequate. It omits the indexing convention and does not point the agent to get_tables for discovering table_index, but otherwise covers what the agent needs to invoke the 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 0%, so the description must compensate. It gives useful provenance for doc_id ('from open_document'), but table_index is only described as 'Index of the table,' restating the parameter name without specifying whether it is zero-based or how it relates to get_tables.

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 states a specific verb and resource: 'Get full table data as a 2D array.' It clearly identifies the input document and table index, making it distinct from related tools like get_tables or table_to_text.

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 intended usage: after opening a document, pass its doc_id and a table index to retrieve cell data. However, it does not explicitly say when to prefer this tool over alternatives or provide exclusions.

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

get_tablesB

Get tables from the document.

Args: doc_id: Document ID from open_document

Returns: List of tables with metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must carry the behavioral burden. It states the return is a list of tables with metadata, but does not disclose what metadata is included, whether the operation is read-only, what happens with no tables, or any error conditions.

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, front-loaded with the main verb/resource, and organized with Args/Returns sections. Every line adds information without redundancy.

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

Completeness3/5

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

For a one-parameter read/list operation, the description covers the essential input and a vague return type. However, it omits what 'metadata' contains and how the returned table references relate to sibling tools such as get_table_data, leaving an agent without full context for downstream calls.

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 0%, but the description compensates by explaining that doc_id comes from open_document, which is critical for obtaining it. It does not detail the ID format, but for a single parameter this is meaningful guidance beyond the raw schema.

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

Purpose4/5

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

The description states a clear verb/resource ('Get tables from the document') and clarifies the return shape ('List of tables with metadata'), which distinguishes it from related tools like get_table_data. It does not explicitly name the sibling alternative, so it falls just short of a 5.

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?

The only usage context is 'doc_id: Document ID from open_document,' which hints at a prerequisite but gives no guidance about when to choose get_tables over get_table_data or other table tools. No exclusions or alternative conditions are provided.

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

hwp_doc_info_param_actionB

Execute HWP action with document info HParameterSet.

Supported param_set_name values and their key properties:

  • HDocData: DataName, DataType, DataValue, Persistent (bool)

  • HDocDRM: DRMType, Authority, License, Expiration, AllowPrint (bool), AllowCopy (bool), AllowEdit (bool)

  • HDocFilters: FilterName, FilterIndex, Description, Extensions

  • HDocFindInfo: FindString, ReplaceString, MatchCase (bool), WholeWord (bool), UseRegex (bool), Direction (0=forward, 1=backward), Scope (0=all, 1=selection)

  • HDocumentFilterDialog: FilterType, ShowPreview (bool), InitialDir

  • HDocumentInfo: PageCount, CharCount, WordCount, LineCount, ParaCount, TableCount, ImageCount, ModifiedDate

  • HSummaryInfo: Title, Subject, Author, Keywords, Comments, Category, Manager, Company, Version

  • HVersionInfo: Version, Description, Author, Date, AutoSave (bool)

  • HAppState: ViewMode (0=edit, 1=read), ZoomLevel, ShowRuler (bool), ShowGrid (bool), ShowParaMark (bool), ShowFieldCode (bool)

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the doc info param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavior, but it only says 'Execute HWP action' and 'Properties to set.' It does not state whether the operation mutates the document, requires permissions, is reversible, or what the action invocation actually does with the parameter set.

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

Conciseness4/5

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

The description is longer than average, but the parameter-set list is structured and earns its place because the schema provides no enums or descriptions. The core operation is front-loaded and the Args section clearly maps to schema fields.

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

Completeness3/5

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

For a tool with nine parameter-set variants and no schema descriptions, the list of supported sets and properties is valuable and mostly adequate. It remains incomplete because it does not explain how action_name should be chosen, whether params are required for setting vs reading, or provide any example call, and the output schema only mitigates the return-value gap.

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 0%, and the description compensates by explaining doc_id, action_name, param_set_name, and params, plus the valid properties for each supported parameter set. It falls short of a 5 because valid action_name values and the exact mapping between actions and parameter sets are not specified.

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

Purpose4/5

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

The description names a concrete verb and resource: it executes an HWP action using a document-info HParameterSet, and it enumerates the supported doc-info parameter sets. This clearly distinguishes its domain from sibling param-action tools, though 'HWP action' remains generic without examples of valid action names.

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 'Must be one of the doc info param sets listed above' constraint and supported-parameter-set list imply when this tool is appropriate. However, it does not explicitly say when to prefer this over run_hwp_action, get_document_info, or the sibling hwp_*_param_action tools.

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

hwp_draw_param_actionB

Execute HWP action with draw/shape-related HParameterSet.

Supported param_set_name values and their key properties:

  • HDrawAlignHorz: AlignType (0=left, 1=center, 2=right, 3=distribute), RelativeTo (0=paper, 1=column, 2=paragraph)

  • HDrawAlignVert: AlignType (0=top, 1=center, 2=bottom, 3=distribute), RelativeTo

  • HDrawAttr: Width, Height, Left, Top, HorzRelTo, VertRelTo, TreatAsChar (bool), TextFlow, ZOrder

  • HDrawChangeAttr: Width, Height, Left, Top, KeepRatio (bool)

  • HDrawConnect: StartObjID, EndObjID, StartPt, EndPt, ConnectorType

  • HDrawCurveToLine: Precision, MaxSegments

  • HDrawDeletePt: PointIndex

  • HDrawEditGroup: GroupObjID, Action (enter|leave)

  • HDrawFill: FillType (0=none, 1=color, 2=hatch, 3=gradation, 4=image), FillColor, HatchType, ImagePath, Gradation

  • HDrawFlip: Direction (0=horizontal, 1=vertical)

  • HDrawGrid: ShowGrid (bool), SnapToGrid (bool), GridWidth, GridHeight

  • HDrawGroup: GroupName

  • HDrawInsertPt: PointIndex, X, Y

  • HDrawLine: LineType, LineWidth, LineColor, StartArrow, EndArrow, DashStyle, CapType

  • HDrawMakeCurve: SegmentCount, SmoothLevel

  • HDrawMovePt: PointIndex, NewX, NewY

  • HDrawObjCreator: ObjectType (line|rect|ellipse|arc|polygon|curve|textbox), CreateMethod, StartX, StartY, EndX, EndY

  • HDrawRotate: Angle (degrees), CenterX, CenterY

  • HDrawSendBackward: Steps (number of layers to move back)

  • HDrawShadow: ShadowType (0=none, 1=drop, 2=cont), OffsetX, OffsetY, Color, Opacity

  • HDrawTextbox: Margin, VertAlign, TextDirection, AutoSize (bool)

  • HDrawUngroup: GroupObjID

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the draw param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/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 full responsibility for behavioral disclosure. It explains what parameter sets are supported but does not disclose whether the action mutates the document, what side effects occur, whether permission or an open document is required, or what errors may result. This is a significant gap for an execution tool.

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 front-loaded with the core purpose, then uses a scannable bullet list that earns its length by documenting many valid param sets. There is no filler or redundant restating of the schema, and the structure makes it easy for an agent to locate the relevant param set properties.

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

Completeness3/5

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

The tool is complex, with free-form params and no annotations, and the description does a good job enumerating param sets. However, it does not explain the relationship between action_name and param_set_name, does not list valid action_name values, and gives no examples or prerequisites beyond doc_id. An agent could understand the param set vocabulary but would still struggle to confidently invoke the correct action.

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?

With 0% schema description coverage, the description compensates well by enumerating all supported param_set_name values and listing key properties plus enums/type hints. doc_id and params are also described. However, action_name allowed values are not provided, and the property lists are labeled as 'key' rather than exhaustive, which leaves some ambiguity for free-form params.

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

Purpose4/5

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

The description clearly states the tool executes an HWP action using draw/shape-related HParameterSet objects. It differentiates from table/file/style param actions by enumerating HDraw* param sets. However, it slightly overlaps with sibling hwp_shape_param_action, since both involve shape-related functionality, so it is not perfectly distinctive.

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?

Usage is implied: use this tool when draw/shape-related HParameterSet operations are needed, and param_set_name must be one of the listed values. It does not explicitly state when not to use it, nor does it name alternatives like run_hwp_action or hwp_shape_param_action, leaving some routing to inference.

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

hwp_enumA

Convert string to HWP enum value.

Supported enum_type values: HAlign, VAlign, TextAlign, FontType, HwpLineType, HwpLineWidth, BorderShape, BrushType, ArcType, DrawShadowType, PageType, NumberFormat, Numbering, TableFormat, ImageFormat.

Args: enum_type: Enum category name value: Enum member string to convert

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
enum_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral burden. It discloses the conversion operation and enumerates accepted enum_type values, which is useful. It does not mention behavior for invalid values, case sensitivity, or error handling.

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 short, front-loaded with the purpose, and every section earns its place: the purpose statement, supported enum types, and parameter definitions. There is no redundant or vague wording.

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

Completeness3/5

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

With an output schema present, the description need not explain return values. For a two-parameter conversion utility, it gives purpose, supported enum types, and parameter meanings. The main gap is the lack of error-behavior guidance and usage context, but overall it is usable.

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 0%, and the description compensates with an Args section explaining both enum_type and value. It also lists allowed enum_type categories. It could add examples of valid enum member strings, but the provided meaning is above baseline.

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

Purpose4/5

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

The description states a clear verb and resource: 'Convert string to HWP enum value.' It also lists supported enum_type values, making the tool's scope concrete. It does not explicitly distinguish itself from sibling tools, but the unique conversion purpose is still evident.

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 when to use the tool by listing valid enum_type categories, which gives an agent concrete direction. However, it does not explain when not to use it, mention alternatives, or describe prerequisites.

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

hwp_file_param_actionB

Execute HWP action with file-related HParameterSet.

Supported param_set_name values and their key properties:

  • HFileOpen: filename, Format (HWP|HWPX|HTML|TEXT|DOCX), ArgStr, ReadOnly (bool), VersionBackup

  • HFileSaveAs: filename, Format, ArgStr, Encrypt (bool), SetPassword, CompatSave, Author

  • HFileInfo: FileName, Format, FileSize, CreateDate, ModifyDate, Author, Title, Subject

  • HFileConvert: SrcFormat, DstFormat, SrcFile, DstFile, Overwrite (bool)

  • HFileSaveBlock: filename, Format, Argument

  • HFileSaveDaisy: filename, DaisyVersion, DTBookTitle, DTBookAuthor, Language, Publisher

  • HFileSecurity: Password, ReadPassword, PermitRead, PermitCopy, PermitPrint, CertificatePath

  • HFileSendMail: To, Cc, Subject, Body, AttachFile

  • HFileSetSecurity: SecurityLevel, CertPath, SignPassword

  • HFileXMLSchema: SchemaPath, Namespace, ValidateOnSave

  • HFileOpenSave: filename, Format, ArgStr (common open/save parameters)

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the file param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It describes mechanics of param sets but does not mention side effects, permissions, reversibility, or failure behavior, despite covering potentially destructive operations such as HFileSaveAs, HFileConvert, HFileSendMail, and overwrite flags.

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

Conciseness4/5

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

The description is front-loaded with a clear purpose sentence, then organized into compact bullets and an Args block. The length is justified by the large number of supported param sets, and each entry contributes information an agent would need.

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

Completeness3/5

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

The tool has an output schema, so return-value documentation is not necessary, and the description provides a comprehensive catalog of param sets. However, significant gaps remain: there is no mapping from action_name to param_set_name, no prerequisites for doc_id on all operations, and no warnings about destructive or side-effecting actions. For a generic executor over HWP's rich file operations, this is a meaningful but not fatal gap.

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 description coverage is 0%, and the description compensates well: it explains doc_id, action_name, param_set_name, and params, and lists the key properties of each supported file param set with type hints for several values. It does not enumerate valid action_name values or which actions pair with which param sets, but the parameter meaning is largely clear.

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

Purpose4/5

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

The description clearly states the action ('Execute HWP action') and the resource class ('file-related HParameterSet'), and enumerates specific param set names such as HFileOpen, HFileSaveAs, and HFileConvert. This distinguishes it from sibling param-action tools at least by domain, though it does not explicitly contrast itself with them.

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 guidance is given about when to use this generic file-param executor versus dedicated tools like open_document, save_document, get_file_info, or the sibling hwp_table_param_action / hwp_draw_param_action tools. The phrase 'file-related' implies scope but does not provide selection criteria or exclusions.

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

hwp_form_param_actionA

Execute HWP action with form control HParameterSet.

Supported param_set_name values and their key properties:

  • HFormCheckBox: Name, Checked (bool), GroupName, Value, EnabledField (bool), ReadOnly (bool)

  • HFormComboBox: Name, Items (list of strings), SelectedIndex, Editable (bool), ListRows

  • HFormDate: Name, DateFormat, DefaultDate, MinDate, MaxDate

  • HFormDropDown: Name, Items (list of strings), SelectedIndex, Width

  • HFormEdit: Name, Text, MaxLength, PasswordChar, MultiLine (bool), ReadOnly (bool), InputMask

  • HFormListBox: Name, Items (list), SelectedIndex, MultiSelect (bool), ListRows, Width, Height

  • HFormNumber: Name, Value, MinValue, MaxValue, DecimalPlaces, SpinButton (bool)

  • HFormOLE: Name, CLSID, Width, Height, ProgID, DisplayAsIcon (bool)

  • HFormPopupButton: Name, Caption, Width, Height, Action

  • HFormPushButton: Name, Caption, Width, Height, OnClick (script)

  • HFormRadioButton: Name, GroupName, Checked (bool), Value, Label

  • HFormScrollBar: Name, Min, Max, Value, SmallChange, LargeChange, Orientation (0=horizontal, 1=vertical)

  • HFormTextArea: Name, Text, Rows, Cols, MaxLength, ReadOnly (bool), ScrollBars (0=none, 1=horizontal, 2=vertical, 3=both)

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the form param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of disclosing side effects. It only states that it executes an action and sets properties; it does not say whether this mutates the document, whether actions like HFormPushButton.OnClick can trigger scripts, or what result to expect. This is a significant transparency gap for an 'execute action' tool.

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 purpose is front-loaded, and the long block of form-control variants is formatted as scannable bullets where each line adds distinct property information. There is no filler or repetition.

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

Completeness3/5

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

For a high-variance tool with a bare schema, the parameter table is a strong contribution and the output schema covers return shape. But the description omits action_name semantics, side effects, and any usage exclusions, so an agent still has to guess at some call requirements.

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?

With 0% schema coverage, the description compensates by listing every supported param_set_name and the relevant properties/types, and it clarifies doc_id comes from open_document. It falls short only on action_name, which is left as 'HWP action to execute' with no indication of valid values or how it interacts with each form control.

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 sentence names a specific verb ('Execute') and resource ('HWP action with form control HParameterSet'), and the enumerated HForm* param sets ground the tool in form controls, distinguishing it from siblings like hwp_table_param_action or run_hwp_action. The scope is unambiguous.

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 makes clear the tool operates on form-control param sets, so when an agent is dealing with HFormCheckBox/HFormEdit etc., this tool is implied. However, it never explicitly states when to choose this over alternatives (set_form_properties, get_form_data, run_hwp_action) or when not to use it, leaving exclusion criteria to inference.

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

hwp_hanja_param_actionB

Execute HWP action with hanja/conversion HParameterSet.

Supported param_set_name values and their key properties:

  • HHanjaConversion: ConvertType (0=hanja, 1=hangul), Range (0=all, 1=selection), ShowDialog (bool), ConvertUnit (0=word, 1=char)

  • HHanjaInfo: OriginalText, ConvertedText, DictionaryType, UserDict

  • HHanjaReplace: FindText, ReplaceText, Scope, MatchCase (bool)

  • HHanjaSuggestion: InputText, Suggestions (list), SelectedIndex

  • HHanjaDict: DictPath, DictType (0=system, 1=user), Editable (bool)

  • HConvertHangulHanja: Direction (0=toHanja, 1=toHangul), Scope, ShowUI (bool)

  • HConvertHanjaToHangul: Scope, ShowUI (bool)

  • HConvertHangulToHanja: Scope, ShowUI (bool), DictPriority

  • HConvertAll: ConvertType, Scope, ShowUI (bool), ApplyAll (bool)

  • HConvertSpecial: SpecialType, ConvertMap, Scope

  • HConvertCharShape: SrcCharShape, DstCharShape, Scope, IncludeFont (bool), IncludeSize (bool), IncludeColor (bool)

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the hanja/conversion param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It reveals property names and types but does not state whether the action mutates the document, whether dialog boxes may appear, what side effects occur, or what the return value means. The param-set details are parameter semantics, not behavior.

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

Conciseness4/5

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

The description is longer than average, but the content is structured as a clear list of supported param sets with their properties, which is genuinely useful for a complex API. It front-loads the core action and then organizes details without obvious redundancy.

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

Completeness3/5

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

The param-set inventory covers the most complex part of invocation and is practically sufficient for calling the tool. However, it omits guidance on how action_name relates to param_set_name, gives no behavioral or side-effect context, and provides no usage direction relative to sibling tools. An output schema exists, so return-value documentation is less critical, but the other gaps keep it from being fully complete.

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

Parameters5/5

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

Schema description coverage is 0%, and the description compensates thoroughly by documenting each supported param_set_name along with its key properties, types, and enum meanings (e.g., ConvertType 0=hanja, 1=hangul; Range 0=all, 1=selection). This goes well beyond the minimal schema and gives the agent enough detail to construct correct params.

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

Purpose4/5

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

The description clearly states the tool executes an HWP action with a hanja/conversion HParameterSet and enumerates the supported param set names, giving the agent a concrete sense of scope. It does not explicitly contrast itself with sibling tools like run_hwp_action or hwp_misc_param_action, so it stops short of full sibling differentiation.

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?

There is no explicit guidance on when to use this tool versus alternatives. The list of hanja/conversion param sets implies a specific domain, but the description does not state when to prefer this over run_hwp_action, nor does it mention any prerequisites or exclusions.

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

hwp_misc_param_actionA

Execute HWP action with miscellaneous HParameterSet.

This is the catch-all for all 67 remaining HParameterSets not covered by the specialized category tools. Key param_set_name values include:

Section & Page:

  • HSectionDef: PageWidth, PageHeight, TopMargin, BottomMargin, LeftMargin, RightMargin, HeaderMargin, FooterMargin, GutterType, Orientation

  • HSecDef: SectionType, TextDirection, PageStartNumber, HideHeader, HideFooter

  • HPageDef: Landscape (bool), GutterType, BindingMargin

  • HPageBorderFill: BorderType, FillColor, Position (0=paper, 1=body), OffsetLeft, OffsetRight, OffsetTop, OffsetBottom

  • HColumnDef: ColumnCount, ColumnType (0=normal, 1=balanced, 2=parallel), SameWidth (bool), ColumnWidths (list), ColumnGap, LineBetween (bool)

  • HPageNum: Position (0=none, 1=top, 2=bottom, 3=outside, 4=inside), FormatType, StartNumber, ShowOnFirstPage (bool), DashType

  • HHeaderFooter: Type (0=header, 1=footer), ApplyTo (0=both, 1=even, 2=odd), Text, ShowOnFirstPage (bool), ShowOnLastPage (bool)

  • HFootnoteShape: NumberFormat, StartNumber, Separator, Position

Character & Paragraph:

  • HCharShape: FaceName, FontSize, Bold (bool), Italic (bool), Underline, StrikeOut, TextColor, ShadeColor, CharSpacing, CharWidth, Offset, SuperScript

  • HParaShape: Alignment (0=justify, 1=left, 2=center, 3=right), LineSpacingType, LineSpacing, ParaSpaceBefore, ParaSpaceAfter, IndentLeft, IndentRight, IndentFirst, TabDef, BorderFill

  • HTabDef: TabType (0=left, 1=right, 2=center, 3=decimal), Position, Leader (0=none, 1=dot, 2=dash, 3=underline)

  • HBullet: BulletChar, BulletFont, BulletSize, Indent, Hanging

  • HNumbering: NumberType, StartNumber, Indent, Hanging, FormatString

Insert & Objects:

  • HInsertText: Text, CharShape, ParaShape

  • HInsertPicture: Path, Embedded (bool), Width, Height, SizeOption, WrapType, HorzAlign, VertAlign

  • HInsertOLE: CLSID, ProgID, Width, Height, DisplayAsIcon (bool), IconPath

  • HEquation: String (equation LaTeX), BaseSize, FontName, LineMode

  • HInsertMemo: Text, Author, Date, Visible (bool)

  • HInsertEndnote: Text, NumberFormat, CustomMark

Find & Replace:

  • HFindReplace: FindString, ReplaceString, MatchCase (bool), WholeWord (bool), UseRegex (bool), Direction, Scope, ReplaceAll (bool), MatchByte (bool)

  • HFindDlg: FindString, Direction, Scope, ShowUI (bool)

  • HReplaceDlg: FindString, ReplaceString, Direction, Scope, ShowUI (bool)

Print & Export:

  • HPrint: Copies, Collate (bool), PrintRange (0=all, 1=current, 2=pages), PageRange, PrinterName, Duplex (0=none, 1=long, 2=short), Landscape (bool)

  • HExportPDF: filename, PageRange, ImageQuality (0-100), Encrypt (bool), Permission, OwnerPassword, UserPassword

  • HWaterMark: Text, FontName, FontSize, FontColor, Angle, Opacity, Position (0=center, 1=custom), ImagePath

Misc:

  • HAction: ActionName, Params

  • HCtrlCode: CtrlID, Properties

  • HLinkTextBox: SourceBox, TargetBox, LinkType

  • HMasterPage: PageName, PageIndex, ApplyTo

  • HMultiColumn: ColumnCount, ColumnGap, SameWidth (bool), LineBetween

  • HPresentation: SlideWidth, SlideHeight, Transition, Duration

  • HRevision: RevisionType, Author, Date, Comment

  • HTextArt: Text, Shape, FontName, FontStyle, CharSpacing, LineSpacing

  • HViewProperties: ViewMode, ZoomType, ZoomLevel, ShowRuler, ShowGrid

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Any HParameterSet name not covered by other tools params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/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. It does not disclose whether the action modifies the document, what side effects may occur, permissions required, or any return behavior. The description is essentially a catalogue of param sets, not an explanation of the tool's runtime behavior or consequences.

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

Conciseness3/5

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

The description is very long (dozens of lines) but well-organized with categories and bullet-like lists. It is front-loaded with the purpose and then provides necessary reference data. However, it is not concise; it could be trimmed or linked to external docs for the exhaustive param set details.

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

Completeness3/5

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

For a complex tool covering 67 param sets, the description covers many key sets and their properties, but it does not explain the action mechanism itself (how action_name and param_set_name interact), does not describe the output schema, and notes the list is not exhaustive ('key param_set_name values include'). This leaves gaps for an agent to use it correctly, especially regarding side effects and return values.

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

Parameters5/5

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

Schema coverage is 0% for descriptions, and the description adds substantial meaning: it defines doc_id as 'Document ID from open_document', action_name as 'HWP action to execute', param_set_name with a huge list of valid values and their properties, and params as 'Properties to set on the param set'. This far exceeds the bare schema fields and compensates for the lack of schema 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 description states a specific verb and resource: 'Execute HWP action with miscellaneous HParameterSet.' It explicitly identifies itself as the catch-all for all 67 sets not covered by specialized tools, distinguishing it from siblings like hwp_table_param_action and hwp_shape_param_action. This is clear and differentiates from the many sibling tools.

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 explicitly states 'This is the catch-all for all 67 remaining HParameterSets not covered by the specialized category tools,' giving direct routing guidance. It also lists many param set examples, making concrete when this tool applies versus when to use a specialized category tool.

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

hwp_selection_param_actionA

Execute HWP action with selection/navigation HParameterSet.

Supported param_set_name values and their key properties:

  • HSelectionOpt: SelectionType (0=normal, 1=block, 2=column), StartList, StartPara, StartPos, EndList, EndPara, EndPos

  • HGotoE: SetID (list index), ParaID (paragraph index), Pos (character offset), SubList, Direction (0=absolute, 1=relative)

  • HListParaPos: ListID, ParaID, Pos, SetID

  • HListProperties: ListType, ItemCount, StartNumber, NumFormat, Indent, Spacing, AlignType

  • HMousePos: X (screen x), Y (screen y), DocX (document x), DocY (document y), ListID, ParaID, CharPos

  • HScrollPosInfo: HScrollPos, VScrollPos, PageIndex, ZoomLevel, ViewMode (0=page, 1=continuous)

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the selection param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations are absent, so the description carries the full transparency burden. It provides some meaningful behavior context by listing selection/navigation param sets and their fields, but it does not disclose side effects, whether the tool mutates document state, or what happens on invalid actions. The behavior is still largely delegated to the opaque action_name.

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 with a front-loaded summary, a compact bullet list of supported param sets, and a concise Args section. Every sentence or bullet adds information; there is no redundant restating of the schema.

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

Completeness3/5

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

The description covers the major param set categories and their key fields, which is substantial given the tool's low-level nature. Yet it lacks a list of valid action_name values, an example invocation, and explicit guidance on parameter combinations. The output schema exists, so return-value documentation is not needed, but the gap on action_name remains significant.

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 0%, and the description compensates well by documenting valid param_set_name values and key fields such as SelectionType, Direction, and ViewMode. It also clarifies that params holds properties for the param set. However, action_name values are left undefined, and individual property types are only partially specified.

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 states a specific action ('Execute HWP action') combined with a clear resource category ('selection/navigation HParameterSet'). It enumerates the exact supported param set names, which distinguishes it from sibling hwp_*_param_action tools without requiring schema inspection.

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 scope is implied by 'selection/navigation' and the listed param sets, so an agent can infer this is for cursor/selection-related operations. However, it never explicitly says when to prefer this tool over run_hwp_action or the other hwp_*_param_action siblings, nor does it state exclusions.

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

hwp_shape_param_actionA

Execute HWP action with shape object HParameterSet.

Supported param_set_name values and their key properties:

  • HShapeCopyPaste: Direction (0=copy, 1=paste), OffsetX, OffsetY, KeepOriginal (bool), PasteSpecial

  • HShapeGuideLine: ShowGuideLine (bool), GuideLineColor, SnapDistance, HorizontalGuides (list), VerticalGuides (list)

  • HShapeObjComment: Comment, Author, Date, Visible (bool)

  • HShapeObject: Width, Height, Left, Top, Angle, HorzRelTo, VertRelTo, TreatAsChar (bool), TextWrap, ZOrder, Name, AltText

  • HShapeObjectCopyPaste: SrcObjID, DstPage, DstX, DstY, Scale (float), KeepOriginal (bool)

  • HShapeObjSaveAsPicture: ObjID, filename, Format (BMP|JPG|PNG|GIF|EMF), DPI, Quality

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the shape param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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, but it only says 'execute' and lists parameters. It does not state whether the action mutates the document, what side effects may occur, whether the operation is reversible, or what errors or return behavior to expect.

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

Conciseness4/5

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

The description is appropriately sized for the complexity, with a front-loaded purpose sentence and a well-organized bulleted list of param set schemas. The Args block is somewhat redundant with the schema but still concise and useful.

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

Completeness3/5

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

The param set documentation is rich, and an output schema exists, so return-value details are not required. However, for a generic action executor with an unconstrained action_name and free-form params object, the description leaves critical invocation details unspecified, such as which action names pair with which param sets and whether listed properties are optional.

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 0%, and the description compensates well by defining doc_id, constraining param_set_name to six enumerated sets, and listing key properties with types such as bool, float, list, and a Format enum. However, action_name is only described as 'HWP action to execute' with no valid values or mapping to the listed param sets.

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+resource pair, 'Execute HWP action with shape object HParameterSet,' and then enumerates six supported param_set_name values, which makes the tool's domain unmistakable. This clearly differentiates it from sibling table, file, style, and other param-action tools.

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?

Usage guidance is implied through the list of allowed shape param sets and the instruction that param_set_name must be one of them. However, there is no explicit statement about when to prefer this tool over siblings like hwp_draw_param_action or hwp_table_param_action.

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

hwp_style_param_actionA

Execute HWP action with style/border HParameterSet.

Supported param_set_name values and their key properties:

  • HStyle: Name, EngName, Type (0=paragraph, 1=character), BasedOn, NextStyle, LangId, CharShape, ParaShape

  • HStyleDelete: StyleName, ReplaceWith

  • HStyleItem: StyleName, StyleType, Properties (dict of style attributes)

  • HStyleTemplate: TemplatePath, ImportStyles (bool), ImportPageDef (bool), OverwriteExisting (bool)

  • HBorderFill: LeftBorder (type, width, color), RightBorder, TopBorder, BottomBorder, DiagonalBorder, FillType, FillColor, HatchStyle, GradType, ImagePath, ImageMode

  • HBorderFillExt: LeftBorder, RightBorder, TopBorder, BottomBorder, DiagonalBorder, FillType, FillColor, FillAlpha, HatchStyle, GradType, StartColor, EndColor, ImagePath, ImageMode, WaterMark (bool)

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the style param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior2/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, but it only says 'Execute HWP action' and never explains whether this mutates the document, what side effects occur, whether changes are reversible, or what happens on failure. The prerequisite doc_id='Document ID from open_document' is useful but not enough.

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: purpose is front-loaded, supported param sets are presented as scannable bullets, and each listed property or type adds needed guidance. Despite length, no sentence is filler given the tool's complexity.

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

Completeness3/5

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

The description is substantial for param_set_name and params, but an agent still lacks a supported action_name mapping, guidance on how nested values like LeftBorder should be structured, and behavioral context such as side effects or document prerequisites beyond doc_id. An output schema exists, so return values need not be explained, but these invocation-critical gaps remain.

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 description coverage is 0%, so the description must compensate. It adds meaning to all parameters, especially param_set_name by enumerating valid values with key properties, and params by describing them as 'Properties to set on the param set.' However, action_name remains generic ('HWP action to execute') with no list or mapping to valid param sets.

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 states a specific resource: 'Execute HWP action with style/border HParameterSet' and reinforces it by enumerating six valid param_set_name values. This clearly differentiates it from sibling hwp_*_param_action tools like table or draw variants.

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 gives clear context by listing exactly which param sets are accepted and saying param_set_name 'Must be one of the style param sets listed above.' It doesn't explicitly name alternative tools or exclusion conditions, but the scope is specific enough for an agent to select this tool over siblings.

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

hwp_table_param_actionB

Execute HWP action with table-related HParameterSet.

Supported param_set_name values and their key properties:

  • HTableCreation: Cols, Rows, WidthType (0=auto, 1=fix, 2=relative), WidthValue, HeightType, HeightValue, CreateItemArray (cell definitions), TableProperties (sub-set), HeaderRow, ResizeUnit

  • HTable: Width, Height, CellMarginLeft, CellMarginRight, CellMarginTop, CellMarginBottom, BorderFill, CellSpacing, PageBreak, RepeatHeader

  • HCell: Width, Height, LeftMargin, RightMargin, TopMargin, BottomMargin, BorderFill, Editable, VertAlign (0=top, 1=center, 2=bottom), HasMargin

  • HCellBorderFill: CellIndex, BorderType, FillColor, FillType, HatchStyle, GradType, StartColor, EndColor, ImagePath, ImageMode

  • HTableBorderFill: BorderType, FillColor, FillType, ApplyTo

  • HTableChartInfo: ChartType, XAxisTitle, YAxisTitle, DataRange, LegendPosition, Is3D, ShowDataLabel

  • HTableDeleteLine: LineIndex, Direction (0=row, 1=col)

  • HTableDrawPen: PenType, PenWidth, PenColor

  • HTableInsertLine: LineIndex, Direction (0=row, 1=col)

  • HTableSplitCell: Rows, Cols, SplitMethod (0=equal, 1=proportional)

  • HTableStrToTbl: Delimiter, Rows, Cols, TableProperties

  • HTableSwap: Direction (0=row, 1=col)

  • HTableTblToStr: Delimiter, UseFirstRowAsHeader

  • HTableTemplate: TemplateName, AutoFit, HeaderRow

Args: doc_id: Document ID from open_document action_name: HWP action to execute param_set_name: Must be one of the table param sets listed above params: Properties to set on the param set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, yet it only says 'Execute HWP action' and does not state whether the action mutates the document, requires additional setup, is undoable, or can fail if the action and param set do not match. This is a meaningful transparency gap for an action that can modify tables.

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

Conciseness4/5

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

The description is long but earns its length: the parameter-set catalog is essential for a generic action tool with an open-ended params object. The structure is clear (introduction, supported param sets, args), though more compact formatting could reduce cognitive load.

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?

For a high-complexity tool with no annotations and an opaque output schema, the description omits the relationship between action_name and param_set_name, valid action values, and how params should be structured in practice. It provides a catalog of properties but no example invocation and no note on limitations, so it is not complete enough for an agent to call reliably in novel cases.

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 description coverage is 0%, and the description compensates by enumerating 14 param_set_name values and their key properties, plus one-line definitions for doc_id, action_name, param_set_name, and params. It even provides inline enum values such as WidthType and VertAlign, though it omits types for many property values and the nested shape of CreateItemArray and TableProperties.

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

Purpose4/5

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

The opening sentence names the verb and resource: 'Execute HWP action with table-related HParameterSet', and the list of supported param_set_name values makes the table focus explicit. It differentiates from sibling param_action tools only by the word 'table-related', but that is enough to route an agent into the correct family.

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?

There is no guidance on when to use this generic low-level action versus the many table-specific sibling tools such as create_table, set_table_cell_text, split_table_cell, table_to_text, or swap_table_row_col. The description implies the domain by listing table param sets, but it never states conditions, exclusions, or preferred alternatives.

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

import_styleC

Import a style into the document.

Args: doc_id: Document ID from open_document style: Style definition string to import

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the behavioral burden, but it does not disclose what importing a style does to existing styles, whether it can overwrite definitions, or any side effects. It only says 'Import a style,' which leaves the mutation behavior completely unexplained.

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

Conciseness4/5

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

The description is short and front-loaded with the core purpose, followed by parameter notes. Every sentence earns its place, though the brevity borders on under-specification.

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?

For a tool that imports a style string, the definition omits critical details about the style string format, overwrite behavior, and how this differs from style-management tools. The presence of an output schema reduces the need to describe return values, but the input semantics remain too incomplete for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only adds 'Document ID from open_document' and 'Style definition string to import.' The doc_id hint helps, but the style parameter's format, syntax, and accepted values are left entirely unspecified.

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

Purpose4/5

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

The description states a specific action ('Import a style') and resource ('the document'), which clearly distinguishes it from sibling export_style. It does not explicitly contrast with style-management siblings, but the core purpose is 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?

There is no guidance on when to use import_style versus alternatives such as manage_style, set_paragraph_style, or export_style. The only contextual hint is that doc_id comes from open_document, which is useful but not sufficient for selecting this tool.

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

init_scanA

Initialize document scanning for text extraction.

option=0x0077(119) scans all text. Use with get_text/release_scan.

Args: doc_id: Document ID from open_document option: Scan option flags (default 119 = all text) range: Scan range (0=entire document)

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeNo
doc_idYes
optionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 behavioral disclosure. It reveals that the tool scans all text by default and that it should be followed by get_text/release_scan, which implies a managed lifecycle, but it does not state side effects, whether a scan handle is returned, or cleanup obligations explicitly.

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 front-loaded: one purpose sentence, one default-flag note, then a concise Args block. No repetitive or filler content; every line earns its place.

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 simple 3-parameter init with an output schema, the description covers the purpose, prerequisites via doc_id, companion tools, and parameter meanings. The main gap is not stating the lifecycle cleanup explicitly, but the mention of release_scan mitigates that.

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 description coverage is 0%, so the description must compensate, and it does: doc_id is sourced from open_document, option's default 119 means all text, and range 0 means entire document. It doesn't enumerate every possible flag/range value, but it explains the primary semantics for all three parameters.

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 action, 'Initialize document scanning for text extraction,' and separates it from siblings by naming its companion functions get_text and release_scan. This makes it clear the tool is a preparatory scan step, not an extraction or cleanup operation.

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?

'Use with get_text/release_scan' explicitly gives the workflow context and positions init_scan as the first step in a scan lifecycle. It does not list when-not-to-use alternatives, so it falls short of a full 5, but the context is unambiguous.

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

insert_auto_numberC

Insert auto-numbering field.

Args: doc_id: Document ID from open_document num_type: Numbering type num_format: Number format (0=default) new_number: Optional starting number

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
num_typeYes
new_numberNo
num_formatNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/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, but it only lists arguments. It does not state what the insertion does to the document, whether it modifies existing numbering, what document state is required, or whether the operation is reversible. This leaves a mutation tool's effects largely undisclosed.

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 minimal and front-loaded: one clear purpose sentence followed by a compact argument list. Every line adds information and there is no filler or repetition.

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 and only 4 simple parameters, the description is incomplete for safe invocation. The agent cannot determine valid num_type values, understand what num_format codes beyond 0 mean, or know the behavioral effects of inserting an auto-numbering field. The doc_id provenance hint is helpful but not enough to make the tool self-contained.

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 description adds some meaning beyond the bare schema: it identifies doc_id as coming from open_document, notes that num_format has 0 as default, and explains new_number is optional. However, num_type is only described as 'Numbering type,' which is nearly as vague as the schema, and no valid values or examples are provided despite the schema having no descriptions.

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

Purpose4/5

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

The description states a specific action ('Insert') and a specific resource ('auto-numbering field'), which is clear enough to distinguish from text/table operations in the sibling list. However, it does not explicitly contrast with related formatting tools like set_numbering_style or set_bullet_style, so sibling differentiation is only implicit.

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?

The only usage hint is that doc_id comes from open_document, which implies a prerequisite but not a condition for choosing this tool. There is no guidance on when to use insert_auto_number versus set_numbering_style or other numbering-related tools, and no mention of when not to use it.

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

insert_background_pictureC

Insert a background picture (mode: 0=tile, 1=center, 2=fill).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
doc_idYes
targetNo
watermarkNo
image_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior, but it only lists mode values. It does not explain side effects like whether the background replaces an existing one, affects all pages, or requires a specific document state.

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 filler. The mode mapping is included compactly and each element earns its place.

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?

With five parameters and no annotations, this one-sentence description leaves important invocation details unexplained. The output schema may cover return values, but it cannot rescue the missing semantics for 'target' and 'watermark' or the lack of usage context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only explains 'mode'. The 'target' and 'watermark' parameters remain semantically unclear, and no guidance is given for the required 'doc_id' or 'image_path' beyond their obvious names.

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

Purpose4/5

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

The description clearly specifies the verb and resource: 'Insert a background picture', and adds useful mode semantics. It does not explicitly differentiate from siblings like insert_picture or set_watermark, but 'background picture' strongly implies the intended scope.

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?

There is no guidance on when to use this tool versus alternatives such as insert_picture or set_watermark. The description states what the tool does, but not the conditions, prerequisites, or contexts where it should be preferred.

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

insert_bookmarkC

Insert a bookmark at current position.

Args: doc_id: Document ID from open_document name: Bookmark name command: Bookmark command (0=insert) type: Bookmark type

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
typeNo
doc_idYes
commandNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Since annotations are absent, the description carries the full burden of behavioral disclosure. It only states the action 'insert' and provides parameter hints, but does not disclose side effects, reversibility, or what happens if the bookmark already exists. It doesn't describe the return value or any error conditions.

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

Conciseness4/5

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

The description is very brief: one sentence plus an argument list. It is front-loaded with the action and then lists parameters. No unnecessary words, but it may be too terse to be fully helpful, though that's not a concision flaw but a completeness issue.

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?

The tool has 4 parameters and no annotations or output schema explanation. The description lacks information about the effect on the document, prerequisites beyond doc_id, whether it's reversible, and what the tool returns. An agent lacks enough context to call it safely and 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 coverage is 0%, so the description must explain parameters. It provides brief definitions: doc_id as 'Document ID from open_document', name as 'Bookmark name', command as 'Bookmark command (0=insert)', and type as 'Bookmark type'. This adds some meaning but leaves type and command values under-specified, and doesn't explain defaults or requiredness beyond the schema.

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

Purpose4/5

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

The description states the verb 'Insert' and the resource 'a bookmark' with location 'at current position', which clearly defines what the tool does. It is not a tautology and is distinct from sibling tools that insert text, pictures, etc., though it doesn't explicitly differentiate from them.

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 guidance is given on when to use this tool versus alternatives. The description does not mention any conditions, contexts, or exclusions. The reference to 'doc_id from open_document' implies a prerequisite but that's more about parameter sourcing than usage context.

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

insert_cross_referenceC

Insert a cross-reference field.

Args: doc_id: Document ID from open_document command: Cross-reference command string

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
commandYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full behavioral disclosure burden. It simply states an insertion without detailing side effects, mutation impact, error conditions, or requirements beyond the hinted open_document prerequisite. This is a significant gap for a tool that modifies a document.

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

Conciseness4/5

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

The description is efficient and front-loaded with the purpose, followed by argument definitions. It wastes no words, though its brevity borders on under-specification, preventing a higher score.

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?

For a mutation tool with no annotations and sparse parameter descriptions, the description does not adequately explain what a cross-reference is, how the command string should be constructed, or what output to expect (despite an existing output schema not shown). An agent lacks critical information to call this reliably.

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

Parameters2/5

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

Schema coverage is 0%, so the description must clarify parameters. It adds only 'Document ID from open_document' (common across many tools) and 'Cross-reference command string' with no explanation of the command syntax or expected format. This fails to compensate for the absent schema descriptions.

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

Purpose4/5

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

States a specific verb and resource ('Insert a cross-reference field'), making the core purpose clear. However, it does not explicitly differentiate from sibling tools like insert_hyperlink or insert_auto_number, though the resource name itself provides reasonable distinction.

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?

Only hints that doc_id comes from open_document, implying a prerequisite, but provides no guidance on when to choose this tool over alternatives. No exclusions or conditions are mentioned, leaving the agent to infer usage from the name alone.

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

insert_fileC

Insert another file into the document.

Args: doc_id: Document ID from open_document file_path: Path to the file to insert

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states the action but does not explain what happens to the document, whether the inserted file is embedded or linked, supported file types, permission needs, reversibility, or any side effects.

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

Conciseness4/5

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

The description is short and front-loaded, with parameter details placed in a compact list. There is no fluff or repeated content, though the main description could arguably be slightly more informative.

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

Completeness3/5

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

For a two-parameter tool with an output schema, the description covers both parameters and their basic relationship to an open document. However, it omits practical context such as supported file formats, insertion location, and failure conditions, making it minimally viable but not fully complete.

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 0%, so the description must compensate. It does define doc_id as 'Document ID from open_document' and file_path as 'Path to the file to insert', but file_path adds little beyond the schema and no details about path formats or constraints are provided.

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

Purpose4/5

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

The description states a clear action ('Insert another file into the document') with a specific resource. It is distinguishable from siblings like insert_text and insert_picture by the file-level focus, though it does not specify whether this means embedding an object or importing content.

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?

The tool provides no explicit when-to-use guidance or alternatives. The only contextual signal is that doc_id comes from open_document, which implies an open document is required, but no exclusions or comparison to other insert tools are given.

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

insert_form_controlC

Insert a form control (button, checkbox, combobox, edit, listbox).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
widthNo
doc_idYes
heightNo
tooltipNo
control_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only states that a control is inserted; it doesn't disclose side effects, error behavior, document state requirements, or whether the control is added at the cursor, selected position, or some default location. 'Insert' implies mutation but provides no behavioral context.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler. It earns its place by giving concrete examples of acceptable control types, though it remains terse relative to the tool's complexity.

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?

For a six-parameter mutation tool with no annotations and no parameter documentation in the description, the definition is incomplete. It provides neither usage context nor behavioral expectations; the agent would need to infer or experiment to call this correctly.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate for all six parameters, but it only enumerates possible control_type values. doc_id, name, width, height, and tooltip are left entirely to their property names, with no explanation of required/preferred formats or how they affect the inserted control.

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

Purpose4/5

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

The description names a specific action (insert) and resource (form control) and lists supported control types (button, checkbox, combobox, edit, listbox), so the agent knows what the tool does. It doesn't explicitly distinguish this from related sibling tools like set_form_properties or delete_ctrl, but the insertion verb and type list make the primary purpose 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 guidance is given about when to use this tool instead of alternatives, or about prerequisites such as an open document or a selected position. The agent must infer from the tool name alone that this is for adding controls, and there are no exclusions or conditions to disambiguate it from form-related siblings.

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

insert_index_markB

Insert an index mark entry.

Args: doc_id: Document ID from open_document first: Primary index term second: Optional secondary index term

ParametersJSON Schema
NameRequiredDescriptionDefault
firstYes
doc_idYes
secondNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 for behavioral disclosure. It states that the tool mutates the document by inserting an entry, but it does not describe side effects, insertion position, prerequisites, or return behavior. This is thin for a mutation operation.

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 front-loaded with the operation, followed by a clean, minimal parameter list. Every sentence earns its place, and there is no redundant or filler content.

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

Completeness3/5

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

For a simple three-parameter insert tool, the core call information is present and the output schema covers return semantics. However, with no annotations and no usage context, it leaves unstated where the index mark is inserted, whether a cursor position matters, and what document state is required.

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 description coverage is 0%, so the description must compensate. It does so by giving each parameter a meaningful role: doc_id is the source document, first is the primary term, and second is an optional secondary term. This adds value beyond the bare property names in the schema.

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

Purpose4/5

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

The description states a specific verb and resource: 'Insert an index mark entry.' This clearly identifies the operation and distinguishes it from close siblings like insert_bookmark or insert_hyperlink, even though it does not explicitly name the alternative.

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?

There is no guidance about when to use this tool versus the many other insert-related siblings, such as insert_bookmark or insert_auto_number. The only context is that doc_id comes from open_document, which hints at a prerequisite but does not explain conditions or exclusions.

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

insert_pictureC

Insert a picture into the document.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNo
doc_idYes
heightNo
embeddedNo
image_pathYes
size_optionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/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. 'Insert' implies mutation, but the description does not disclose whether the picture is embedded, how the path is resolved, whether existing content is affected, or what happens after insertion. This is a minimal behavioral statement with significant gaps.

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

Conciseness4/5

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

The description is a single concise sentence with no filler and is easy to parse. It is front-loaded and grammatically direct, though its brevity borders on under-specification rather than efficient completeness.

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 the presence of an output schema, the tool has 6 parameters, no annotations, and zero parameter coverage in the description. It lacks essential context about required inputs, behavior, and how it differs from related insertion tools, so an agent would struggle to invoke it correctly.

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

Parameters1/5

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

Schema description coverage is 0% across 6 parameters, and the description adds no meaning to any parameter. It does not explain required doc_id and image_path semantics, nor optional width, height, embedded, or size_option behavior. The description does nothing to compensate for the schema's lack of parameter documentation.

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

Purpose4/5

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

The description clearly states a specific verb ('Insert') and resource ('a picture into the document'). However, it does not distinguish this tool from the closely related sibling 'insert_background_picture', and 'insert_file' could also insert image content. This is clear but lacks sibling differentiation.

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 guidance is given about when to use this tool versus alternatives, prerequisites such as having a document open, or whether this tool is appropriate only for inline images. The description only restates the basic action without any when-to-use context.

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

insert_textC

Insert text at the current cursor position.

Args: doc_id: Document ID from open_document text: Text to insert

Returns: Insertion confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden of behavioral disclosure. It states the core action and return value but does not disclose whether selection is replaced, how the cursor moves after insertion, error behavior for invalid doc_id, or whether formatting is inherited.

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

Conciseness4/5

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

The description is compact and front-loaded with the core action. The Args and Returns sections are structured and free of filler, though Args partly repeats schema field names.

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

Completeness3/5

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

For a simple two-parameter tool, the description is mostly sufficient to issue a call: pass doc_id and text. However, it lacks guidance on prerequisite cursor positioning, interaction with selections, and side effects, which is important given the large sibling set and absence of annotations.

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 0%, so the description must compensate. It adds useful provenance for doc_id ('Document ID from open_document') and identifies text as the content to insert, but this is only minimal clarification beyond the schema's property names.

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

Purpose4/5

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

The description states a specific verb and resource: 'Insert text at the current cursor position.' This is clear and distinguishable from many siblings conceptually, but it does not explicitly differentiate from alternatives like replace_text or append_paragraph.

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 when-to-use or alternative guidance is provided. There are many sibling tools for text manipulation, but the description does not mention when insert_text is preferable over replace_text, append_paragraph, or select_text. The only implicit hint is 'current cursor position.'

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

is_action_enableB

Check if a HWP action is currently enabled.

Args: action: Action name to check (e.g. "Copy", "Paste", "Undo")

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It indicates a read-only status check and gives the state-dependent notion of 'currently enabled,' which is helpful. However, it does not clarify edge cases, error behavior, or whether the action name must match a predefined list, leaving some ambiguity for a tool with no annotation safety net.

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 extremely concise, front-loaded with the core purpose, and includes a compact argument explanation. Every sentence contributes value, and there is no redundant or filler content.

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

Completeness3/5

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

For a simple one-parameter boolean check, the description covers the main purpose and parameter semantics, and an output schema exists to document return values. However, it lacks usage context, alternative routing, and any note about valid action names or failure modes, so the overall context is only minimally sufficient.

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?

The schema only defines 'action' as a string with no description, so the description adds meaningful guidance by explaining that it is the action name to check and providing concrete examples like 'Copy', 'Paste', and 'Undo.' This compensates well for the 0% schema description coverage, though it could go further by noting case sensitivity or a source for valid action names.

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

Purpose4/5

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

The description clearly states a specific verb and resource: 'Check if a HWP action is currently enabled.' It is unambiguous about what the tool does, and the action parameter is explained with concrete examples. However, it does not explicitly differentiate from siblings like is_command_lock or run_hwp_action, so it earns a 4 rather than a 5.

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?

There is no guidance about when to use this tool versus alternatives. The description only explains the parameter, not the conditions under which an agent should choose this tool over related ones such as is_command_lock or run_hwp_action. No exclusions or alternative recommendations are provided.

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

is_command_lockB

Check if a command is locked.

Args: cmd: Command name to check

ParametersJSON Schema
NameRequiredDescriptionDefault
cmdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. The word 'check' implies a non-mutating read, but the description does not explicitly state that no state changes occur, what the return value represents, or what happens for an unknown command. The output schema may cover return type, but the description itself is thin.

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 clear sentence followed by a compact Args section. Every word is functional and there is no filler or repetition. It is model-efficient for an agent to parse.

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

Completeness3/5

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

For a simple one-parameter query with an output schema present, the description is nearly sufficient. Still, it omits explicit mention of read-only behavior, the relationship to lock_command, or any error/edge-case semantics. Given the low complexity, the gaps are not severe but are noticeable.

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 0%, and the description's 'cmd: Command name to check' is the only explanation of the parameter. It adds the meaning that cmd is a command name and is the subject of the lock check. However, it provides no format, examples, or accepted values, so it only minimally compensates for the schema's silence.

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

Purpose4/5

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

The description states a specific action and resource: 'Check if a command is locked.' This clearly identifies a lock-status query and distinguishes it from the sibling 'lock_command' by using 'check' rather than a locking verb. It does not explicitly name the sibling, but the verb alone is enough to differentiate.

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?

The description gives no guidance on when to use this tool versus alternatives, such as lock_command. It does not state a scenario like 'before running a possibly locked command' or mention any exclusions. The intended usage must be inferred entirely from the tool name.

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

list_open_documentsA

List all currently open documents.

Returns: List of open document summaries

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It does disclose the return type (a list of open document summaries), which is useful. However, it says nothing about side effects, read-only guarantees, behavior when no documents are open, or error conditions; for a simple 'list' operation, the omission is moderate rather than severe.

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 extremely concise and front-loaded: the main action is stated in the first sentence, and the Returns line adds necessary information without any filler. Every sentence earns its place.

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 zero-parameter list operation with an output schema present, the description is largely sufficient. It states the resource and the shape of the return value. It could be more complete by explicitly clarifying that it only reflects documents open in the current session, but that is strongly implied by the name and description.

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?

The tool has zero parameters, so there is nothing for the description to elaborate on. The input schema already fully covers the parameter surface, and the baseline for zero-parameter tools is 4.

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

Purpose4/5

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

The description clearly states a specific verb ('List') and resource ('all currently open documents'), making the tool's purpose immediately understandable. It does not explicitly differentiate itself from siblings like get_document_info or get_document_summary, but the phrase 'currently open documents' is distinct enough for most cases.

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 that this tool should be used to retrieve currently open documents, but it gives no explicit when-to-use/when-not-to-use guidance and does not name alternatives. With a large sibling list that includes open_document and close_document, some explicit context would help, but the intent is still inferable.

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

lock_commandB

Lock or unlock a HWP command.

Args: cmd: Command name to lock/unlock lock: True to lock, False to unlock

ParametersJSON Schema
NameRequiredDescriptionDefault
cmdYes
lockYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

Since no annotations are present, the description carries the full burden of behavioral disclosure. It states that the tool locks or unlocks a command but does not explain side effects, persistence, session scope, or whether the operation is reversible. For a state-changing tool, this is a notable gap.

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 purpose followed by clearly formatted argument definitions. There is no filler or redundant content, and the key information is front-loaded.

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

Completeness3/5

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

The tool is simple with only two scalar parameters and an output schema available, so the basics are covered. However, it lacks any usage context, behavioral caveats, or indication of how lock state behaves, making it minimally viable rather than fully complete.

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?

The input schema provides only names and types, with 0% schema description coverage. The description compensates by explaining both parameters: 'cmd: Command name to lock/unlock' and 'lock: True to lock, False to unlock.' This adds real meaning, especially the boolean semantics, though the cmd description remains minimal.

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

Purpose4/5

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

The description states a clear verb and resource: 'Lock or unlock a HWP command.' This is easily distinguishable from the sibling query tool is_command_lock. It could be slightly more explicit about what constitutes a 'command,' but the core purpose is 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 guidance is provided about when to use this tool versus alternatives, whether there are prerequisites such as an open document, or how locking relates to is_command_lock. The description only defines the operation itself without any usage context or exclusions.

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

mail_mergeC

Execute mail merge operation.

Args: doc_id: Document ID from open_document action_params: Optional HMailMerge parameter overrides

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
action_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior1/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but 'Execute mail merge operation' discloses almost nothing about side effects. It does not state whether this mutates the document, creates new output, requires a data source, or modifies fields, making the tool's behavior largely opaque.

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

Conciseness4/5

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

The description is short and front-loaded, with a clean Args section and no filler. It earns its words, though the brevity leaves substantive gaps elsewhere.

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?

Although an output schema exists, the description omits essential operational context: what mail merge produces, what prerequisites beyond doc_id exist, how it interacts with the document, and how it relates to field-filling sibling tools. The tool has no annotations, so the description is the only source of context, and it is insufficient.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does clarify that doc_id is a Document ID from open_document and that action_params is an optional HMailMerge override object, which adds some meaning beyond the bare schema. However, it does not enumerate or explain valid HMailMerge override keys, so an agent still cannot confidently construct action_params.

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

Purpose3/5

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

The description names a concrete operation ('mail merge') and a verb ('Execute'), and identifies the target through doc_id from open_document. However, it does not explain what a mail merge actually does or how it differs from sibling field-related tools like batch_fill_fields and put_field_text, so it only distinguishes at a surface level.

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?

The only usage guidance is that doc_id comes from open_document, implying a prerequisite. There is no explanation of when mail merge should be chosen over alternatives, what kind of data source is required, or what scenarios it is not appropriate for.

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

make_table_of_contentsC

Generate table of contents.

Args: doc_id: Document ID from open_document action_params: Optional HTableOfContents parameter overrides

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
action_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It says 'Generate table of contents' but does not explain observable behavior such as whether the TOC is inserted into the document, where it is placed, whether it modifies existing content, or what side effects occur. The doc_id note is mildly useful but insufficient.

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

Conciseness4/5

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

The description is compact and front-loaded with the core action, followed by a short argument list. There is no filler or redundant repetition of schema fields. It is appropriately concise, though it sacrifices explanatory depth.

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 omits essential context for an agent: how the TOC is created, where it appears, whether it replaces an existing TOC, and what conditions must hold. The large sibling tool set and lack of annotations raise the need for more contextual detail than this description provides.

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 description names both parameters and adds context beyond the schema: doc_id is 'Document ID from open_document' and action_params is 'Optional HTableOfContents parameter overrides.' However, 'HTableOfContents parameter overrides' is vague and does not enumerate or explain the allowed overrides, leaving the agent to guess the parameter structure.

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

Purpose4/5

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

The description states a clear verb-object pair: 'Generate table of contents.' The resource is unambiguous and no sibling tool shares this exact purpose. It does not explicitly differentiate from alternatives, but its unique naming and clear action make the purpose understandable.

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?

There is no guidance about when to use this tool instead of alternatives. It does not mention prerequisites beyond doc_id coming from open_document, nor does it indicate cases where this tool should not be used. This is a gap for an agent navigating a large sibling list.

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

manage_styleB

Create, delete, or apply a named style.

Args: doc_id: Document ID from open_document action: "create", "delete", or "apply" style_name: Name of the style style_type: 0 = paragraph style, 1 = character style (for create) based_on: Base style name (for create)

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
doc_idYes
based_onNo
style_nameNo
style_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 names create/delete/apply and hints that delete is destructive, but it does not explain side effects, whether changes are reversible, whether apply modifies the current selection, or what happens on failure.

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 front-loaded with a one-sentence summary and followed by a tight parameter list. Every line adds information; there is no filler or repetition of the schema names beyond what is useful for mapping.

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

Completeness3/5

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

The description covers the core purpose and parameter semantics, and an output schema exists. However, with no annotations it still lacks usage-vs-alternative guidance and behavioral caveats, leaving meaningful gaps for an agent deciding whether and how to call it.

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 description coverage is 0%, but the description compensates well by defining action values, style_type encoding, doc_id provenance, and the role of based_on. It does not clarify conditional requiredness for style_name across actions, but the added meaning is substantial.

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

Purpose4/5

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

The description clearly states the tool creates, deletes, or applies a named style, which is specific enough about the resource and action. It does not explicitly differentiate from related siblings like import_style, export_style, or set_paragraph_style, so it falls just short of full clarity.

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?

The description gives no guidance on when to use this tool versus alternatives such as import_style, export_style, or set_paragraph_style. There are no exclusions, no alternative tool names, and no context about which workflow should lead here.

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

merge_table_cellsB

Merge a range of table cells.

Args: doc_id: Document ID from open_document table_index: Index of the table start_row: Starting row index start_col: Starting column index end_row: Ending row index (inclusive) end_col: Ending column index (inclusive)

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
end_colYes
end_rowYes
start_colYes
start_rowYes
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states only that cells are merged, but does not mention whether the operation is destructive, how cell contents are handled during merging, whether the merge is reversible, or what the output/result is.

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 front-loaded with a clear one-sentence summary followed by a tidy argument list. There is no filler, and every line contributes information.

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?

For a 6-parameter mutation tool with no annotations and no schema-level parameter descriptions, the description is too sparse. It does not clarify index conventions, range constraints, error conditions, or whether merged cell contents are preserved or discarded, so an agent cannot reliably invoke it correctly in varied contexts.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it mostly restates the parameter names. It adds minimal value with 'Document ID from open_document' and 'Ending row index (inclusive)', but omits critical details like whether indexes are zero-based, whether the range must be rectangular, or how table_index is resolved.

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 sentence 'Merge a range of table cells' uses a specific verb and resource, and the 'range' qualifier clarifies scope. It clearly distinguishes this from sibling tools like split_table_cell, set_table_cell_text, and table_to_text.

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 guidance is provided about when to use this tool versus alternatives, nor about prerequisites such as an existing table, cursor context, or whether the range must be rectangular and contiguous. The description only repeats the operation and parameters.

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

modify_field_propertiesC

Modify properties of a named field.

Args: doc_id: Document ID from open_document name: Field name property: Property name to modify value: New property value

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
valueYes
doc_idYes
propertyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only reveals that the tool modifies properties, implying mutation, but it does not describe side effects, required document state, error behavior, or whether changes are reversible. This is a minimal transparency level for a mutation tool.

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

Conciseness4/5

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

The description is short and front-loaded, with the purpose sentence before the argument list. The Args section is clearly structured and scannable. It is efficient, though some entries add little beyond the schema.

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?

For a four-parameter mutation tool with no annotations and no enum constraints, the description is incomplete. An agent cannot determine which field properties are modifiable, what domain of values is expected, or what prerequisites must hold. The output schema may cover return values, but the missing property semantics remain a significant gap.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate; it labels each parameter but mostly restates the parameter names. It adds one useful hint that doc_id comes from open_document, but it does not explain what valid 'property' names are, what value formats are accepted, or how property and value interact.

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

Purpose4/5

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

The description states a clear action and resource: 'Modify properties of a named field.' It is not a tautology and gives a general sense of what the tool does. However, it does not differentiate itself from sibling tools like set_field_ctrl_properties, which also modifies field-related properties, so it lacks explicit sibling distinction.

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?

There is no guidance on when to use this tool versus alternatives such as rename_field, put_field_text, or set_field_ctrl_properties. The only contextual hint is 'doc_id: Document ID from open_document,' which addresses parameter provenance but not usage selection. No exclusions or alternative conditions are provided.

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

move_cursorA

Move the cursor to a named position or raw MovePos ID.

Args: doc_id: Document ID from open_document position: Named position (doc_start, doc_end, para_start, para_end, line_start, line_end, next_para, prev_para, next_word, prev_word, next_char, prev_char, next_page, prev_page) move_id: Raw MovePos integer ID (advanced usage)

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
move_idNo
positionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It does state the core behavior—moving the cursor—and distinguishes the two invocation modes, but it does not disclose side effects on selection, interaction between position and move_id, or what happens if both or neither are supplied.

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 front-loaded: one clear purpose sentence followed by a clean argument list. Every line earns its place and there is no filler.

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

Completeness3/5

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

The description covers the main invocation choices and an output schema exists, so return values need not be documented. However, the schema marks position and move_id as optional, while the description implies one is needed; it should clarify whether exactly one must be provided, and what happens if both or neither are passed.

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

Parameters5/5

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

Despite 0% schema description coverage, the description compensates fully: it identifies the source of doc_id, enumerates all valid named position values, and explains move_id as a raw advanced integer ID. This gives an agent substantially more meaning than the bare JSON schema.

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

Purpose4/5

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

The description clearly states the action ('Move the cursor') and the target ('a named position or raw MovePos ID'), with a specific list of named positions. It does not explicitly contrast with sibling tools like set_cursor_position or move_to_field, so it falls short of full sibling differentiation.

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 provides useful context by explaining that doc_id comes from open_document and by listing valid named positions. However, it does not state when to prefer this tool over sibling cursor tools, nor does it give explicit exclusions or alternative tool guidance.

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

move_to_fieldB

Move cursor to a named field.

Args: doc_id: Document ID from open_document name: Field name get_text: Whether to get text start: Move to start of field select: Select the field content

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
startNo
doc_idYes
selectNo
get_textNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 states the core action but does not explain side effects such as changing the current selection, behavior when the field does not exist, what 'get_text' actually retrieves, or how 'select' affects the editor state.

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

Conciseness4/5

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

The description is front-loaded with a clear one-sentence purpose followed by a compact parameter list. There is no filler or repetition, though the parameter explanations are so terse that the description feels skeletal rather than rich.

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

Completeness3/5

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

The required parameters doc_id and name are identified, and the presence of an output schema reduces the need to describe return values. Yet with no annotations, 5 parameters, and many nearby siblings like move_cursor, get_field_text, and select_text, the description leaves important selection and sequencing context to be inferred.

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?

Input schema coverage is 0%, so the description must compensate. It adds minimal meaning beyond the bare parameter titles: doc_id is 'Document ID from open_document', start means 'Move to start of field', and select means 'Select the field content'. However, 'Whether to get text' remains vague and does not clarify what text is retrieved or how it is returned.

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

Purpose4/5

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

The description states a clear verb and resource: 'Move cursor to a named field.' It is distinct from generic cursor tools like move_cursor because it specifically targets a named field, though it does not explicitly contrast itself with siblings such as move_cursor or set_cursor_position.

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 use case is implied: use this when you want to move the cursor to a named field, and doc_id is referenced as coming from open_document, which implies a prerequisite. However, it does not explicitly say when to prefer this over move_cursor, select_text, get_field_text, or other related sibling tools.

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

open_documentB

Open an HWP document for reading and editing.

Args: file_path: Path to the HWP file

Returns: Document info including doc_id and file name

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It only states that the document is opened and returns basic info, but does not disclose side effects such as replacing the current document, whether the file must already exist, or what happens to unsaved work.

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 short, front-loaded, and organized into clear sections for Args and Returns. Every sentence earns its place, and there is no redundant or filler content.

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?

While the output schema covers return values, this is a state-changing entry-point tool with no annotations. The description omits prerequisite conditions and behavioral consequences, leaving an agent without enough context to predict what happens after calling open_document.

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

Parameters2/5

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

Schema coverage is 0% and the description only restates 'file_path' as 'Path to the HWP file.' This adds a small HWP-format cue, but no further semantics such as accepted path forms, file existence requirements, or error conditions beyond what the parameter name already implies.

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

Purpose4/5

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

The description uses a specific verb ('Open'), a concrete resource ('an HWP document'), and an explicit purpose ('for reading and editing'). This makes the core action clear and distinguishes it from sibling operations like save_document or close_document, though it does not explicitly name an alternative.

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 phrase 'for reading and editing' implies this tool is the entry point before read/edit operations, and the distinction from list_open_documents and close_document is inferable. However, there is no explicit 'use this when...' guidance, alternative comparison, or mention of when not to use it.

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

put_field_textB

Set the text content of a named field.

Args: doc_id: Document ID from open_document name: Field name text: Text to set

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
textYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Set', which implies mutation, but does not state whether the field must already exist, whether it replaces existing content, what happens on invalid field names, or whether the operation has side effects.

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 followed by a minimal parameter list. There is no filler or redundant explanation, and the structure makes the core purpose immediately visible.

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

Completeness3/5

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

The description gives enough to attempt a call: all three required parameters are named and lightly explained, and an output schema exists. However, it omits important contextual details for this domain, such as how a field name is obtained, whether the field must pre-exist, and how this differs from related field/text tools.

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 0%, so the Args section must compensate. It adds some meaning: doc_id is 'Document ID from open_document', name is 'Field name', and text is 'Text to set'. This is useful but terse, and it mostly restates the parameter names without deeper constraints or format details.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Set the text content of a named field.' This clearly identifies the action and object, and 'named field' distinguishes it from table-cell or plain-text insertion tools, though it does not explicitly name a sibling alternative.

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?

The description provides no guidance on when to use this tool versus alternatives such as insert_text, replace_text, set_table_cell_text, or batch_fill_fields. It neither states typical use cases nor excludes cases where a sibling tool would be more appropriate.

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

register_moduleC

Register a module with HWP COM.

Args: name: Module name to register path: Optional file path for the module

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior1/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It only says 'register' without mentioning side effects, persistence, whether registration is reversible, or what the operation does to the HWP COM environment. This is insufficient for an agent to predict the tool's behavior.

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

Conciseness4/5

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

The description is short and front-loaded, with no filler or repetition. The Args section is compact and aligns with the two parameters, though it could have used those lines to add more behavioral context.

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?

Because an output schema is present, the return value does not need explanation. However, with no annotations and no usage or behavioral context, this is not complete enough for an agent to know when or why to invoke it, especially given the large and varied sibling tool set.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds 'Module name to register' and 'Optional file path for the module,' which is slightly more than the schema's title-only 'Name' and 'Path,' but still leaves ambiguity about allowed path formats or meaningful value constraints.

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

Purpose4/5

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

The description uses a specific verb and resource, 'Register a module with HWP COM,' which states the tool's core action clearly. It is not a tautology and is distinct from all listed siblings, though it does not elaborate on what kind of module qualifies.

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?

There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites or exclusions. Without context such as when module registration is needed or whether other tools should be used instead, the agent is left to infer usage entirely.

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

release_scanB

Release scan resources after InitScan.

Args: doc_id: Document ID from open_document

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/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 states that the tool releases scan resources, but does not explain whether this is required cleanup, what happens if called before InitScan, whether it is idempotent, or what side effects occur on subsequent scanning operations.

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

Conciseness4/5

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

The description is minimal and front-loaded, with the core action stated in the first sentence and the argument context in a simple Args block. No words are wasted, though the terseness contributes to some ambiguity.

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

Completeness3/5

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

For a single-parameter cleanup tool with an output schema, this is minimally adequate: it names the action, the timing, and the parameter source. But it lacks guidance on invocation requirements and consequences, which matters more because there are no annotations to fill the gap.

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 schema has 0% description coverage, so the description must compensate. It does add the useful context that doc_id is 'Document ID from open_document', which helps an agent source the correct value. However, it does not explain whether this is the same doc_id used in InitScan or how to obtain it beyond the open_document reference.

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

Purpose4/5

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

The description uses a specific verb ('Release') with a resource ('scan resources') and a timing condition ('after InitScan'), which clearly identifies the tool's purpose. It also distinguishes itself from init_scan by reference, though 'scan resources' is somewhat vague.

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?

'After InitScan' provides clear contextual guidance on when this tool should be invoked, implying it is the cleanup counterpart to init_scan. It does not explicitly list exclusions or alternative tools, but the lifecycle pairing is clear enough for a simple resource-release operation.

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

rename_fieldB

Rename a field.

Args: doc_id: Document ID from open_document old_name: Current field name new_name: New field name

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
new_nameYes
old_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 states the rename action but does not mention mutating side effects, whether the field must already exist, whether names must be unique, or what happens if the old_name is not found.

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 short and well-structured: one direct statement followed by three parameter lines. Every sentence earns its place, and there is no redundant or filler content.

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

Completeness3/5

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

For a simple three-parameter mutation, the description is minimally adequate: it explains all parameters and references open_document. However, with no annotations and no mention of failure behavior, preconditions, or effects, an agent is left to infer important operational details; an output schema exists, so return value documentation is not needed.

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 description coverage is 0%, and the description compensates by explaining each parameter in plain terms: doc_id is 'Document ID from open_document,' old_name is 'Current field name,' and new_name is 'New field name.' It adds meaning beyond the bare string types, though it omits constraints or expected formats.

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

Purpose4/5

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

The description opens with 'Rename a field,' a clear verb+resource statement that conveys the operation. However, it does not explicitly distinguish this from siblings like set_current_field_name or modify_field_properties, so it misses the strongest level of differentiation.

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?

The only usage hint is that doc_id comes from open_document, which implies an open document is required. There is no explicit guidance about when to use rename_field versus similar field-related tools, nor any mention of prerequisites or alternatives.

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

replace_actionC

Replace one action handler with another.

Args: old_action: Action name to replace new_action: Replacement action name

ParametersJSON Schema
NameRequiredDescriptionDefault
new_actionYes
old_actionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only says a replacement occurs. It does not explain side effects, whether old_action must exist, what 'action handler' means, or error behavior, leaving an agent with little understanding of the operation's impact.

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 tight and front-loaded, with no wasted sentences. The Args section is minimal and readable, earning its place by clarifying the two parameters.

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?

Even though an output schema exists, the description is incomplete for a tool that mutates action handlers. It omits what an action handler is, how names are resolved, whether replacement is global or scoped, and what failure conditions look like. This is insufficient for an agent to confidently invoke the 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?

The Args section gives basic one-line meanings for both parameters, which adds some value over the bare schema titles. However, the definitions are largely circular ('Action name to replace' / 'Replacement action name') and offer no format, allowed values, or relationship to other action-related tools.

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

Purpose4/5

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

States a specific verb ('replace') and resource ('action handler'), making the core function clear. However, it does not explicitly distinguish itself from the many sibling hwp_*_action tools, so differentiation is left to the reader.

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 guidance is given on when to use this tool versus alternatives such as run_hwp_action or hwp_*_param_action. There are no prerequisites, exclusions, or context clues to help an agent decide if this is the right tool.

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

replace_textA

Replace all occurrences of text in the document.

Args: doc_id: Document ID from open_document old_text: Text to find new_text: Replacement text

Returns: Number of replacements made

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
new_textYes
old_textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/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 explaining side effects. It discloses that replacement is global and that a replacement count is returned, but does not mention mutability/irreversibility, scope limitations, or behavior when old_text is not found. This is adequate but not rich.

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 short, structured with Args and Returns, and contains no redundant sentences. Every line contributes relevant information.

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 simple three-string-parameter tool, the description covers the operation, parameter source, and return value, and an output schema exists to formalize returns. It lacks usage exclusions and edge-case behavior, but nothing essential is missing for a basic replacement call.

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

Parameters5/5

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

Schema description coverage is 0%, so every parameter must be explained in the description. The Args block clearly defines doc_id as coming from open_document, old_text as the text to find, and new_text as the replacement text, adding real meaning beyond the schema's bare titles.

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 names a specific operation ('Replace all occurrences of text') and a clear resource ('the document'), which distinguishes it from siblings like insert_text, search_text, and replace_action. It is more specific than a bare restatement of the tool name.

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 makes the intended context clear: a document-wide replacement of all occurrences, with doc_id sourced from open_document. It does not explicitly mention when to prefer another sibling (e.g., replace_action) or list exclusions, so it stops short of a 5.

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

rgb_colorA

Convert RGB or hex to HWP internal color value.

ParametersJSON Schema
NameRequiredDescriptionDefault
bNo
gNo
rNo
hexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It indicates a pure conversion operation with no side effects, but it does not mention input constraints, what happens if both RGB and hex are provided, or output details beyond the schema.

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 that states the function and target without wasted words. It is concise and immediately scannable.

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

Completeness3/5

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

For a simple conversion utility, the description is minimally sufficient, but it leaves gaps: no guidance on parameter combination, value ranges, hex format, or edge cases. An output schema exists, but the description still needs to clarify the dual input modes.

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

Parameters2/5

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

Schema description coverage is 0% and the description only vaguely connects r/g/b to RGB and hex to hex. It does not specify valid ranges (e.g., 0-255), hex string format (e.g., '#RRGGBB'), or how the tool chooses between RGB and hex when both are supplied.

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 states a specific verb ('Convert') and resource ('RGB or hex to HWP internal color value'), clearly identifying the tool's exact purpose. It is distinct from siblings like convert_units or document-editing tools.

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 usage context is implied: use this when a color in RGB or hex form needs to be converted to the HWP internal format. However, there is no explicit guidance about alternatives, exclusions, or when not to use this tool.

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

run_hwp_actionB

Execute an arbitrary HWP action (escape hatch for power users).

Args: doc_id: Document ID from open_document action_name: HWP action name (e.g., "SelectAll", "MoveDocBegin") params: Optional parameter dict for HAction.Execute param_set_name: Name of the HParameterSet to use

Returns: Action execution result

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
paramsNo
action_nameYes
param_set_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/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 full responsibility for behavioral disclosure. It only says 'Execute' without any warning about potential destructive side effects, permission requirements, or failure modes. An escape hatch that can run arbitrary actions is inherently risky, yet nothing is disclosed about possible consequences, error handling, or the need for caution. This is a significant gap.

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

Conciseness4/5

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

The description is short, front-loaded with the purpose, and organized as a simple list of arguments and a return line. It avoids verbosity. The 'Returns: Action execution result' line is slightly redundant given an output schema exists, but it's not harmful. Overall, it's efficient without padding.

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?

For a generic escape hatch tool, the description is incomplete. It does not explain when to choose this over the many specific sibling tools, nor does it mention prerequisites (e.g., a document must be open), potential risks, or what happens if the action fails. While the output schema covers return values, the usage context and safety considerations are absent, leaving an agent without the information needed to responsibly invoke such a powerful operation. This is a significant omission.

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 schema has 0% coverage (no descriptions on parameters), so the description must compensate. It lists each parameter with brief explanations: doc_id comes from open_document, action_name has examples ('SelectAll', 'MoveDocBegin'), params is an optional dict, and param_set_name is the HParameterSet name. This adds some meaning beyond raw names but lacks depth—no detail on how to construct param_set_name or the structure of params. It's adequate for a power user but not thorough.

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 purpose: 'Execute an arbitrary HWP action (escape hatch for power users)'. It specifies the verb (execute) and the resource (HWP action), and explicitly positions it as a generic fallback, distinguishing it from the many specific sibling tools. This is unambiguous and differentiation is achieved through the 'escape hatch' wording.

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 usage through 'escape hatch for power users'—it suggests use only when specific tools don't cover the action—but never explicitly states when to use this tool versus alternatives, nor lists exclusions. No mention of specific sibling tools or conditions under which selecting this tool is appropriate, leaving the agent to infer the intended use.

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

run_macroC

Execute or inspect HWP macros.

Args: doc_id: Document ID from open_document action: "run" (inline), "run_named" (by name), "get_source" script: Inline script text (for "run") name: Macro name (for "run_named"/"get_source") module: Module name (for "run_named")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
actionYes
doc_idYes
moduleNo
scriptNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the behavioral disclosure burden, but it only says 'execute' and 'inspect' without mentioning side effects, document mutation, or the potential risk of running macro code. It is not misleading, but it under-discloses for a tool that executes code.

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

Conciseness4/5

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

The definition is short and front-loaded, and the Args list is easy to scan. It loses one point because the action-dependent requirements could be expressed more explicitly without adding meaningful length.

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

Completeness3/5

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

Given no annotations and five parameters, the description covers core invocation details and the output schema can handle return values. It is incomplete in differentiating from similar tools and in disclosing side effects, but it provides enough for a straightforward macro call.

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 Args section adds value beyond the bare schema by listing all five parameters and mapping script, name, and module to specific actions. However, it does not state which parameters become required for each action (e.g., script for 'run', name for 'run_named'/'get_source'), which is critical for correct invocation; with 0% schema coverage, the description should be more explicit.

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

Purpose4/5

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

The opening line states a specific verb and resource: 'Execute or inspect HWP macros,' and the action list clarifies the three modes. It does not, however, distinguish macros from the closely named siblings run_script and get_script_source, so it stops short of a full 5.

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?

The description provides action-to-parameter mappings but no guidance on when to prefer run_macro over run_script or get_script_source, and no exclusions or prerequisites. The agent must infer usage context from the tool name and sibling list.

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

run_scriptB

Execute a HWP script macro directly.

Args: doc_id: Document ID from open_document script: Script source code to execute

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
scriptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits itself, but it only says 'directly' without explaining side effects. Executing arbitrary script code can modify the document or have destructive consequences, yet the description does not warn about this or mention permissions, locking, or error 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 short, front-loaded with the core purpose, and uses a compact argument list. There is no redundant prose or filler.

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?

Given that this tool executes arbitrary script code and has no annotations, the description is under-specified. It fails to disclose side effects, security considerations, or behavioral boundaries, which is especially important for a high-impact operation. The presence of an output schema reduces the need to describe return values, but safety-critical context is still missing.

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 description coverage is 0%, so the description must compensate for the missing parameter documentation. It does clarify that doc_id is the ID obtained from open_document and that script is the source code to execute, adding real meaning beyond the raw schema.

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

Purpose4/5

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

The description states a specific action ('Execute a HWP script macro directly') and identifies the key inputs. However, it does not distinguish itself from the sibling tool run_macro, which likely performs a very similar operation.

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 provides a useful prerequisite: doc_id must come from open_document. But it gives no guidance about when to use run_script versus alternatives like run_macro or run_hwp_action, and it does not state any exclusions.

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

save_as_imageC

Save document pages as image files.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpiNo
doc_idYes
formatNopng
to_pageNo
from_pageNo
output_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the intended outcome and does not mention file-writing behavior, overwrite semantics, output naming, or any side effects. This is a significant gap for a tool that creates files.

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

Conciseness4/5

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

The description is a single, focused sentence with no filler or redundant content. It is concise and front-loaded, even though it sacrifices useful detail.

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?

With six parameters, no annotations, and no schema descriptions, the description is too thin to fully support correct invocation. It does not explain relationships between `from_page` and `to_page`, allowed format values, or whether `output_path` is a directory or a full file path. The presence of an output schema helps but does not cover these input semantics.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter-level meaning. The parameter names like `doc_id`, `output_path`, `dpi`, and `format` are somewhat self-explanatory, but the description does not clarify page-range semantics, valid formats, or how `output_path` should be interpreted.

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

Purpose4/5

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

The description names a specific verb and resource ('Save document pages as image files'), so an agent can tell what the tool does. However, it does not distinguish this from the sibling `export_page_as_image`, which appears to cover the same basic operation.

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 guidance is given for when to use `save_as_image` versus alternatives such as `export_page_as_image`. There is no mention of use cases, exclusions, or conditions that would make this tool the right choice.

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

save_blockA

Save selected block to a file.

Args: doc_id: Document ID from open_document filename: Output file path format: File format ("HWP", "HWPX", "HTML", "TEXT", etc.) argument: Optional format-specific argument

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
formatNoHWP
argumentNo
filenameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior itself; it only states the save action and parameter meanings. It does not mention side effects such as overwriting existing files, file permissions/limitations, or what happens if there is no selected block, which is critical for a mutating operation.

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 definition is compact: one clear summary sentence followed by a concise argument list with no filler. Important details like format examples are included without bloating the text.

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

Completeness3/5

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

For a four-parameter tool with no annotations, the parameter explanations are solid and return values are covered by the output schema. However, the definition lacks guidance on choosing this tool among many sibling save/export tools and omits behavioral caveats such as overwrite behavior, so an agent is not fully oriented.

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

Parameters5/5

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

The input schema has no property descriptions (0% coverage), and the description compensates by explaining all four parameters: doc_id provenance, filename as output path, format with concrete examples, and argument as optional/format-specific. This is essential semantic information the schema alone does not provide.

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

Purpose4/5

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

The opening line 'Save selected block to a file' uses a specific verb and resource, clearly indicating the operation. It is understandable on its own, but it does not explicitly distinguish itself from sibling save/export tools such as save_document, save_document_as, or export_page_as_image.

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 use after open_document via 'doc_id: Document ID from open_document' and implies the tool targets a current selection ('selected block'). However, it gives no explicit when-to-use/when-not-to-use guidance or alternatives for saving whole documents or exporting pages/images.

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

save_documentA

Save the document.

Args: doc_id: Document ID from open_document output_path: Optional output path. If None, overwrites the original.

Returns: Save confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It does disclose a critical behavior: if output_path is None, the original file is overwritten. However, it omits other behavioral details such as whether this modifies the in-memory open document, permission requirements, or error behavior, so it is only partially transparent.

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 front-loaded with the action, then organized into Args and Returns. Every sentence conveys useful information without repetition or fluff, making it easy for an agent to parse quickly.

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 two-parameter save operation, the description covers the parameters and the return value. It also gives prerequisite context (doc_id from open_document). It is slightly incomplete because it does not mention the closely related sibling 'save_document_as' or what the save confirmation looks like, but the output schema signal reduces the need for return-value detail.

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

Parameters5/5

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

Schema description coverage is 0%, so the description fully compensates by explaining both parameters. It clarifies that doc_id is a Document ID from open_document and that output_path is optional with explicit null behavior (overwrite original). This adds meaningful semantics beyond the raw type information in the schema.

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

Purpose4/5

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

The description states a clear verb-resource pair ('Save the document') and explains the core behavior via its parameters. It does not explicitly distinguish itself from the sibling 'save_document_as', which could confuse an agent choosing between the two save tools, so it loses a point for missing sibling differentiation.

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?

There is no guidance on when to use this tool versus alternatives like 'save_document_as' or 'save_block'. The only context is that doc_id comes from open_document, which implies a prerequisite but not a decision rule. No exclusions or alternative routing are provided.

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

save_document_asB

Save the document to a new file.

Args: doc_id: Document ID from open_document output_path: Output file path

Returns: Save confirmation with path

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
output_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

Annotations are absent, so the description must carry the full burden of behavioral disclosure. It states the operation and return value but does not mention whether existing files are overwritten, whether the document is saved in its current format or a specified one, or any side effects like modifying the current document state. For a write operation, this is insufficient.

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, uses clear headings for args and returns, and has no fluff. Every sentence serves a purpose. The structure is easy to parse and front-loads the main action.

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?

For a save operation with no annotations and no details on overwrite behavior, file format handling, path requirements, or error scenarios, the description is incomplete. While it mentions the return confirmation, it does not cover important edge cases that an agent would need to avoid incorrect usage (e.g., what happens if the output file exists).

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?

Although the schema provides only generic titles ('Doc Id', 'Output Path'), the description adds meaningful context: doc_id is 'from open_document' and output_path is 'Output file path'. This gives agents the provenance of doc_id and the purpose of the path, exceeding the schema's minimal info. Despite the signal indicating 0% coverage, the description actually provides valuable parameter semantics.

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

Purpose4/5

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

The description states a clear verb and resource: 'Save the document to a new file.' It distinguishes from siblings like save_document by implying a different target, though it doesn't explicitly contrast with related save operations. The purpose is unambiguous and specific.

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 guidance on when to use this tool over alternatives such as save_document or save_block. There is no mention of prerequisites (e.g., that doc_id must come from open_document) beyond the parameter description. The description does not clarify the difference between saving to a new file versus saving in place, leaving the agent to infer usage context.

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

search_textC

Search for text in the document.

Args: doc_id: Document ID from open_document query: Text to search for case_sensitive: Whether the search is case sensitive

Returns: Number of matches found

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
doc_idYes
case_sensitiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/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 only states the return count and does not mention whether the operation is read-only, whether it alters the cursor/selection, what query syntax is accepted, or whether doc_id must reference a currently open document.

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

Conciseness4/5

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

The description is compact and front-loaded, with a single purpose sentence followed by a clean Args/Returns block. There is no filler, though a bit more practical guidance would improve it.

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

Completeness3/5

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

The basic input and output shape is covered, and an output schema is present. However, given the crowded sibling set and absence of annotations, the lack of usage context and behavioral detail leaves noticeable gaps for an agent selecting and invoking the tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to compensate. It adds marginal value by noting doc_id comes from open_document and query is the text to search, but the parameter descriptions mostly restate the parameter names and omit meaningful details like case_sensitive's default behavior being true.

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

Purpose4/5

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

The description clearly states the operation: 'Search for text in the document' and specifies the return value as 'Number of matches found'. It is easy to tell what the tool does, though it does not explicitly differentiate itself from sibling tools such as replace_text, get_document_text, or select_text.

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?

The description provides no guidance on when to use this tool versus alternatives. With many text-related siblings like search/select/replace, the absence of any 'use this instead when...' context leaves selection to inference. No exclusions or alternative tool references are provided.

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

select_textC

Select a text range by start/end coordinates.

Args: doc_id: Document ID from open_document start_list: Start list number start_para: Start paragraph number start_pos: Start position end_list: End list number end_para: End paragraph number end_pos: End position

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
end_posYes
end_listYes
end_paraYes
start_posYes
start_listYes
start_paraYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states that a range is selected, but does not explain coordinate semantics, whether positions are zero- or one-based, whether the selection replaces existing selection state, or what happens on invalid coordinates.

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

Conciseness4/5

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

The description is compact and front-loaded with the primary purpose, followed by a clean parameter list. There is no fluff or repeated schema information beyond what is useful given the lack of schema descriptions.

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 so return values do not need explanation, the description is incomplete for a 7-parameter selection tool. It lacks a working example, coordinate conventions, prerequisite document state, and guidance on how the end coordinates relate to the start coordinates.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate for the bare parameter titles. It adds only minimal restatement ('Start paragraph number') and one useful note that doc_id comes from open_document. The coordinate system and relationship between list/para/pos are not clarified.

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

Purpose4/5

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

The opening line, 'Select a text range by start/end coordinates,' names a specific verb, resource, and mechanism. It is clearly about selecting a range rather than searching, inserting, or deleting text, though it does not explicitly differentiate itself from related selection/cursor siblings.

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?

There is no guidance about when to use this tool versus set_cursor_position, get_selection_info, clear_selection, delete_selection, or get_selected_pos_by_set. The arg list explains what each parameter is, but not the circumstances in which select_text is the right choice.

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

set_bullet_styleC

Apply bullet style to current paragraph.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
doc_idYes
characterNo
bullet_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It only states the action and target, but does not reveal whether existing bullets are replaced, whether a document must be open, or what happens when the selection spans multiple paragraphs.

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, compact sentence with no filler. The action and target are front-loaded, making it easy to parse quickly.

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?

For a mutating tool with four parameters, no annotations, and zero schema descriptions, the one-line description leaves significant gaps. The presence of an output schema does not compensate for missing parameter semantics, usage conditions, or behavioral side effects.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no explanation of the parameters (size, character, bullet_type). The agent cannot infer valid values, optionality semantics, or how the parameters combine to produce a bullet style.

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

Purpose4/5

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

The description states a specific action ('apply') on a specific resource ('bullet style') with a clear target ('current paragraph'). It is understandable but does not explicitly differentiate itself from sibling tools like set_numbering_style or set_paragraph_style.

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 guidance is given on when to use this tool versus alternatives, nor are prerequisites like cursor position or selection state mentioned. The intended usage is only implied by the phrase 'current paragraph'.

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

set_captionA

Set caption on a table or image.

Args: doc_id: Document ID from open_document side: Caption position (0=below, 1=above, 2=left, 3=right) width: Caption width in hwpunits gap: Gap between object and caption cap_full_size: 1 to match object width

ParametersJSON Schema
NameRequiredDescriptionDefault
gapNo
sideNo
widthNo
doc_idYes
cap_full_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only states the basic action and parameter meanings; it does not disclose whether the caption is inserted as a separate object, whether existing captions are replaced, or what happens when the operation fails. The parameter details add some context but not enough to clarify the tool's side effects.

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 purpose sentence followed by a clean, scannable parameter list. Every line adds value, and the most important usage line is front-loaded. There is no redundant or extraneous text.

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 that the output schema exists and the description covers all five parameters with meaningful semantics, the definition is mostly complete for a caption-setting operation. It lacks broader behavioral context such as error conditions or prerequisites beyond doc_id, but the core information an agent needs to invoke the tool is present.

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

Parameters5/5

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

Schema description coverage is 0%, and the description compensates fully by explaining every parameter: doc_id provenance, side value mapping, width units, gap meaning, and cap_full_size behavior. This goes well beyond the bare input schema and gives an agent the necessary meaning to set values correctly.

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

Purpose4/5

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

The description states a specific verb and resource: 'Set caption on a table or image.' This clearly identifies the tool's core purpose without being a tautology. It does not explicitly differentiate from sibling tools, but the caption-setting function is distinct enough among the sibling list.

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 guidance is provided about when to use this tool versus alternatives. The doc_id parameter hints that a document must already be open, but there is no explicit context about prerequisites, exclusions, or which sibling tools to prefer instead.

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

set_char_shapeC

Set extended character shape properties (spacing, ratio, shadow, outline, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
propertiesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It indicates a mutation operation but does not disclose side effects, whether the change applies to the current selection, how properties interact with existing shapes, or whether any validation or normalization occurs. The arbitrary 'properties' object makes these gaps significant.

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

Conciseness4/5

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

The description is a single efficient sentence with no redundant phrasing. It front-loads the action and resource, and the example list adds useful signal despite the brevity. Some additional structural elaboration would improve it, but there is no waste.

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?

Given the free-form properties object and the large sibling set of style and shape tools, the description is not sufficient for correct invocation. It lacks information about how doc_id relates to the document context, what shape entities are affected, and what valid property keys and value structures look like. The output schema may cover return values, but the input side is severely under-specified.

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

Parameters2/5

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

Schema coverage is 0%, and the description provides only a few examples of property kinds without defining valid keys or value formats. The 'properties' parameter is an unrestricted object, so the agent is left without enough information to construct a valid call. The examples add slight value but do not compensate for the opaque schema.

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

Purpose4/5

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

The description uses a specific verb ('Set') and resource ('extended character shape properties') and gives concrete examples ('spacing, ratio, shadow, outline'). This makes the core purpose understandable, though it does not explicitly differentiate it from sibling tools like set_text_style or hwp_shape_param_action.

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 guidance is provided on when to use this tool versus the many sibling style tools. The description does not mention exclusions, prerequisites, or alternatives, so an agent would have to infer when 'extended character shape properties' is the correct choice among tools like set_text_style, set_paragraph_style, and hwp_shape_param_action.

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

set_columnsC

Set multi-column layout for current section.

ParametersJSON Schema
NameRequiredDescriptionDefault
gapNo
countNo
doc_idYes
column_typeNo
line_separatorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

There are no annotations to carry the behavioral burden. The description only states that it sets the layout, but does not disclose whether existing section column settings are overwritten, what values are valid, whether a cursor position or selection is required, or what side effects occur. For a mutation tool, this is a significant gap.

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

Conciseness4/5

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

One clean sentence with no filler and the key information front-loaded. It is appropriately short, though it is concise partly because it omits useful detail.

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?

With five parameters, one required, no annotations, and 0% schema coverage, the description is too thin to fully support correct invocation. An output schema exists, but it cannot compensate for missing usage guidance, parameter semantics, or behavioral context.

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

Parameters2/5

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

Schema description coverage is 0% and the description does not explain count, gap, column_type, or line_separator. The phrase 'multi-column layout' provides some context, and parameter names are guessable, but the description adds little explicit semantic value beyond the schema itself.

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

Purpose4/5

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

States a specific action ('Set') and resource ('multi-column layout for current section'), which is clear and legible. It does not explicitly distinguish itself from broad sibling tools like set_section_definition, so it falls short of a 5.

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?

The description identifies the target ('current section') but provides no guidance on when to choose this tool over related siblings or when to use set_section_definition instead. No exclusions, prerequisites, or alternative routing are given.

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

set_compatible_documentB

Set document compatibility mode.

Args: doc_id: Document ID from open_document target_program: Target program identifier (0=HWP) current_version: Optional version number for compatibility

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
target_programNo
current_versionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only states the action and gives parameter meanings, but does not mention side effects, whether the document is modified permanently, error conditions, or required preconditions. The hint that doc_id comes from open_document is useful but is more of a parameter semantic than behavior.

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

Conciseness4/5

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

The description is concise and front-loaded with the main action, followed by a structured Args list. It avoids unnecessary words, though the parameter explanations are terse. The structure is clear and easy to parse.

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

Completeness3/5

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

The description is adequate but incomplete. It covers the source of doc_id and one program identifier, but does not explain the return value or any behavioral effects. Since an output schema exists, the return format is handled elsewhere, but the description still lacks critical context about side effects or prerequisites beyond the doc_id hint.

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 0%, so the description must compensate. It explains all three parameters: doc_id as 'from open_document', target_program as '0=HWP' (though incomplete for other values), and current_version as optional. This adds meaning beyond the bare schema, giving the agent actionable context.

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

Purpose4/5

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

The description states a clear verb and resource: 'Set document compatibility mode.' It is specific enough to distinguish from common sibling tools like convert_to_pdf or set_view_properties, though it doesn't explicitly differentiate itself. The purpose is 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?

The description provides no guidance on when to use this tool versus alternatives. It simply states the action and lists parameters without any context on prerequisites, conditions, or exclusions. An agent would have to infer usage from the name and parameter hints.

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

set_current_field_nameC

Set the current field name at cursor position.

Args: doc_id: Document ID from open_document name: Field name to set option: Field option flags prev: Previous field name next: Next field name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
nextNo
prevNo
doc_idYes
optionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only says what is set, not what happens to existing field names, whether the operation is destructive, or what option/prev/next actually do. For a mutating operation, this is a significant gap.

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

Conciseness4/5

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

The description is appropriately short and front-loaded with the core action, followed by a structured argument list. It contains no filler, though the argument lines are skeletal and could be expanded without harming conciseness.

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?

The tool has five parameters, no annotations, and a terse description, so an agent lacks enough context to call it correctly in non-obvious cases. The output schema may explain return values, but the meaning of option flags and the purpose of prev/next remain unexplained, making this incomplete for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the bare input schema. It adds only terse labels like 'Field name to set' and 'Previous field name,' but does not explain allowed values, option flag semantics, or the relationship between prev/next. This is minimal compensation.

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

Purpose4/5

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

The description uses a concrete verb and resource: 'Set the current field name at cursor position,' which tells an agent what operation is performed. It is clear enough to distinguish this from many siblings, though it does not explicitly contrast it with field-related tools like rename_field or modify_field_properties.

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 guidance is given about when to use this tool instead of alternatives such as rename_field, modify_field_properties, or move_to_field. The description only states the operation and lists arguments, leaving the agent to infer appropriate usage from the short phrase 'at cursor position.'

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

set_cursor_positionC

Set cursor to a specific position.

Args: doc_id: Document ID from open_document list: List number para: Paragraph number pos: Position within paragraph

ParametersJSON Schema
NameRequiredDescriptionDefault
posYes
listYes
paraYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says the cursor will be set; it does not mention side effects on selection, whether the position is zero- or one-based, what happens with invalid positions, or whether the document must be the active open document. For a mutating operation this is a meaningful gap.

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 extremely compact, with a clear one-line purpose followed by a neatly formatted argument list. There is no filler or redundant prose; every line contributes information. This is an example of appropriate conciseness.

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?

For a cursor-positioning tool with no annotations and multiple closely related sibling tools, the description should clarify when this is the right choice, how it differs from move_cursor, and what coordinate or indexing semantics apply. It provides none of that. The doc_id hint is helpful but insufficient for an agent to confidently select and invoke the 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?

The schema provides no parameter descriptions (0% coverage), so the description's argument list adds necessary meaning: doc_id is identified as coming from open_document, and list, para, and pos are given basic glosses. However, the explanations are terse and do not clarify indexing conventions, units, or valid ranges, so the compensation is only partial.

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

Purpose4/5

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

The description states a clear verb and resource: 'Set cursor to a specific position.' The parameter names and argument list make the absolute-coordinate nature apparent. However, it does not explicitly distinguish this from the sibling move_cursor, which could also be interpreted as setting the cursor position.

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?

There is no guidance about when to use this tool versus alternatives like move_cursor or set_pos_by_set. The description assumes the agent knows this is for absolute positioning, and it does not mention constraints such as requiring an open document or relationship to selection state.

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

set_drm_authorityC

Set DRM authority level.

Args: level: DRM authority level value

ParametersJSON Schema
NameRequiredDescriptionDefault
levelYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Set DRM authority level' and does not explain side effects, valid level ranges, permission requirements, reversibility, or impact on the document.

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

Conciseness3/5

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

The text is minimal and front-loaded, with no filler. However, it is so sparse that it reads more like under-specification than effective conciseness, especially for a tool whose key parameter semantics are undocumented.

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?

Although this is a low-complexity one-parameter tool and an output schema exists, the description still omits essential context: what DRM authority levels are, what values are accepted, and what setting them does. This is inadequate for reliable agent invocation.

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

Parameters2/5

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

The schema provides only an integer named 'level' with 0% description coverage. The description adds 'DRM authority level value,' which mostly restates the parameter name and does not clarify what integer values mean or what levels are valid.

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

Purpose4/5

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

The description states a clear action and resource: 'Set DRM authority level.' It conveys the tool's purpose without ambiguity, but it does not distinguish this tool from security-related siblings like set_file_security or set_compatible_document.

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?

There is no guidance on when to use this tool versus alternatives. No context, prerequisites, or exclusions are provided, leaving the agent to infer when setting DRM authority is appropriate.

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

set_drop_capA

Set drop cap (initial letter decoration) for paragraph.

Args: doc_id: Document ID from open_document style: Drop cap style (0=none, 1=embedded, 2=marginal) spacing: Spacing around drop cap in hwpunits face_name: Font face name face_color: Font color as HWP color value

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo
doc_idYes
spacingNo
face_nameNo
face_colorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It only says 'Set' and lists parameters; it does not disclose whether it replaces an existing drop cap, whether style=0 removes it, whether it applies to current selection/cursor, or what side effects occur.

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 purpose followed by an Args block. Every line adds distinct semantic value, with no filler or repetition of the tool name.

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?

All parameters are documented and an output schema exists, so return details are not needed. However, no argument identifies which paragraph is affected, leaving the essential operational detail implicit—likely the current cursor/selection—which is critical for a mutation tool.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates fully: it explains doc_id provenance, gives explicit style values (0=none, 1=embedded, 2=marginal), specifies hwpunits for spacing, and defines face_color as an HWP color value.

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 action ('Set'), the resource ('drop cap'), and the scope ('for paragraph'), with a helpful parenthetical definition ('initial letter decoration'). No sibling tool targets drop caps, so it is easily distinguished.

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?

There is no guidance on when to use this tool versus related paragraph/style tools, nor any exclusions or preconditions such as requiring a current cursor position or selection. The agent must infer usage context entirely from the parameter list.

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

set_engine_propertiesC

Set HWP engine properties (spell check, auto-save, etc.).

Args: doc_id: Document ID from open_document action_params: HEngineProperties fields to set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
action_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It says the tool 'Set' properties, implying mutation, but does not explain effects on the engine, whether changes are persistent, what happens if doc_id is invalid, or what response to expect.

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

Conciseness4/5

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

The description is short and front-loaded with the core purpose, followed by a concise Args section. Every sentence is useful, though the brevity comes at the cost of useful detail.

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?

For a setter tool with no annotations and a fully open action_params object, the description is incomplete. It does not list acceptable property fields, explain how values should be structured, or state when this tool is the right choice among many sibling setter tools.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds some meaning by labeling doc_id as 'Document ID from open_document' and action_params as 'HEngineProperties fields to set,' but action_params remains an open object with no enumerated or example field keys, leaving a major ambiguity.

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

Purpose4/5

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

The description states a specific verb and resource: 'Set HWP engine properties' with examples like spell check and auto-save. It is clear about what the tool does, though it does not explicitly distinguish itself from the sibling set_hwp_property, so it stops short of full differentiation.

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 guidance is provided on when to use this tool versus alternatives. The description mentions doc_id comes from open_document, which is a mild contextual clue, but it never says when to prefer set_engine_properties over set_hwp_property or other property-setting tools.

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

set_field_ctrl_propertiesB

Set field control properties.

Args: doc_id: Document ID from open_document command: Field command string editable: 1=editable, 0=read-only field_dirty: 1=mark as modified user: User identifier string

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
doc_idYes
commandNo
editableNo
field_dirtyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/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 behavioral burden. It indicates a mutation operation ('Set') but does not disclose side effects, persistence, required permissions, or what happens to the document. The parameter list hints at behavior but doesn't explain the actual effect.

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

Conciseness4/5

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

The one-line purpose followed by an Args block is clean and front-loaded. There is no wasted text, though the overall content is skeletal and could include more context without becoming bloated.

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?

With no annotations, five parameters, and zero schema description coverage, the description needs to be nearly self-sufficient. It lists arguments but fails to explain the semantics of 'field control properties', the nature of the command string, or why the user parameter is needed. An agent may not be able to call this tool correctly without additional domain knowledge.

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 description coverage is 0%, and the description compensates by adding meaning to every parameter: doc_id ties to open_document, editable maps 1/0 to editable/read-only, and field_dirty maps 1 to 'mark as modified'. The 'command' explanation is terse but still provides more than the schema.

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

Purpose4/5

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

The description opens with 'Set field control properties', which names a clear verb and resource. However, it does not distinguish this tool from siblings like set_form_properties or modify_field_properties, so the agent must infer what 'field control' means in this document-engine context.

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?

There is no guidance on when to use this tool or when to prefer a sibling. The description only states what the tool does and lists arguments, leaving the agent to guess the appropriate call context.

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

set_file_securityB

Set file security — restrict copy/print.

Args: doc_id: Document ID from open_document password: Security password no_copy: 1 to disable copy no_print: 1 to disable print

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
no_copyNo
no_printNo
passwordNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It mentions the mutating action and the effect of the flags, but does not state whether changes are reversible, whether a password is required for restrictions to take effect, or what scope the security applies to.

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 front-loaded with the purpose, followed by a minimal arg list. Every line contributes necessary information without fluff or repetition.

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

Completeness3/5

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

The action and all parameters are covered, and an output schema exists to handle return-value documentation. However, with no annotations and no guidance on when to use this tool relative to security-related siblings, some operational context remains missing.

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 description coverage is 0%, but the description compensates by documenting all four parameters: doc_id, password, no_copy, and no_print. It adds useful context such as 'Document ID from open_document' and clarifies that 1 disables copy/print, though it leaves null/0 semantics implicit.

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

Purpose4/5

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

The description clearly states a specific verb ('Set') and resource ('file security'), with a clarifying detail 'restrict copy/print.' It is unambiguous about the intended operation, though it does not explicitly differentiate this from security-related siblings like set_password or set_drm_authority.

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 explicit when-to-use, prerequisites, or comparisons to alternatives are provided. The phrase 'restrict copy/print' restates the tool's purpose rather than explaining when this tool should be chosen over related security or DRM tools.

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

set_footnote_styleC

Configure footnote style (numbering, separator).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
number_typeNo
number_formatNo
separator_typeNo
separator_lengthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/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, but it only says 'Configure footnote style' without mentioning mutation effects, required document state, whether it overwrites existing style settings, or whether it applies to selected footnotes or the entire document. This is a meaningful gap for a style-changing operation.

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

Conciseness4/5

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

The description is a single short sentence with no filler, and the main action and resource are front-loaded. It is concise, though slightly too terse to substitute for missing schema-level documentation.

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?

For a tool with five parameters, no annotations, no schema descriptions, and opaque integer-valued parameters, this one-line description is insufficient. The presence of an output schema removes some need to describe return values, but the description still lacks essential detail about valid enum-like values and behavioral constraints.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only adds the general categories 'numbering' and 'separator'. While that weakly maps to number_type/number_format and separator_type/separator_length, it does not explain what the integer values mean, what combinations are valid, or how defaults behave, leaving the agent without enough semantic information to confidently populate parameters.

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

Purpose4/5

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

The description states a specific verb, 'Configure', and a clear resource, 'footnote style', while naming two concrete aspects: numbering and separator. This is clear enough about what the tool does, though it does not explicitly differentiate itself from the sibling set_numbering_style or other style tools.

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?

The description gives no guidance on when to use this tool versus alternatives such as set_numbering_style, set_paragraph_style, or set_text_style. There is no explicit context, condition, or exclusion, so an agent is left to infer usage solely from the resource name.

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

set_form_propertiesC

Set properties on the currently selected form control.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
textNo
itemsNo
doc_idYes
checkedNo
selected_indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/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 indicates a mutation operation but does not describe which properties are affected, whether changes are reversible, what validation occurs, or what errors may arise. This is a significant gap for a write tool with no annotation safety signals.

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

Conciseness4/5

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

The description is one efficient sentence with no filler, and the main action is front-loaded. However, it is arguably too terse for a tool with six parameters and no annotation support, so it earns a strong conciseness score but not full marks for structure.

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?

The tool has six parameters, no annotations, and a minimal description that does not explain property semantics, selection prerequisites, or interaction with related form tools. Given the complexity and absence of structured guidance, the description is incomplete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter-level meaning. It does not mention name, text, items, checked, selected_index, or doc_id, so it fails to compensate for the schema's lack of descriptions even though the parameter names and titles are somewhat self-explanatory.

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

Purpose4/5

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

The description clearly states a specific verb and resource: setting properties on a form control, and specifies the scope ('currently selected'). It is distinguishable from generic property-setting tools like set_hwp_property, though it does not explicitly name a sibling or contrast with them.

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?

There is no guidance on when to use this tool versus alternatives such as insert_form_control, get_form_data, or set_field_ctrl_properties. The phrase 'currently selected' implies a prerequisite, but it does not explain how selection is established or what happens if no control is selected.

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

set_hwp_propertyB

Set a property on HWP COM object.

Args: property_name: Property name to set value: Value to assign (string, int, or bool)

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
property_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It indicates a mutation ('Set') but does not state permissions, side effects, whether the property must already exist, or what happens on invalid property names or value types. No behavioral context beyond the basic mutation is provided.

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 front-loaded with the core purpose, followed by a two-line parameter list. Every sentence contributes necessary information and there is no filler or repetition.

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?

Although an output schema exists, the description is incomplete for a generic COM property setter. It does not enumerate which properties can be set, whether this tool is intended only for dynamic/low-level access, or how errors are handled. An agent has no way to know if a particular property_name is valid without external knowledge.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds minimal semantic labels ('Property name to set', 'Value to assign') but provides no valid property names, value constraints, format expectations, or coercion behavior. This is only slightly more informative than the raw schema titles.

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 action: 'Set a property on HWP COM object.' The verb and resource are explicit, and the tool is immediately distinguishable from sibling tools like get_hwp_property by its setter purpose. No ambiguity about what this tool does.

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?

The description gives no guidance about when to use this tool versus alternatives. It does not mention that this is a generic low-level setter, nor does it distinguish it from more targeted setters like set_engine_properties or set_view_properties. The agent must infer usage entirely from the name.

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

set_master_pageC

Set master page settings for the section.

Args: doc_id: Document ID from open_document type: Master page type apply_to: Apply target (0=current section) front: Front page flag duplicate: Duplicate flag

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo
frontNo
doc_idYes
apply_toNo
duplicateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

The description only states the operation and labels the parameters; it does not say what 'front' or 'duplicate' flags do behaviorally, what side effects occur, or whether valid values for type and apply_to are limited. With no annotations, this minimal behavior disclosure is a real gap, though nothing in the description contradicts the absence of annotations.

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

Conciseness4/5

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

The definition is compact and front-loaded: a one-line purpose followed by a short Args list. It is scannable and contains no filler, though the terseness limits how much semantic value each line provides.

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?

For a 5-parameter HWP document operation with no annotations and no schema descriptions, this is under-specified: the core type parameter is unexplained and apply_to/front/duplicate behaviors are only hinted. An agent could set defaults but cannot know valid values or consequences, even though an output schema exists for return values.

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 Args list adds some meaning over the raw schema: doc_id is tied to open_document, apply_to is explained as '0=current section', and front/duplicate are identified as flags. However, type is only restated as 'Master page type' and no valid values or flag semantics are given, so the description only partially compensates for 0% schema coverage.

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

Purpose4/5

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

The opening sentence 'Set master page settings for the section' names a specific action and target resource, so an agent knows what operation is intended. It does not contrast with nearby page/section tools such as set_page_style or set_section_definition, so sibling differentiation is absent.

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 when-to-use guidance is provided beyond the task statement. There are no exclusions, prerequisites, or references to alternatives in the sibling set, leaving an agent to guess whether set_master_page is the right tool for a given page/section modification.

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

set_message_box_modeA

Set message box display mode.

Use 0x00020000 to suppress all dialogs.

Args: mode: Message box mode flags

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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 usefully reveals that 0x00020000 suppresses all dialogs, but it does not describe side effects, persistence, how to restore normal behavior, or whether the mode flags are additive. For a mutation tool with zero annotation coverage, this is a significant gap.

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 short, front-loaded with the action, and every sentence serves a purpose. The example value is high-value, and the Args line is minimal without being bloated.

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 simple one-parameter setter, this is nearly complete: the agent knows the action, the parameter type, and at least one important flag value. The main omission is lack of guidance on reading the current mode via get_message_box_mode and on default behavior, but the low complexity keeps this from being a major deficiency.

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?

The schema only defines mode as an integer, so the description adds real meaning by calling it 'Message box mode flags' and by providing the concrete 0x00020000 value with its effect. This meaningfully compensates for the 0% schema description coverage, even though it does not enumerate the full set of valid flags.

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

Purpose4/5

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

The description uses a specific verb ('Set') and a clear resource ('message box display mode'), so an agent can tell this is the write counterpart to get_message_box_mode. It is not a tautology and avoids ambiguity, though it does not explicitly name the sibling for contrast.

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 when to use it — when the caller wants to change the message box display mode — and gives a concrete example value (0x00020000 to suppress dialogs). However, it does not explicitly state when not to use it or mention alternatives such as get_message_box_mode for reading the current mode.

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

set_numbering_styleC

Apply numbering style to current paragraph.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNo
doc_idYes
start_numberNo
numbering_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description must carry the full burden of disclosing side effects, scope, and parameter behavior. It only says it applies to the current paragraph, but there is no mention of whether it replaces existing numbering, how the 'start_number' or 'level' affect output, or any other behavioral implications. The mutation is implied but not detailed.

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

Conciseness2/5

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

The description is a single short sentence, which is concise, but it lacks structure and substance. It essentially restates the tool name without adding useful details. Under-specification is not the same as good conciseness; the sentence wastes the opportunity to convey essential information.

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

Completeness1/5

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

Given the presence of four parameters with no schema descriptions, no annotations, and a complex task (numbering style), the description is grossly incomplete. It does not explain the tool's behavior, parameter semantics, or its relationship to sibling tools, making it nearly impossible for an agent to call correctly without additional context.

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

Parameters1/5

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

The schema description coverage is 0%, and the description does not mention any of the four parameters (level, doc_id, start_number, numbering_type). There is no explanation of what these parameters mean, their defaults, or how they influence the numbering style. The description provides zero value for parameter understanding.

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

Purpose4/5

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

The description states a clear action ('apply numbering style') and a specific target ('current paragraph'). It is distinct from siblings like set_bullet_style, though it doesn't explicitly differentiate between numbering and bullets. The purpose is unambiguous enough for an agent to understand the core operation.

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 guidance is given on when to use this tool versus alternatives like set_bullet_style, insert_auto_number, or set_page_number. There is no mention of prerequisites, context, or exclusions, leaving the agent to guess the appropriate scenario for applying a numbering style.

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

set_page_borderC

Set page border and fill color.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
fill_colorNo
border_colorNo
border_widthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/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 only states that the tool 'set's' page border and fill color, but does not explain how null values affect existing settings, whether the border is additive or replacing, or any side effects. This is a significant gap for a mutating operation.

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

Conciseness4/5

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

The description is a single, focused sentence with no redundant wording. It front-loads the action and resource, making it easy to parse, though the brevity sacrifices useful detail.

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?

Even though the tool has an output schema and a small parameter set, the description lacks crucial invocation context: parameter semantics, null behavior, and relationship to other page-styling tools. An agent cannot confidently determine how to supply colors or widths, so the definition is incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only mentions 'border and fill color,' which maps loosely to border_color and fill_color but ignores doc_id and border_width. It does not explain color format, width units, default behavior, or null semantics, so it fails to compensate for the absence of schema-level descriptions.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Set page border and fill color.' This clearly identifies the operation and object, and it is distinguishable from sibling tools like set_table_border_adv or set_page_style by focusing on the page border and fill. It does not explicitly name a sibling to differentiate from, so it misses a perfect score.

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?

The description provides no guidance on when to use this tool versus alternatives such as set_page_style, set_section_definition, or set_watermark. There are no exclusions, prerequisites, or contextual hints beyond the action itself, leaving the agent to infer usage from the name.

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

set_page_hidingC

Set page element hiding (header, footer, border, etc.).

Args: doc_id: Document ID from open_document fields: Bitmask of elements to hide

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
fieldsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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 states the operation and that fields is a bitmask, but it does not clarify side effects, whether the setting applies to the current page or all pages, whether it is reversible, or how the bitmask values map to specific elements.

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

Conciseness4/5

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

The description is compact and well-structured, front-loading the purpose and then listing arguments. It contains no redundant content, though it is arguably too sparse to fully support correct invocation.

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?

For a tool with a bitmask parameter and no schema-level parameter descriptions or enums, the description is incomplete. The output schema does not compensate for missing bitmask semantics, usage context, or behavioral details, so an agent cannot reliably construct a correct call.

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 0%, so the description must compensate. It does add meaning by explaining doc_id as coming from open_document and fields as a bitmask of elements to hide, but it fails to enumerate bitmask values or provide examples, leaving a key parameter under-specified.

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

Purpose4/5

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

The description clearly states a specific action and resource: 'Set page element hiding' with examples (header, footer, border). It is more informative than a tautology and conveys the tool's role, though it does not explicitly differentiate itself from related siblings like set_header_footer or set_page_border.

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?

There is no guidance on when to use this tool versus alternatives, and no exclusions or prerequisites beyond the implication that a document must be open. The arg note 'doc_id: Document ID from open_document' hints at context but does not explain when this operation is appropriate.

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

set_page_numberC

Insert page number control.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
formatNo
positionNo
start_numberNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/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 clearly implies a mutation by inserting a control, but it does not state where the control is inserted, whether existing page numbers are replaced, or what side effects might occur. This is a significant gap for a document-modifying tool.

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

Conciseness3/5

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

The description is a single clear sentence with no wasted words, so it is concise. However, it is so sparse that it omits essential context about parameters and behavior, making it under-specified rather than efficiently complete.

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?

For a tool with four parameters and zero schema description coverage, this description is not sufficient for correct invocation. The output schema exists, so return-value details are not needed, but the description still fails to convey parameter semantics, insertion behavior, or when to use this tool over related siblings.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate for the undocumented parameters, but it does not. It never explains what 'format', 'position', or 'start_number' mean, what values they accept, or how they affect the inserted page number control. The agent is left guessing about all four parameters.

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

Purpose4/5

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

The description identifies a specific action, 'Insert', and a specific resource, 'page number control', making the basic purpose clear. However, it does not distinguish this tool from siblings like set_page_num_ctrl or insert_auto_number, which may serve similar or overlapping purposes.

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?

There is no guidance on when to use this tool versus alternatives such as set_page_num_ctrl or insert_auto_number. The description does not mention prerequisites, document context, or any scenario where this tool is preferred, leaving usage entirely to inference.

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

set_page_num_ctrlB

Set page numbering control — restart page number.

Args: doc_id: Document ID from open_document page_starts_on: Page number to start on

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
page_starts_onNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/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 only indicates a mutating action ('Set'/'restart') without explaining scope, side effects, reversibility, or impact on existing page numbering.

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

Conciseness4/5

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

The description is concise and front-loaded with the core action, and the Args list is compact. The first line is slightly redundant with the tool name, but no information is wasted.

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

Completeness3/5

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

For a simple two-argument tool, the key parameters are covered and an output schema exists. However, the lack of behavioral detail and the absence of differentiation from set_page_number leave the description only minimally complete.

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?

The Args section adds meaning beyond the schema: doc_id is identified as coming from open_document, and page_starts_on is explained as the page number to start on. This compensates for the 0% schema description coverage, though it does not mention the default value.

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

Purpose4/5

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

The description states a specific action and resource: 'Set page numbering control — restart page number.' It clearly indicates what the tool does, but it does not differentiate it from the sibling set_page_number, so it is not fully distinctive.

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 phrase 'restart page number' implies the intended use case, and doc_id is tied to open_document, giving a prerequisite. However, there is no explicit guidance on when to use this tool versus set_page_number or related numbering tools.

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

set_page_styleB

Set page style for the document.

Args: doc_id: Document ID from open_document orientation: "portrait" or "landscape" margin_top: Top margin in pt margin_bottom: Bottom margin in pt margin_left: Left margin in pt margin_right: Right margin in pt

Returns: Style confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
margin_topNo
margin_leftNo
orientationNo
margin_rightNo
margin_bottomNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral implications on its own. It states the operation is a 'set' (mutating) and lists what values can be changed, but it does not explain whether unspecified fields are preserved or reset, whether the change is reversible, or what happens on invalid input.

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

Conciseness4/5

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

The description is compact and well-organized with a clear Args list and a Returns line. Each parameter earns its place, and the format is easy to parse, although 'Style confirmation' is vague.

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

Completeness3/5

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

The description provides enough to make a basic call: doc_id, orientation, and margins are all explained. However, it omits behavioral details like default handling of omitted margin values, whether orientation and margins can be set independently, and what 'Style confirmation' precisely contains, leaving some uncertainty for an agent.

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 description coverage is 0%, so the description carries the burden of explaining parameters. It does this well by describing doc_id provenance, orientation's allowed values, and specifying margins in points. It adds meaning beyond the raw schema, though it could note that all parameters except doc_id are optional.

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

Purpose4/5

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

The description clearly states the operation: setting the page style of a document, with a specific verb and resource. The enumerated arguments (orientation, margins) make the scope concrete, but it does not explicitly distinguish itself from related siblings like set_page_border, set_columns, or set_section_definition.

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?

The only usage guidance is the prerequisite that doc_id comes from open_document. There is no indication of when this tool should be preferred over similar page-layout tools, nor any mention of conditions or exclusions.

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

set_paragraph_styleB

Set paragraph formatting for the current paragraph.

Args: doc_id: Document ID from open_document align: Text alignment ("left", "center", "right", "justify") line_spacing: Line spacing percentage (e.g., 160 = 160%)

Returns: Style confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
alignNo
doc_idYes
line_spacingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of explaining behavior. It discloses that this is a mutation affecting the current paragraph and lists align and line_spacing, but it does not mention side effects, reversibility, persistence, or how the current paragraph is determined.

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: one clear purpose sentence followed by concise Args and Returns sections. Every line adds useful information with no filler.

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

Completeness3/5

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

All parameters are documented and an output schema exists, so the core calling contract is present. However, the description lacks operational context such as how 'current paragraph' is determined, whether selection is used, and how this tool differs from styling siblings.

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 description coverage is 0%, so the description must compensate. It does by explaining all three parameters: doc_id's source, align's allowed values, and line_spacing's percentage semantics with an example.

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

Purpose4/5

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

The description clearly states the verb and resource: 'Set paragraph formatting for the current paragraph.' It is distinct enough from character-level tools like set_text_style, but it does not explicitly name a sibling or contrast itself with similar styling tools.

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?

The description provides no guidance on when to use this tool versus alternatives like set_text_style or set_char_shape. It only implies a prerequisite through 'doc_id: Document ID from open_document', but does not explain when paragraph-level formatting is appropriate or what the 'current paragraph' depends on.

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

set_passwordC

Set document password.

Args: doc_id: Document ID from open_document password: Password string to set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/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, but it only states the bare mutation. It does not explain whether the password protects opening or modifying the document, whether it replaces an existing password, or what side effects occur on save.

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 minimal and front-loaded: a single purpose sentence followed by a compact Args list. Every sentence earns its place with no unnecessary filler.

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?

For a security-sensitive mutation with no annotations, the description is too thin. It omits behavioral consequences, security caveats, and the important ambiguity of whether the password is for opening or editing, and the noted output schema does not compensate for this missing context.

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 0%, so the description must compensate for missing parameter meaning. It usefully identifies doc_id as a document ID from open_document and password as the string to set, but it adds no constraints on password length, encoding, or allowed values beyond the schema's string type.

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

Purpose4/5

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

The description uses a specific verb and resource ('Set document password') and clearly names both required arguments. However, it does not explicitly distinguish itself from nearby sibling tools like set_file_security, so an agent may not know which password-related tool to select.

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?

There is no when-to-use guidance or comparison to alternatives. The only contextual hint is that doc_id comes from open_document, but the description never tells the agent when to prefer set_password over set_file_security or set_drm_authority.

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

set_pos_by_setC

Set cursor position using list/para/pos values.

Args: doc_id: Document ID from open_document list: List index para: Paragraph index pos: Position within paragraph

ParametersJSON Schema
NameRequiredDescriptionDefault
posYes
listYes
paraYes
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden, but it only states the operation and parameter meanings. It doesn't disclose whether the cursor move affects the current selection, whether it is absolute or relative, what happens with invalid indices, or any side effects on the document state.

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

Conciseness4/5

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

The description is appropriately short and front-loaded with the core operation before parameter details. The Arg list wastes no tokens, though it mostly rephrases the parameter names, so it is concise but slightly thin rather than exemplary.

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?

Given the 0% schema coverage, the absence of annotations, and a large sibling family, the description provides the minimum to attempt a call but not enough to choose or use it safely. It lacks index conventions, prerequisite conditions, and any reason this tool is the right one among set_cursor_position or move_cursor.

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 schema has 0% description coverage, so the parameter descriptions must compensate. The Arg list adds modest meaning: doc_id comes from open_document, list/para are indexes, and pos is a position within a paragraph. However, it stops short of explaining zero/one-based indexing, valid ranges, or what 'pos' counts, so compensation is incomplete.

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

Purpose4/5

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

The description opens with a specific verb ('Set') and resource ('cursor position'), and identifies the addressing scheme (list/para/pos). It is clear on its own, but it doesn't distinguish this tool from the sibling set_cursor_position or get_pos_by_set beyond the addressing notation, so it loses the fifth point.

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 guidance is given about when to prefer this tool over set_cursor_position, move_cursor, or get_pos_by_set; there are no explicit prerequisites or exclusions. The only implicit context is 'doc_id from open_document', which hints that a document must already be open but does not explain how to choose this variant.

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

set_section_definitionC

Set extended section definition (gutter, text flow, start page).

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
gutter_typeNo
gutter_widthNo
start_page_numNo
text_flow_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/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 discloses that the tool mutates section settings, but it does not state whether it updates the current section, requires a lock, affects existing content, or what happens when optional parameters are null.

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

Conciseness4/5

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

The description is a single compact sentence with no filler or redundancy. It is front-loaded with the action and resource, though its brevity comes at the cost of operational detail.

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, this is a mutation tool with five parameters, no annotations, and zero schema description coverage. The description does not provide enough context for an agent to know valid values, side effects, or when to invoke it, leaving substantial gaps for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions gutter, text flow, and start page, which loosely maps to four of the parameters, but it does not explain the meaning of integer type codes, units for gutter width, or the effect of null defaults.

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

Purpose4/5

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

The description uses a specific verb ('Set') and identifies a clear resource ('extended section definition') while naming representative fields (gutter, text flow, start page). This distinguishes it from many sibling setter tools at a high level, though it does not deeply differentiate it from set_page_style or related section/page configuration tools.

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?

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no indication of how this relates to sibling tools like set_page_style or set_columns. The intended use is only implied by the tool name and terse description.

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

set_tab_definitionC

Configure tab stops for current paragraph.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
tab_stopsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'configure tab stops' and does not reveal what happens when tab_stops is null, whether existing tab stops are replaced or merged, or what side effects occur on the document. This is a mutation operation with minimal behavioral context.

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

Conciseness4/5

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

The description is a single short sentence and is front-loaded with the action and target. It contains no filler or redundancy, though its brevity contributes to the lack of detail scored elsewhere.

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?

For a configuration tool with no annotations, the description is under-specified: it does not define what 'current paragraph' means, how tab stops should be structured, or what null means. The presence of an output schema reduces the need to describe return values, but the missing operational context is significant.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only mentions 'tab stops' generically. It does not explain the required doc_id parameter, the structure of tab_stops objects, or the meaning of the null default. The description adds only minimal context over the raw schema.

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

Purpose4/5

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

The description states a specific verb ('Configure') and resource ('tab stops') and scopes it to the current paragraph, which allows an agent to see this is a paragraph-level tab-stop operation. It does not explicitly distinguish it from siblings like set_section_definition or set_paragraph_style, but the resource 'tab stops' is distinct enough to establish purpose.

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?

There is no guidance on when to use this tool versus alternatives, no prerequisite conditions, and no exclusion criteria. The phrase 'for current paragraph' implies a context, but the description does not clarify how that context is determined or when this tool should be preferred over related formatting tools.

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

set_table_border_advA

Set border style for an entire table.

Args: doc_id: Document ID from open_document table_index: Index of the table border_width: Border width in pt border_color: Border color in hex border_style: Style ("solid", "dashed", "dotted", "double", "none") outer_only: Only set outer borders

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
outer_onlyNo
table_indexYes
border_colorNo#000000
border_styleNo
border_widthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral disclosure burden. It states the core behavior (setting border style) and clarifies the outer_only behavior, but it does not mention whether existing borders are overwritten, whether the document must already be open, or any side effects. This is adequate but not deeply transparent.

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 front-loaded with the main purpose. The Args block is a clean list where each line adds one piece of parameter information without padding or redundancy. Every sentence earns its place.

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 straightforward table-border mutation tool with an output schema present, the description covers all parameters and the operation's scope. It lacks alternative routing and deeper caveats, but for invoking the tool correctly, an agent has enough information about what to pass and what the tool does.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must explain all parameters, and it does. It provides units for border_width (pt), format for border_color (hex), enumerates allowed border_style values, and explains outer_only. Each parameter receives meaningful semantic detail beyond its raw schema definition.

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 action: 'Set border style for an entire table.' It names a specific verb and resource, and the 'entire table' scope distinguishes it from cell-level alternatives like set_table_cell_style_adv and page-level tools like set_page_border.

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 phrase 'for an entire table' provides clear context for when this tool is appropriate: when the user wants table-wide borders. It does not explicitly name alternatives or exclusion conditions, but the scope is informative enough to guide selection among the many table-related siblings.

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

set_table_cell_style_advB

Set advanced style for a table cell (background, alignment).

Args: doc_id: Document ID from open_document table_index: Index of the table row: Row index col: Column index background_color: Background color in hex (e.g., "#FFFF00") vertical_align: Vertical alignment ("top", "middle", "bottom")

ParametersJSON Schema
NameRequiredDescriptionDefault
colYes
rowYes
doc_idYes
table_indexYes
vertical_alignNo
background_colorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It indicates a mutation ('Set') but does not describe side effects, whether existing styles are overwritten, how null values behave, or any prerequisites beyond doc_id. This is a significant gap for a style-mutating tool.

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 front-loaded with the main purpose, followed by an organized parameter list. Every sentence serves a purpose, and there is no redundant or filler content.

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

Completeness3/5

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

An output schema exists, so return-value details are not required. However, given the mutating nature and the number of parameters, the description lacks key context such as how null values are handled, whether the table must already be open, and what happens if indexes are invalid. It is functional but not fully complete for a tool with zero annotations.

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 description coverage is 0%, so the description must add meaning, and it does. It explains doc_id as coming from open_document, gives a hex format example for background_color, and enumerates valid vertical_align values. This is helpful, though it stops short of explaining defaults, zero-based indexing, or behavior of null fields.

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

Purpose4/5

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

The description states a specific action ('Set advanced style for a table cell') and identifies the specific aspect (background, alignment). It is clearly distinct from sibling tools like set_table_cell_text or set_table_border_adv, though it doesn't explicitly differentiate itself from those alternatives.

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 usage by naming 'advanced style' and referencing doc_id from open_document, suggesting a prerequisite workflow. However, it does not explicitly state when to use this tool versus set_table_cell_text, set_table_border_adv, or other cell-related tools, leaving the choice to inference.

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

set_table_cell_textC

Set the text of a specific table cell.

Args: doc_id: Document ID from open_document table_index: Index of the table row: Row index col: Column index new_text: New text content

Returns: Update confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
colYes
rowYes
doc_idYes
new_textYes
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/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 states 'Set the text' and 'Returns: Update confirmation' but does not disclose whether existing cell content is replaced, whether row/col are zero-based, what happens on invalid indices, or whether formatting is preserved.

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

Conciseness4/5

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

The description is compact and logically structured with a one-sentence purpose, an Args block, and a Returns line. It avoids fluff, though the Args section largely duplicates the schema.

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?

For a mutation tool with no annotations and minimal parameter details, the description omits important operational context: whether text is overwritten, how row/col are indexed, how to discover table_index, and any error behavior. It is adequate for a simple example but incomplete for safe autonomous invocation.

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 Args section lists all five parameters and gives a one-line meaning for each, with 'doc_id: Document ID from open_document' adding useful context. However, most entries simply restate the parameter names, and there is no detail on indexing conventions, allowed values, or relationships between params.

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

Purpose4/5

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

The description clearly states the action ('Set the text') and the resource ('a specific table cell'). It is distinct enough from siblings like set_table_cell_style_adv and merge_table_cells, though it does not explicitly call out that distinction.

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?

The description provides no guidance on when to use this tool versus alternatives such as get_table_data, set_table_cell_style_adv, or table_to_text. It does not mention prerequisites like obtaining table_index from get_tables or ensuring the document is open.

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

set_text_directionC

Set text direction (horizontal/vertical).

Args: doc_id: Document ID from open_document text_direction: 0=horizontal, 1=vertical landscape: Landscape mode flag

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
landscapeNo
text_directionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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 state what the operation affects (selection, current paragraph, whole document), whether it is reversible, or what side effects may occur. The parameter values are listed, but the actual behavior beyond 'set' is not disclosed.

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

Conciseness4/5

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

The description is brief and front-loaded with the core purpose, followed by a compact argument list. Each line adds information, though the landscape line could be more precise. Overall it is well-structured and easy to scan.

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?

With no annotations and only a minimal description, important context is missing: the scope of the text direction change, prerequisites, and the meaning of the landscape flag. While an output schema exists, the agent still lacks enough detail to invoke this tool safely and correctly in real document workflows.

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 0%, so the description must compensate. It adds useful meaning for doc_id ('from open_document') and text_direction (0=horizontal, 1=vertical). However, landscape is only described as 'Landscape mode flag', which is vague and does not clarify acceptable values or its relationship to text_direction.

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

Purpose4/5

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

The description clearly states the action ('Set text direction') and the resource being modified, with the horizontal/vertical options spelled out. It does not explicitly differentiate from siblings like set_text_style or set_paragraph_style, but the operation is specific enough to be understood.

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?

There is no guidance on when to use this tool versus alternatives, nor any mention of scope (selection, paragraph, document) or conditions. The only context given is that doc_id comes from open_document, which is helpful but insufficient for routing.

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

set_text_fileC

Set text content in the document from a string.

Args: doc_id: Document ID from open_document data: Text data to set format: Format type ("TEXT", "HWPML", "HTML", etc.) option: Additional format option string

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes
doc_idYes
formatNoTEXT
optionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/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 does not say whether existing content is overwritten, whether formatting is preserved or destroyed, what happens if the format is invalid, or whether the operation is reversible. The word 'Set' implies replacement, but that critical behavior is never explicitly disclosed.

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

Conciseness4/5

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

The description is compact: a one-sentence purpose followed by a terse argument list with no filler. The essential information is front-loaded, though the parameter lines are minimal and could be more informative without much added length.

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 lacks any mention of return value, error behavior, or side effects, and it does not address the ambiguity among sibling text tools. For a tool that mutates document content and has four parameters, an agent cannot safely choose and invoke it without more behavioral and usage context.

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 0%, so the description must compensate; it does list all four parameters and adds a little meaning: doc_id comes from open_document, format includes examples like 'TEXT' and 'HTML', and option is 'Additional format option string'. However, 'Text data to set' for data and the vague 'option' description provide only marginal semantic value and do not explain valid values, constraints, or format interaction.

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

Purpose4/5

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

The description states a clear verb ('Set') and resource ('text content in the document') with a source ('from a string'), so an agent can tell this is a text-content write operation. However, it does not differentiate from siblings like insert_text, replace_text, or set_table_cell_text, and it never states that this replaces or overwrites existing content.

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?

The only usage context is 'doc_id: Document ID from open_document,' which signals a prerequisite but does not say when to prefer this tool over insert_text, replace_text, or other text-modification tools. There is no explicit when-to-use guidance, no exclusions, and no explanation of what distinguishes 'set' from alternatives.

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

set_text_styleB

Set character formatting for the current selection.

Args: doc_id: Document ID from open_document font_name: Font name (e.g., "맑은 고딕") font_size: Font size in pt bold: Bold text italic: Italic text underline: Underline text color: Text color in hex (e.g., "#FF0000")

Returns: Style confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
boldNo
colorNo
doc_idYes
italicNo
font_nameNo
font_sizeNo
underlineNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavior. It indicates a mutating operation on the current selection and mentions a return value, but it does not say what happens to unspecified properties (e.g., whether null leaves them unchanged), whether the action is reversible, or what side effects occur. This is a meaningful gap for a formatting mutation tool.

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 with a clear one-sentence purpose, an organized Args list, and a Returns line. Each parameter line earns its place, and there is no redundant or filler content.

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

Completeness3/5

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

The description covers the purpose, all parameters, and the return value, and an output schema exists, so return details are not critical. However, it lacks context around when this tool is appropriate relative to style-related siblings and what happens to formatting properties not specified in the call. These gaps are significant for a tool operating on the current selection.

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?

Despite the schema having 0% description coverage, the description compensates by adding meaning to every parameter: doc_id provenance, font name example, font size unit, and color hex format. Bold/italic/underline get only tautological one-word descriptions, but overall the description provides useful guidance beyond the raw schema.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Set character formatting for the current selection.' It clearly identifies the object (character formatting) and scope (current selection), which distinguishes it from paragraph- or page-level styling tools. However, it does not explicitly differentiate itself from the similarly named sibling set_char_shape, so it stops short of full sibling differentiation.

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?

The description gives no explicit guidance on when to use this tool versus alternatives like set_paragraph_style or set_char_shape. It implies the need for a current selection, but it never states prerequisites, exclusions, or a decision rule. The agent is left to infer the appropriate scenario from the tool name and sibling list.

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

set_track_changesC

Configure track changes settings.

Args: doc_id: Document ID from open_document action_params: Optional HTrackChange parameter overrides

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
action_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral disclosure burden. It only says 'Configure track changes settings,' which implies mutation but does not explain whether tracking is enabled/disabled, whether changes persist, what side effects occur, or what response is returned. This is a significant gap for an unannotated setter tool.

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

Conciseness4/5

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

The description is very short and front-loaded with the key purpose. The Args section is compact and each line earns its place. It is concise rather than verbose, though more useful detail could be added without much length.

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?

Given no annotations and minimal schema information, the description leaves important gaps: it does not explain the effect of the action, the required document state, or the accepted shape of action_params. An agent has enough to identify the tool but not enough to confidently construct a non-trivial call with overrides.

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 coverage is 0%, so the description must compensate. It does add meaning by identifying doc_id as 'Document ID from open_document' and action_params as 'Optional HTrackChange parameter overrides.' However, action_params remains vague and the description does not elaborate on what HTrackChange overrides are valid or how they should be structured.

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

Purpose4/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: 'Configure track changes settings.' This clearly identifies what the tool operates on and distinguishes it from the many table, text, style, and document tools. It does not explicitly contrast with generic hwp_*_param_action tools, but the resource is specific enough.

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 guidance is provided on when to use this tool versus alternatives. The only contextual hint is that doc_id comes from open_document, but there is no mention of exclusions, preferred use cases, or alternatives. The agent must infer usage entirely from the tool name.

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

set_view_propertiesB

Set HWP view properties (zoom, view mode, etc.).

Args: doc_id: Document ID from open_document action_params: HViewProperties fields to set

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
action_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 behavioral disclosure burden. It indicates a mutating operation ('Set') on view properties, but does not disclose whether changes persist, whether the document is affected, what happens with invalid action_params, or any side effects. The 'view properties' phrasing hints at non-destructive behavior but does not confirm it.

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 very concise: one purpose sentence and two arg bullets. Every word adds value, and it avoids restating the JSON schema types. The structure is front-loaded with the core purpose.

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?

The tool has an output schema, so return values need not be explained. However, the main action_params contract is underspecified: since action_params is a free-form object with additionalProperties, an agent needs at least example keys or a reference to the HViewProperties definition to call this tool correctly. The prerequisite of an open document is only implicit via doc_id, not explicit.

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 0%, so the description must compensate. It does add meaning by labeling doc_id as 'Document ID from open_document' and action_params as 'HViewProperties fields to set', but it does not enumerate valid HViewProperties keys, their types, or how additionalProperties should be structured. The compensation is partial at best.

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

Purpose4/5

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

The description states a clear verb and resource: 'Set HWP view properties (zoom, view mode, etc.)'. This makes the tool's purpose immediately understandable and distinct from content-editing tools, though it does not explicitly contrast with similar siblings like set_hwp_property or set_engine_properties.

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 only usage context is that doc_id is 'Document ID from open_document', which implies the document must already be open. There is no explicit guidance about when to use this tool versus alternatives, and no exclusions or conditions are stated.

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

set_watermarkC

Set a print watermark (text or image type).

ParametersJSON Schema
NameRequiredDescriptionDefault
textNo
angleNo
colorNo
doc_idYes
font_nameNo
font_sizeNo
image_pathNo
watermark_typeNotext

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/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 only says the tool 'sets' a watermark; it does not explain whether an existing watermark is replaced, how the watermark affects printing, whether both text and image modes can be set simultaneously, or what side effects occur.

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

Conciseness4/5

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

The description is a single efficient sentence with no wasted words and is front-loaded with the action. It is concise, though somewhat sparse given the tool's complexity.

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?

For a tool with 8 parameters, 0% schema coverage, and no annotations, the description is far too thin. An output schema exists, so return-value documentation is not needed, but the agent still lacks enough information to correctly construct calls involving the many optional watermark formatting parameters.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. 'Text or image type' hints at the role of watermark_type, but it does not explain how text, image_path, angle, color, font_name, and font_size relate to each other or which combinations are valid. An agent cannot tell whether image_path is required for image watermarks or whether text is required for text watermarks.

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 ('Set') and a specific resource ('print watermark'), and it names the two variants ('text or image type'). Among a large sibling list with no other watermark tool, this clearly distinguishes the tool's purpose.

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?

There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites or exclusions. The phrase 'print watermark' implies a print-related use case, but the description does not state when to choose this over other document-modification tools such as insert_picture or set_page_style.

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

sort_textA

Sort text in selection or document.

Args: doc_id: Document ID from open_document action_params: Optional HSort parameter overrides

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
action_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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. While 'Sort text' implies a modifying operation, the description does not state whether it mutates the document directly, how selection versus whole-document sorting is determined, whether the operation is reversible, or what side effects may occur. This leaves important behavioral aspects undisclosed for an agent.

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 core purpose, followed by a minimal Args list. Every sentence contributes useful information without redundancy or filler. The structure is clean and easy to scan.

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?

For a mutation tool with no annotations and a free-form action_params parameter, the description is too sparse. It does not explain how the tool chooses between sorting the selection versus the entire document, nor does it enumerate or hint at valid HSort parameters. While an output schema exists, the missing behavioral and parameter details leave an agent under-equipped to invoke this tool correctly in varied contexts.

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 0%, so the description must compensate for the schema's lack of explanations. It does add meaning by identifying doc_id as 'Document ID from open_document' and action_params as 'Optional HSort parameter overrides.' However, it stops short of describing what valid HSort parameters are, which is a significant gap for an open-ended action_params object.

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 a specific verb and resource: 'Sort text in selection or document.' It distinguishes itself from sibling text-manipulation tools like search_text, replace_text, and insert_text because sorting is a unique action. The scope (selection or document) is also mentioned, making the tool's role unambiguous.

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 gives clear context that the tool sorts text either in the current selection or in the document, so an agent can infer when to invoke it. It does not explicitly exclude alternatives or list when-not-to-use cases, but there is no direct sibling sort tool, so the context is sufficient for basic selection.

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

spell_checkC

Run spell checker.

Args: doc_id: Document ID from open_document action_params: Optional HSpellCheck parameter overrides

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
action_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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 for behavioral disclosure. It only says 'Run spell checker' and does not state whether the tool modifies the document, returns suggestions, requires saved state, or has side effects. This leaves the agent with significant uncertainty about the tool's behavior.

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

Conciseness4/5

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

The description is short and front-loaded, with the action stated first and arguments listed compactly. It avoids unnecessary filler, though the brevity leaves some useful context out.

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?

For a tool with no annotations, 0% schema coverage, and minimal description, the context is incomplete. It lacks usage conditions, behavioral impact, and clearer parameter semantics. The presence of an output schema reduces the need to describe return values, but does not compensate for the missing usage and side-effect context.

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 0%, but the description adds functional meaning: doc_id is tied to open_document and action_params are described as 'HSpellCheck parameter overrides'. This goes beyond the bare schema titles, though it omits details about what override keys are valid or how action_params should be structured.

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

Purpose4/5

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

The description states 'Run spell checker' with a clear verb and resource, and the doc_id reference to an open document anchors it in the document-editing context. No sibling tool appears to handle spell checking, so it is reasonably distinguishable. It could be more explicit about scope, but the core purpose is 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?

There is no guidance on when to use spell_check versus alternatives, nor prerequisites beyond the implied need for an open document. The mention of doc_id from open_document hints at context but does not explain when spell checking is appropriate or what it returns.

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

split_table_cellB

Split a table cell into multiple cells.

Args: doc_id: Document ID from open_document table_index: Index of the table row: Row index of the cell col: Column index of the cell split_rows: Number of rows to split into split_cols: Number of columns to split into

ParametersJSON Schema
NameRequiredDescriptionDefault
colYes
rowYes
doc_idYes
split_colsNo
split_rowsNo
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of explaining side effects. It only restates the split action and parameter labels; it does not disclose whether the original cell is replaced, whether cell contents are preserved or distributed, what happens to merged regions, or any constraints on split counts.

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

Conciseness4/5

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

The description is compact and front-loaded with a one-sentence purpose followed by a clear argument list. There is no redundant prose, though the argument list could be tightened or augmented with constraints without becoming verbose.

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?

For a mutating table operation with six parameters and no annotations, key operational details are missing: 0-based vs 1-based indexing, what happens to existing cell content, whether split_rows or split_cols can be 1, and how the result is returned. The description is minimally usable but not sufficiently complete for confident correct invocation.

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?

The schema description coverage is 0%, and the description compensates by defining all six parameters, including the useful note that doc_id comes from open_document and the meanings of row, col, split_rows, and split_cols. It stops short of specifying index bases, valid ranges, or the consequences of default values, but it adds real meaning beyond the bare schema titles.

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

Purpose4/5

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

The description states a specific action and resource — split a table cell into multiple cells — which is clear and distinct from siblings like merge_table_cells. It does not explicitly name alternative tools, but the verb 'split' and the resource 'table cell' make the core purpose 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?

There is no guidance about when to use this tool versus the closely related merge_table_cells, add_table_column, delete_table_row, or set_table_cell_text. The intended use must be inferred from the tool name and the short description, with no exclusions or alternative routing.

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

swap_table_row_colC

Swap table rows and columns.

Args: doc_id: Document ID from open_document type: Swap type (0=row↔col) swap_margin: Whether to swap margins too

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo
doc_idYes
swap_marginNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only restates the swap operation and gives terse arg explanations. It does not say whether the operation is destructive, reversible, affects cell contents, or has constraints such as requiring a rectangular table.

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

Conciseness4/5

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

The description is compact and front-loaded with the one-sentence operation, followed by an Args list. No filler is present, though a bit more detail on type and swap_margin could be added without hurting clarity.

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?

The presence of an output schema means return values need not be described, but this is still a mutating operation with no annotations, no usage alternatives, and no side-effect disclosure. An agent is not given enough context to know when to invoke it or what consequences to expect.

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 0%, so the description must compensate. It briefly explains all three parameters: doc_id provenance, type's row↔col meaning, and swap_margin's purpose. However, type's valid values and the exact expected form for swap_margin remain ambiguous.

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

Purpose4/5

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

The description states the operation clearly: 'Swap table rows and columns' and the arg text '0=row↔col' reinforces that this is a transpose operation. It is specific about verb and resource, though it does not explicitly differentiate itself from sibling table manipulation tools.

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 guidance is given about when to use this tool versus alternatives like add_table_row, delete_table_row, or table_to_text. The only contextual hint is that doc_id comes from open_document, but there is no when-to-use or when-not-to-use rationale.

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

table_to_textB

Convert a table to text.

Args: doc_id: Document ID from open_document table_index: Index of the table delimiter: Delimiter type ("tab", "comma", "space", "custom") custom_char: Custom delimiter character

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
delimiterNotab
custom_charNo
table_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden, but it only says 'Convert a table to text'. It does not state whether the tool returns a string, writes text into the document, or has other side effects. The delimiter/custom_char args hint at formatting but not the operation's overall effect.

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 one-line operation plus a compact Args block is tightly written with no filler. Every sentence adds relevant information, and the parameter explanations are easy to scan.

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

Completeness3/5

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

An output schema exists, so return values are presumably covered. The description explains parameters and the prerequisite of an open document. However, the lack of behavioral detail about what 'convert' does to the document leaves an agent uncertain about side effects, which is significant for a tool with no annotations.

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 description coverage is 0%, and the description compensates by explaining each parameter: doc_id's provenance, delimiter's allowed values, and custom_char's purpose. table_index is only described as 'Index of the table', which is minimal but adequate.

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

Purpose4/5

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

The description 'Convert a table to text' uses a specific verb and resource, making the core operation clear. It naturally contrasts with sibling text_to_table, though it does not explicitly name alternatives or scope the conversion.

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 explicit when-to-use guidance or alternatives are provided. The only contextual hint is the parameter note that doc_id comes from open_document, implying an open document is required, but there is no direction about when to choose this over get_table_data or text_to_table.

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

text_to_tableC

Convert selected text to a table.

Args: doc_id: Document ID from open_document delimiter: Delimiter to detect ("tab", "comma", "space") num_cols: Number of columns

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
num_colsNo
delimiterNotab

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry the burden of behavioral disclosure, but it only repeats the operation and lists parameters. It does not disclose whether the selected text is replaced, whether a delimiter mismatch causes failure, or what happens to the original selection. These are material gaps for a transformation tool.

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

Conciseness4/5

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

One opening sentence plus a terse Args block; no filler. However, the Args section partially repeats schema defaults, and additional behavioral context would be more valuable than the parameter repetition.

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?

Even though an output schema exists, an agent still lacks key context for a text-to-table transformation: whether selected text is required, whether original text is replaced, and what constraints delimiter and num_cols must satisfy. The description is too sparse for a tool with no annotations and a large sibling list.

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 schema has no per-property descriptions, so the Args block adds some value by identifying doc_id as coming from open_document, enumerating delimiter choices, and defining num_cols. However, the explanations are minimal and do not clarify optionality or behavior beyond what the schema defaults already indicate.

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

Purpose4/5

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

The opening phrase 'Convert selected text to a table' names a specific action and resource, and the 'selected text' wording helps distinguish it from table creation or table_to_text. It is clear, though it does not explicitly contrast with sibling table tools.

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 when-to-use guidance or alternatives are given. The only implicit signal is 'selected text', but the description never says when to prefer this over create_table, table_to_text, or other table editing tools, and it does not state prerequisites like having an active selection.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 140 tool updatesv0.1.0
    • First observedadd_table_column
    • First observedadd_table_row
    • First observedappend_paragraph
    • First observedapply_table_template
    • First observedbatch_convert_files
    • First observedbatch_fill_fields
    • First observedcheck_x_object
    • First observedclear_selection
    • First observedclose_document
    • First observedconvert_to_hwpx
    • First observedconvert_to_pdf
    • First observedconvert_units
    • First observedcreate_equation
    • First observedcreate_field
    • First observedcreate_table
    • First observeddelete_ctrl
    • First observeddelete_selection
    • First observeddelete_table_column
    • First observeddelete_table_row
    • First observedexport_page_as_image
    • First observedexport_style
    • First observedfield_exists
    • First observedfind_ctrl
    • First observedget_current_field
    • First observedget_cursor_position
    • First observedget_document_info
    • First observedget_document_summary
    • First observedget_document_text
    • First observedget_field_list
    • First observedget_field_text
    • First observedget_file_info
    • First observedget_form_data
    • First observedget_hwp_property
    • First observedget_message_box_mode
    • First observedget_page_count
    • First observedget_page_text
    • First observedget_paragraphs
    • First observedget_pos_by_set
    • First observedget_script_source
    • First observedget_selected_pos_by_set
    • First observedget_selection_info
    • First observedget_table_data
    • First observedget_tables
    • First observedhwp_doc_info_param_action
    • First observedhwp_draw_param_action
    • First observedhwp_enum
    • First observedhwp_file_param_action
    • First observedhwp_form_param_action
    • First observedhwp_hanja_param_action
    • First observedhwp_misc_param_action
    • First observedhwp_selection_param_action
    • First observedhwp_shape_param_action
    • First observedhwp_style_param_action
    • First observedhwp_table_param_action
    • First observedhyperlink_jump
    • First observedimport_style
    • First observedinit_scan
    • First observedinsert_auto_number
    • First observedinsert_background_picture
    • First observedinsert_bookmark
    • First observedinsert_cross_reference
    • First observedinsert_file
    • First observedinsert_form_control
    • First observedinsert_hyperlink
    • First observedinsert_index_mark
    • First observedinsert_picture
    • First observedinsert_text
    • First observedis_action_enable
    • First observedis_command_lock
    • First observedlist_open_documents
    • First observedlock_command
    • First observedmail_merge
    • First observedmake_table_of_contents
    • First observedmanage_style
    • First observedmerge_table_cells
    • First observedmodify_field_properties
    • First observedmove_cursor
    • First observedmove_to_field
    • First observedopen_document
    • First observedprint_document
    • First observedput_field_text
    • First observedregister_module
    • First observedrelease_scan
    • First observedrename_field
    • First observedreplace_action
    • First observedreplace_text
    • First observedrgb_color
    • First observedrun_hwp_action
    • First observedrun_macro
    • First observedrun_script
    • First observedsave_as_image
    • First observedsave_block
    • First observedsave_document
    • First observedsave_document_as
    • First observedsearch_text
    • First observedselect_text
    • First observedset_bullet_style
    • First observedset_caption
    • First observedset_char_shape
    • First observedset_columns
    • First observedset_compatible_document
    • First observedset_current_field_name
    • First observedset_cursor_position
    • First observedset_drm_authority
    • First observedset_drop_cap
    • First observedset_engine_properties
    • First observedset_field_ctrl_properties
    • First observedset_file_security
    • First observedset_footnote_style
    • First observedset_form_properties
    • First observedset_header_footer
    • First observedset_hwp_property
    • First observedset_master_page
    • First observedset_message_box_mode
    • First observedset_numbering_style
    • First observedset_page_border
    • First observedset_page_hiding
    • First observedset_page_num_ctrl
    • First observedset_page_number
    • First observedset_page_style
    • First observedset_paragraph_style
    • First observedset_password
    • First observedset_pos_by_set
    • First observedset_section_definition
    • First observedset_tab_definition
    • First observedset_table_border_adv
    • First observedset_table_cell_style_adv
    • First observedset_table_cell_text
    • First observedset_text_direction
    • First observedset_text_file
    • First observedset_text_style
    • First observedset_track_changes
    • First observedset_view_properties
    • First observedset_watermark
    • First observedsort_text
    • First observedspell_check
    • First observedsplit_table_cell
    • First observedswap_table_row_col
    • First observedtable_to_text
    • First observedtext_to_table

TDQS

C2.7/5.0
Disambiguation1/5

There are several near-duplicate tools that an agent would struggle to distinguish, such as get_cursor_position vs get_pos_by_set, set_cursor_position vs set_pos_by_set, and run_script/run_macro/run_hwp_action. The six hwp_*_param_action tools plus hwp_misc_param_action overlap heavily with each other and with dedicated tools like set_page_style and set_header_footer.

Naming Consistency4/5

The majority of tools follow a clear snake_case verb_noun convention (open_document, save_document, create_table, get_field_text), which makes the set largely predictable. A few legacy/internal-style names such as hwp_enum, get_pos_by_set, is_action_enable, and set_char_shape deviate, but they are the exception rather than the rule.

Tool Count1/5

With 140 tools, this server is an extreme count mismatch; even the calibration's lowest category starts at 50+. The set is bloated by multiple generic param-action catch-alls and raw COM helper tools that could be consolidated into far fewer coherent operations.

Completeness4/5

The tool surface covers an impressively broad domain: document lifecycle, text, tables, fields, styles, forms, page layout, images, conversion, printing, and security. Minor gaps exist, such as no explicit create_new_document, no dedicated delete_table/delete_paragraph tool, and an over-reliance on raw escape-hatch actions for many operations, but agents can usually work around these.

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables comprehensive control of Korean Hangul (HWP) documents with 59 features including document manipulation, text editing, formatting, table operations, PDF export, and advanced automation capabilities like template filling and document structure analysis.
    6
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI models to read, create, and edit Korean HWPX documents with advanced support for tables, paragraphs, styles, and images. It features enhanced stability through atomic file writing and smart layout recalculation to prevent document corruption.
    31
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to read, search, and modify HWPX documents directly via MCP, without requiring Hancom Word Processor. Supports pure Python, cross-platform operation.
    67
    Apache 2.0

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/mjyoo2/hwp-mcp'

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