Skip to main content
Glama

run_scenario

Destructive

Replay declarative {tool, args} scenarios deterministically, returning per-step pass/fail reports to re-run complex STM32 firmware bug reproductions.

Instructions

Replays a declarative scenario — a list of {tool, args} steps — deterministically and returns a per-step pass/fail report. Provide inline 'steps' or a 'path' to a JSON scenario file. The minimal-step way to re-run a complex bug repro.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoPath to a JSON scenario file (alternative to inline steps).
stepsNoOrdered steps, each {tool, args}.
sessionNoOptional debug-session name. Omit for the default target.
stop_on_failureNoStop at the first failing step (default true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.15.1

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructive/openWorld/non-idempotent, so the safety profile is covered. The description adds genuinely new context: deterministic replay semantics and the fact that it returns a per-step pass/fail report, which matters because no output schema exists. It does not warn that composed steps may carry arbitrary side effects, but the destructiveHint covers that baseline.

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?

Three tight sentences: purpose/return value first, input options second, use case last. Front-loaded and nearly waste-free, with only the slight redundancy of restating the inline-steps-or-path choice already in the schema.

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 no output schema, the description correctly takes on describing the return value (per-step pass/fail report). Input forms and intended use are covered. Missing only edge behavior such as what happens on failure beyond the stop_on_failure schema note, or how scenarios compose with the current session.

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 all four parameters (path, steps, session, stop_on_failure) are already documented in the schema. The description only restates that steps are {tool, args} and that path is an alternative, adding no syntax or format detail beyond the schema. Baseline 3 is appropriate.

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: replays a declarative scenario of {tool, args} steps and returns a per-step pass/fail report. The scope is concrete and an agent can picture the operation. However, it never distinguishes itself from sibling multi-step runners such as batch, run_pipeline, or run_acceptance, so it falls short of a 5.

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 minimal-step way to re-run a complex bug repro" gives a clear when-to-use context. There are no exclusions or named alternatives (e.g. run_pipeline, batch), which keeps it from a 5, but the intended use case is explicit rather than merely implied.

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