Skip to main content
Glama

Test Form Submission

test_form
Destructive

Fills form fields from descriptions and submits via a specified button, auto-detection, or Enter key, returning field outcomes, changes, and observations for QA verification.

Instructions

Fill form_fields by description and submit via a button description, auto, or enter. Returns field outcomes, changes and observation. Check partial before judging behavior. Does not infer a bug.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "form_fields": "<form_fields>"
    },
    "name": "test_form"
  }
}

Input Schema

NameRequiredDescriptionDefault
submitNoauto
form_fieldsYes

Output Schema

NameRequiredDescriptionDefault
dataNo
run_idYes
stagesNo
statusYes
recoveryNo
operationYes
error_codeYes
session_stateYes
schema_versionNo
progress_omittedNo
progress_delivery_failedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.10.0
    • removedInput schema / properties / form_fields / title
      Removed value: -"Form Fields"
    • removedInput schema / properties / submit / title
      Removed value: -"Submit"
    • removedInput schema / title
      Removed value: -"test_formArguments"
  2. Changed12 schema fields changed
    • removedOutput schema / properties / data / title
      Removed value: -"Data"
    • removedOutput schema / properties / error_code / title
      Removed value: -"Error Code"
    • removedOutput schema / properties / operation / title
      Removed value: -"Operation"
    • removedOutput schema / properties / progress_delivery_failed / title
      Removed value: -"Progress Delivery Failed"
    • removedOutput schema / properties / progress_omitted / title
      Removed value: -"Progress Omitted"
    • removedOutput schema / properties / recovery / title
      Removed value: -"Recovery"
    • removedOutput schema / properties / run_id / title
      Removed value: -"Run Id"
    • removedOutput schema / properties / schema_version / title
      Removed value: -"Schema Version"
    • removedOutput schema / properties / session_state / title
      Removed value: -"Session State"
    • removedOutput schema / properties / stages / title
      Removed value: -"Stages"
    • removedOutput schema / properties / status / title
      Removed value: -"Status"
    • removedOutput schema / title
      Removed value: -"AgentResult"
  3. Addedv0.5.2
  4. Removedv0.5.1
  5. First observedv0.4.0

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already flag destructiveHint=true, openWorldHint=true, and non-idempotent, so the risk profile is known. The description adds useful nuance—partial results may occur and the tool does not itself assert a bug—but it never says what the submission mutates or what happens on validation failure, which matters most given destructive=true.

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?

It is short with no filler, but the telegraphic style ("Check partial before judging behavior") makes the most important caveat the least decipherable. Return-value talk is front-loaded while the core input mechanics are compressed into a single ambiguous clause.

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 the mention of field outcomes/changes/observation is largely redundant, and the description needn't detail return shape. However, for a destructive, open-world form submitter, it omits failure behavior, waiting/settling semantics, and how submit="auto" decides—gaps that the schema cannot cover.

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% with two parameters, so the description must carry the load. It does clarify that form_fields values are descriptions and that submit accepts a button description, "auto", or "enter" (beyond the schema's bare default), but it gives no key/value format or accepted string forms, leaving the open nested object underspecified.

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 verb+resource are identifiable (fill form fields, submit), but the phrasing "Fill form_fields by description" is ambiguous about whether values are literal input values or natural-language element descriptors. Nothing distinguishes it from the sibling test_action, which sounds like the generic action-execution counterpart.

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 guidance given is interpretive ("Check partial before judging behavior", "Does not infer a bug"), not selection guidance. There is no statement of when to use this instead of test_action, click_what/type_into sequences, or when not to use it at all.

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