Skip to main content
Glama

wait_for_form_value

Poll a managed form field's live value until it matches the expected value or the timeout elapses, so 1C QA tests can verify dynamic form updates.

Instructions

Poll a form field's live value until it matches or the timeout elapses.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNo127.0.0.1
modeNoequals
portNo
fieldYes
groupsNo
expectedYes
capture_dirNotm-v1-ro-batchQ3
timeout_secNo
interval_secNo
manager_templatesNo/app/src/qa_mcp/_bundled/8.3/templates/value_read_templates.json

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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 behavioral burden. It discloses polling and a timeout, but says nothing about what happens when the timeout elapses (throw, return false, return last value), whether it blocks the test client, or that it requires an attached/launched test client via host/port. For a 10-param blocking tool this is a substantial 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?

A single tight sentence with the resource and termination condition front-loaded and no filler. It is efficient, though the brevity is partly under-specification rather than disciplined editing.

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 excused, but for a 10-parameter tool with zero annotation and zero schema-description coverage the description is far too thin. It omits timeout failure behavior, polling interval semantics, mode options, and connection requirements the agent needs to invoke it 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% across 10 parameters, so the schema documents nothing. The description only gestures at 'matches' (expected/mode) and 'timeout' (timeout_sec), leaving mode's allowed values, interval_sec, field, groups, capture_dir, and the host/port/manager_templates connection plumbing entirely 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?

States a specific verb and resource ('Poll a form field's live value') plus the termination condition ('until it matches or the timeout elapses'), so the agent knows this is a blocking wait rather than an instantaneous read. It does not name or distinguish itself from close siblings like assert_form_value or assert_data, which is the main gap.

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 it when you need to wait for an async form update before proceeding, versus assert_form_value which presumably checks once. However, no explicit when-to-use, when-not-to-use, or named alternative is given, so the agent must infer the polling-vs-asserting distinction from sibling names alone.

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