Skip to main content
Glama

run_tests

Run pytest tests for a service inside an issue workspace and report pass/fail results without modifying any files.

Instructions

Run the target repository's own pytest suite for one service, inside the issue's workspace, subject to a timeout. This only executes tests and reports the result -- it never commits or modifies anything. Returns a string starting "OK" or "FAILED" followed by the exit code and captured stdout/stderr, "REFUSED: ..." if the path is option-like, escapes the workspace, or touches '.git', or "ERROR: ..." if the run times out or fails to start -- never raises.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issue_numberYesThe issue number whose active workspace to run tests in; must have been started with start_issue first.
service_relative_pathYesPath to the service or test target, relative to the issue workspace root, passed to `pytest -- <path>`. Refused if it starts with '-' (could be parsed as a pytest option), escapes the workspace, or touches '.git'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.2
    • addedInput schema / properties / issue_number / description
      Added value: +"The issue number whose active workspace to run tests in; must have been started with start_issue first."
    • addedInput schema / properties / service_relative_path / description
      Added value: +"Path to the service or test target, relative to the issue workspace root, passed to `pytest -- <path>`. Refused if it starts with '-' (could be parsed as a pytest option), escapes the workspace, or touches '.git'."
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden, and it does so thoroughly. It discloses that the tool never mutates, specifies the exact response prefixes including REFUSED and ERROR cases, and states that it never raises.

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

Conciseness5/5

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

The description uses three focused sentences and front-loads the action. Every sentence earns its place: what it does, that it is non-mutating, and the exact result contract.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description documents return value behavior, error handling, refusal conditions, and timeout semantics. Combined with fully described parameters, the definition provides everything an agent needs to call it correctly.

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 both parameters, including the pytest path usage and refusal conditions for service_relative_path. The description adds only marginal parameter-related context, so the baseline score of 3 is appropriate.

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?

The description states a specific verb and resource: run the repository's own pytest suite for one service inside the issue workspace. It also distinguishes itself from mutating siblings by explicitly saying it never commits or modifies anything.

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 description clearly conveys when to use the tool: after the issue workspace exists, to execute that service's tests with a timeout. It does not name alternative tools or explicit when-not conditions, but the context is clear enough that an agent can select it safely.

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