Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IDB_UDIDNoUdid of target, can also be set with the IDB_UDID env var. Format: UUID (8-4-4-4-12 hexadecimal characters)
IOS_SIMULATOR_MCP_FILTERED_TOOLSNoA comma-separated list of tool names to filter out from being registered.
IOS_SIMULATOR_MCP_DEFAULT_OUTPUT_DIRNoSpecifies a default directory for output files like screenshots and video recordings. If not set, ~/Downloads will be used. This can be handy if your agent has limited access to the file system.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_booted_sim_idA

Get the ID of the currently booted iOS simulator

open_simulatorA

Opens the iOS Simulator application

ui_describe_allA

Describes accessibility information for the entire screen in the iOS Simulator

ui_tapB

Tap on the screen in the iOS Simulator

ui_typeA

Input text into the iOS Simulator

ui_swipeB

Swipe on the screen in the iOS Simulator

ui_describe_pointA

Returns the accessibility element at given co-ordinates on the iOS Simulator's screen

ui_find_elementA

Searches the accessibility tree and returns elements matching the given criteria

ui_viewA

Get the image content of a compressed screenshot of the current simulator view

screenshotB

Takes a screenshot of the iOS Simulator

record_videoB

Records a video of the iOS Simulator using simctl directly

stop_recordingA

Stops the simulator video recording using killall

install_appA

Installs an app bundle (.app or .ipa) on the iOS Simulator

launch_appA

Launches an app on the iOS Simulator by bundle identifier

terminate_appA

Terminates a running app on the iOS Simulator by bundle identifier

open_urlA

Opens a URL in the iOS Simulator, useful for testing deep links and universal links

list_appsA

Lists all installed apps on the iOS Simulator with their bundle identifiers and display names

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 17 tools

Disambiguation4/5

Most tools are clearly distinct: UI interactions, app management, and media capture are well-separated. However, screenshot and ui_view both capture screen content, and ui_describe_all/ui_describe_point/ui_find_element overlap in describing UI elements, though at different granularities.

Naming Consistency5/5

All tools use snake_case with a verb_noun pattern (e.g., get_booted_sim_id, launch_app). UI actions are consistently prefixed with ui_, and paired operations like record_video/stop_recording follow parallel naming. No mixed conventions or vague verbs.

Tool Count4/5

17 tools is on the heavier side but justifiable for an iOS simulator server that covers device control, UI automation, app management, and media capture. Each tool addresses a specific need and no tool feels redundant enough to remove, though a few are niche, like open_simulator.

Completeness3/5

Core workflows are covered: app install/launch/terminate, UI interaction, screenshots, video, and deep links. However, there are notable gaps: no simulator shutdown/boot control (only open_simulator), no uninstall_app, and no way to list available simulators or manage the device state beyond booted ID.

Maintenance

ActivitySlowing
ResponsivenessSlow