Skip to main content
Glama

Run test

run_test

Execute agent-generated JavaScript against a saved spec. HTTP (default) uses fetch(); browser uses env.PAGE (goto, click, fill, screenshot, getText, waitForSelector, waitForURL, press, selectOption, check, uncheck, hover, reload, url, getAttribute, isVisible, count). Do not import Playwright. Website login is stored once and reused. Pass unauthenticated: true for public pages. browserEngine: kitesurf | chromium.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
specIdYesID of the saved spec to test against
runtimeNohttp (default) or browser
testCodeYesJavaScript to execute. HTTP: fetch(). Browser: env.PAGE (goto, click, fill, screenshot, getText, waitForSelector, waitForURL, press, selectOption, check, uncheck, hover, reload, url, getAttribute, isVisible, count).
testTypeYesCategorization label
timeoutMsNoHTTP default 30000ms, browser 90000ms (cap 120000)
browserEngineNoDefault kitesurf if unauthenticated, chromium if logging in
credentialLabelNoWhich stored credential to use
unauthenticatedNoBrowser only: skip login for a public page

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
runIdYes
statusYes
summaryNo
evidenceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=true. The description adds real behavioral context beyond that: the execution sandbox (fetch() for HTTP, env.PAGE API for browser), the hard constraint 'Do not import Playwright', and credential handling ('Website login is stored once and reused'). It stops short of naming side effects on the target system or cancellation/timeout semantics beyond the schema.

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?

Opens with the purpose in one clear sentence and front-loads the runtime/mode distinction. The main inefficiency is the long env.PAGE method enumeration, which is duplicated almost verbatim in the testCode schema description and does not earn its place twice.

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?

With an output schema present, return values need not be explained, and the description supplies the setup prerequisites an agent needs (no Playwright import, env.PAGE surface, stored-login reuse, unauthenticated escape hatch). The remaining gap is that it doesn't warn that executing arbitrary test code can mutate the target system, despite openWorldHint.

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 100%, so the schema already documents all 8 parameters, including defaults for runtime, browserEngine, and timeoutMs. The description largely restates the schema (the env.PAGE method list is duplicated verbatim from the testCode description), so it adds little parameter meaning of its own. Baseline 3 applies when the schema carries the load.

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 concrete verb and resource: 'Execute agent-generated JavaScript against a saved spec.' An agent knows this is the execution/test tool, distinct from save_spec, get_spec, or get_results. It never explicitly names a sibling or boundary, but the purpose is otherwise 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?

Usage is implied by the name and by the runtime discussion (HTTP default, browser mode, 'Pass unauthenticated: true for public pages'), but there is no explicit 'use this when / not when' or routing against siblings. The closest thing to guidance is the default-vs-browser framing, which is parameter behavior rather than tool selection.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources