Skip to main content
Glama
SmartBear

SmartBear MCP server

Official
by SmartBear

Reflect: Create Test

reflect_create_test

Build a new test by specifying an ordered sequence of steps across web, API, or mobile platforms, using deterministic selectors and embedded variables for dynamic data.

Instructions

Create a new Reflect test which contains an ordered list of steps.

Toolset: Tests

Parameters:

  • name (string) required: Name of the test to create.

  • type (enum) required: Platform of the test.

  • description (string): Optional description of the test.

  • deviceProfile (string): Device profile id. Required for a 'web' test; ignored for 'api' and 'native-mobile'. One of: 'desktop', 'tablet', 'mobile'.

  • steps (array) required: Ordered list of steps that make up the test. Web tests must begin with a 'browser-navigate' step. Prefer deterministic, selector-based steps ('click', 'input', 'submit', 'text-validation', 'hover', etc.) over AI-driven 'prompt' steps whenever a stable selector is available. Reserve 'prompt' steps for behavior that can't be expressed with a selector. Any text field in a step (e.g. 'inputText', 'url', 'expectedText', 'requestBody', header values, prompt text) may embed Reflect variable and function references using '${...}' syntax, which are resolved at run time: '${var(name)}' inserts the value of a parameter/variable named 'name' (declare parameters via the top-level 'parameters' field, or assign them mid-run with an 'update-parameters' step); '${sec(name)}' inserts the value of the account secret 'name'. Functions generate dynamic values: '${alphanum(n)}', '${alpha(n)}', '${num(n)}' (random alphanumeric / alphabetic / numeric string of length n), '${range(min, max)}' (random integer, inclusive), '${time(offsetMs)}' and '${datetime(offsetMs)}' (current epoch-millis / date-time, with an optional millisecond offset), and '${date(format, offsetDays)}' (current date formatted with tokens like 'MM/dd/yyyy', with an optional day offset).

  • parameters (array): Optional named parameters (variables) for the test, each with a 'name' and optional default 'value'. Reference a parameter's value inside any step text field with '${var(name)}'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the test to create.
typeYesPlatform of the test.
stepsYesOrdered list of steps that make up the test. Web tests must begin with a 'browser-navigate' step. Prefer deterministic, selector-based steps ('click', 'input', 'submit', 'text-validation', 'hover', etc.) over AI-driven 'prompt' steps whenever a stable selector is available. Reserve 'prompt' steps for behavior that can't be expressed with a selector. Any text field in a step (e.g. 'inputText', 'url', 'expectedText', 'requestBody', header values, prompt text) may embed Reflect variable and function references using '${...}' syntax, which are resolved at run time: '${var(name)}' inserts the value of a parameter/variable named 'name' (declare parameters via the top-level 'parameters' field, or assign them mid-run with an 'update-parameters' step); '${sec(name)}' inserts the value of the account secret 'name'. Functions generate dynamic values: '${alphanum(n)}', '${alpha(n)}', '${num(n)}' (random alphanumeric / alphabetic / numeric string of length n), '${range(min, max)}' (random integer, inclusive), '${time(offsetMs)}' and '${datetime(offsetMs)}' (current epoch-millis / date-time, with an optional millisecond offset), and '${date(format, offsetDays)}' (current date formatted with tokens like 'MM/dd/yyyy', with an optional day offset).
parametersNoOptional named parameters (variables) for the test, each with a 'name' and optional default 'value'. Reference a parameter's value inside any step text field with '${var(name)}'.
descriptionNoOptional description of the test.
deviceProfileNoDevice profile id. Required for a 'web' test; ignored for 'api' and 'native-mobile'. One of: 'desktop', 'tablet', 'mobile'.
Behavior2/5

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

Annotations provide no hints beyond readOnlyHint=false, so the description carries full burden. It does not disclose side effects, permissions, return values, or any behavioral traits beyond the fact that it creates a test. Missing critical transparency for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly long, especially the steps parameter section which includes an extensive guide on variable and function references. While structured, it is not concise and could be slimmed down by moving details to external docs.

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?

Missing key context: no indication of what the tool returns, no prerequisites or error scenarios. For a creation tool with no output schema, the description should at least mention the created entity's identifier. Steps detail is thorough but overall completeness is lacking.

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 100%, so baseline is 3. The description repeats parameter information verbatim from the schema without adding new meaning. No incremental value beyond what the schema already provides.

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?

Title and first sentence clearly state 'Create a new Reflect test which contains an ordered list of steps.' Verb and resource are explicit, and the mention of ordered steps distinguishes it from other Reflect creation tools like reflect_create_segment.

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?

Provides explicit guidance on preferring deterministic steps over AI-driven prompt steps, and requires web tests to start with 'browser-navigate'. However, it does not explicitly compare to sibling creation tools or state when not to use this tool.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SmartBear/smartbear-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server