Skip to main content
Glama

copy_table_row

Copy the active table row natively in 1C TestClient QA automation by replaying the PF_COPY_ROW command, inserting a duplicate below it with a _COPY suffix.

Instructions

Copy the ACTIVE table row natively. Clicks the fixture's PF_COPY_ROW command (ДанныеФормыКоллекция.Вставить a copy of the active row right below it, marker suffixed _COPY, made active), capture-free, by replaying the genuine PF_COPY_ROW click (the identity case — no Button-leaf retarget). Example: baseline active row 1 -> PF_TABLE_SNAPSHOT=PF_TABLE[4]=PF_ROW_001|PF_ROW_001_COPY|PF_ROW_002|PF_ROW_003. Session-local form state — verify in the SAME session via assert_form_value('PF_TABLE_SNAPSHOT') / ('PF_LAST_ACTION'=='PF_COPY_ROW'). Select the target row first with select_table_row. Returns {base_button, target_button, accepted}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNo127.0.0.1
portNo
captureNogenuine-card97-rowops-combined-20260619/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 burden and discloses substantial behavior: it replays the PF_COPY_ROW fixture click, is capture-free, inserts a copy below the active row with a _COPY suffix, makes the copy active, and notes the state is session-local. It even describes the expected return object, though it does not discuss permissions or failure modes.

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 first sentence is front-loaded and useful, but the rest is a dense run-on mixing fixture details, an example, and verification instructions. It is informative but not tightly structured or concise, with parenthetical implementation details that add noise.

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?

It covers the behavioral contract of the copy operation and gives verification guidance, and an output schema exists so return values need not be fully explained. However, it omits all parameter information and, with no annotations, does not fully describe permissions, side effects, or operational constraints.

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 has three parameters (host, port, capture) with 0% description coverage, and the tool description never mentions them. The description compensates for none of the missing parameter semantics, leaving host/port/capture entirely undocumented beyond their 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 states a specific verb and resource: 'Copy the ACTIVE table row natively,' and explicitly scopes it to the active row. It also distinguishes the operation from sibling tools like select_table_row, though the dense fixture jargon slightly obscures the plain purpose.

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?

It gives a clear prerequisite: 'Select the target row first with select_table_row.' It also says to verify in the SAME session via assert_form_value, which helps route the agent. However, it does not explicitly contrast when to use this instead of add_table_row or move_table_row.

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