Skip to main content
Glama

build_test

Run xcodebuild tests on a simulator for a given project and scheme to verify your iOS app builds and passes tests.

Instructions

xcodebuild test (on the simulator).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
schemeYes
projectYes
device_nameNoiPhone 16

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing: no indication that test execution is long-running, whether a simulator must already be booted (a sibling `build_boot_sim` exists), how failures are reported, or whether artifacts/logs are produced. The only disclosed trait is the simulator environment.

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

Conciseness3/5

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

It is a single front-loaded phrase with zero filler, so there is no verbosity problem. But it is a fragment rather than a structured sentence, and its brevity comes at the cost of under-specification rather than economy.

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?

An output schema exists, so return values need not be explained, but for a tool that spawns a test run the description omits everything else an agent needs: simulator prerequisites, expected runtime, and the meaning of the required project/scheme arguments. Given no annotations and 0% param coverage, the description is well below sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all three parameters with no annotations to compensate. The description never clarifies whether `project` is an .xcodeproj or .xcworkspace path or what form `scheme` takes; the phrase 'on the simulator' only loosely gestures at `device_name`. This is far short of compensating for the coverage gap.

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?

The description states a specific command and environment: it runs `xcodebuild test` against a simulator. That implicitly separates it from `build_for_sim` (build only), `maestro_test` (different runner), and `build_archive`, even though no sibling is named explicitly. It is a clear verb+resource, just extremely terse.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance at all: nothing says when to pick this over `maestro_test`, `build_for_sim`, or `cpp_build_all`, and no prerequisites (e.g. simulator boot, scheme/project format) are given. The single parenthetical is a runtime detail, not usage guidance.

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

Deploy Server

Other Tools