Skip to main content
Glama

Screenshot the simulator

ios_screenshot
Read-only

Capture the iOS Simulator screen as an image to see what the app is showing right now. Optionally target a specific device and downscale the longest side to a set pixel size.

Instructions

Captures the simulator screen and returns it as an image. Use it to see what the app is showing right now.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "ios_screenshot"
  }
}

Input Schema

NameRequiredDescriptionDefault
deviceNoSimulator udid or name. Default "booted" (the running simulator).
maxDimensionNoDownscale so the longest side is at most this many px (default 900; 0 keeps the original size).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds useful return-format information (returns an image) in the absence of an output schema, but says nothing about failure modes such as no booted simulator being available.

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?

Two short sentences, front-loaded with the action and immediately followed by the use case. Zero wasted wording.

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?

For a simple read-only capture tool with fully documented optional parameters, the description covers what it does and what it returns. The only minor gap is behavior when no simulator is booted, which the schema's "booted" default partially implies.

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%, with both device and maxDimension documented including defaults and bounds. The description adds no parameter detail, so the schema does the heavy lifting and the baseline 3 applies.

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 concrete verb+resource (captures the simulator screen) and names the return type (image). It does not explicitly distinguish itself from the sibling android_screenshot, but the iOS scoping is unambiguous from the name and the simulator reference.

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?

"Use it to see what the app is showing right now" gives a clear when-to-use context, pairing naturally with the neighboring ios_launch_app and ios_open_url tools. It stops short of stating exclusions or explicitly pointing to android_screenshot for Android targets.

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