Skip to main content
Glama

test_run

Destructive

Queue a saved or inline test suite for sequential execution and return a job ID immediately. Poll status to track isolated UI/API sessions and generate HTML evidence reports.

Instructions

Queue a saved suite or inline suite for sequential execution. Returns immediately with jobId; poll test_status. Each case gets isolated UI/API sessions and shared captures across its own steps. Version 2 adds API/database/UX evidence, timing and execution policy; version 1 keeps the legacy UI behavior. Writes offline summary/detailed HTML.

Input Schema

NameRequiredDescriptionDefault
pathNo
suiteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.1/5.0
Behavior4/5

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

With destructiveHint=true and openWorldHint=true already declared, the description adds real context: the call is non-blocking, each case receives isolated UI/API sessions with captures shared only within its own steps, and it writes offline HTML artifacts. It does not warn that steps can mutate the target app or database, which is the main risk connoted by the destructive annotation.

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?

The purpose and async contract are front-loaded in the first two sentences, with versioning and output artifacts after. Every sentence carries information, though the middle clause about shared captures is dense and needs a second read.

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 tool whose schema is a huge undescribed anyOf of v1/v2 suite shapes, the description supplies the essential framing: version semantics, execution model, session isolation, and that results land in HTML files plus test_status. It leaves the agent to reverse-engineer target, policy, and step structure entirely from the schema.

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 0%, so the description must compensate. It maps usefully onto the schemaVersion const by explaining what version 2 adds versus version 1's legacy UI behavior, and hints that suites come either from a saved path or inline. However, it never explicitly distinguishes the 'path' parameter from the 'suite' parameter, leaving that mapping to inference.

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 and resource ('Queue a saved suite or inline suite for sequential execution') and immediately clarifies the async contract with 'Returns immediately with jobId; poll test_status.' This separates it cleanly from test_status and test_generate without the agent needing to open any schema.

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?

The follow-up path is explicit: poll test_status after queuing, and the v1 vs v2 split tells the agent which suite shape to submit. It stops short of stating exclusions, such as when to prefer test_generate or session_start instead of a full queued run.

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