Skip to main content
Glama

table_row_delete

Delete a body table row as a tracked change in a .docx; the edit is refused if the row has a vertical merge cell.

Instructions

Delete a row of a body table as a tracked change (w:trPr/w:del, tracked deleted runs). Refused for a row with a vertical merge (w:vMerge) cell.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
docYesPath to the .docx.
rowYesThe row, 1-based.
tagNoAppended to the author.
tableYesTable number as `table.get` numbers it: 1-based, in document order, main story only (a table in a note, header or footer cannot be named here).
authorNoRevision author.
expectNo
dry_runNoPreview only; write nothing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and does it well: it discloses that the deletion is a tracked change (w:trPr/w:del, tracked deleted runs) rather than an irreversible erase, and that vertically merged rows are rejected. It does not say whether a refusal raises an error or is a silent no-op, nor anything about author/tag interaction.

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?

Two tight sentences with the operation and its tracked-change semantics front-loaded, followed by the refusal precondition. No filler or restatement of the name.

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 7-parameter mutation with no output schema, the description covers the critical unknowns: mutation style (tracked change) and the blocking precondition. It omits error-vs-noop behavior on refusal and dry_run/expect interaction, which leaves a small gap but not a crippling one.

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 86%, so the schema already documents doc, row, table, author, tag, expect and dry_run. The description adds no parameter-level meaning beyond the row/table semantics already implied, so the baseline of 3 is appropriate.

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 (delete) and resource (a row of a body table), and its counterpart sibling table_row_insert makes the pairing unambiguous. The scope qualifier 'body table' also matches the numbering convention of table_get, so the agent knows exactly which object is targeted.

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?

Explicitly states a when-not condition: the call is refused for a row containing a w:vMerge cell, which is a genuine precondition an agent must check before invoking. It does not name an alternative tool (e.g. table_get for row numbering) or describe the untracked-delete path, so it stops short of full routing guidance.

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