Skip to main content
Glama

Shut down an iOS simulator

simulator_shutdown

Shut down a booted iOS simulator by UDID to clean up after testing. Use after runtime validation to free resources without erasing content.

Instructions

Shut down a simulator by UDID using xcrun simctl shutdown. Use after runtime validation to clean up a booted simulator. This does not erase content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
udidYesSimulator UDID. Use simulator_list first when unsure.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.7.0

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It usefully states that the operation 'does not erase content,' which prevents the agent from assuming destructive side effects. However, it does not mention behavior when the simulator is already shut down or what happens to running apps/state, leaving some behavioral gaps.

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?

Three short sentences, each earning its place: the action and method, the intended usage moment, and a key non-destructive clarification. The description is front-loaded and contains no filler or redundant restatement of the tool name.

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?

For a simple one-parameter lifecycle command with no output schema, the description is complete: it identifies the target, the command, the appropriate timing, and clarifies that content is preserved. There is no missing information an agent would need to invoke this tool correctly in the stated workflow.

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%, and the schema already explains the udid parameter and advises using simulator_list first. The tool description adds only 'by UDID' and the post-validation timing, which slightly reinforces but does not meaningfully extend the parameter semantics. Baseline 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: 'Shut down a simulator by UDID using xcrun simctl shutdown.' It clearly differentiates this from sibling tools like simulator_boot and simulator_list by focusing on the cleanup/shutdown action. The added context 'Use after runtime validation to clean up a booted simulator' reinforces the purpose.

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 gives an explicit usage context: 'Use after runtime validation to clean up a booted simulator.' This tells an agent when the tool is appropriate. It does not explicitly name alternatives or exclusion cases, but the one-parameter design and clear shutdown purpose make the intended use unambiguous.

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