Skip to main content
Glama

add_table_row

Adds a persistent row to a fixture table via the PF_ADD_ROW command, preventing the default add row action from discarding an uncommitted empty row.

Instructions

Add a persistent row to the fixture table natively. The standard «add row» discards an uncommitted empty row, so the fixture exposes a PF_ADD_ROW command that server-side appends a MARKED row (PF_ROW_ADDED_<n> / PF_ADDED_TEXT), activates it, and sets PF_LAST_ACTION. This clicks PF_ADD_ROW capture-free (= click_command('PF_ADD_ROW')). Verify via assert_form_value('PF_LAST_ACTION')=='PF_ADD_ROW' / 'PF_SELECTED_ROW_MARKER' or capture_screenshot. Returns {base_button, target_button, accepted}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNo127.0.0.1
portNo
captureNogenuine-card90-addrow-20260617/traffic-selfcontained

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses that the append is server-side and persistent, that the row is MARKED (PF_ROW_ADDED_<n> / PF_ADDED_TEXT) and activated, that PF_LAST_ACTION is set, and that the click is capture-free. It also gives verification paths. It omits auth/permission preconditions and failure behavior, keeping it short of a 5.

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?

Front-loaded purpose followed by mechanism, verification, and return shape; every sentence contributes technical substance despite the dense identifier-laden prose. Slightly overstuffed for a single-purpose action, but nothing is 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?

An output schema exists, so explaining return values is not required, and the description still adds mechanism and verification context that an agent needs for this non-obvious fixture. The notable gap is the complete absence of parameter guidance for host/port/capture and any statement of permissions or preconditions.

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% for all three parameters (host, port, capture), and the description never explains what any of them mean or how to set them. The phrase 'capture-free' is ambiguous against the 'capture' parameter and may even confuse. With low coverage the description is expected to compensate, and it does not.

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+resource ("Add a persistent row to the fixture table natively") and contrasts it with the standard add-row behavior, making it distinguishable from siblings like delete_table_row, copy_table_row, and move_table_row. The concept is specialized and jargon-heavy ('fixture', PF_* markers), but the action 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?

It explains why this tool exists rather than the standard add-row path ("The standard «add row» discards an uncommitted empty row"), and notes the equivalence to click_command('PF_ADD_ROW'). However, it never states when to choose this over siblings such as set_table_cell, copy_table_row, or click_command directly, so routing remains implied.

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