Skip to main content
Glama

Open a deep link

open_deep_link

Open a URL in the iOS Simulator via simctl to test deep links, universal links, onboarding routes, or state restoration. Use simulator_list to get the UDID first.

Instructions

Open a URL in the simulator using xcrun simctl openurl. Use to verify deep links, universal links, onboarding routes, and state restoration.

Input Schema

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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.7.0

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the mechanism (`xcrun simctl openurl`) and primary effect, but it omits important behavioral context such as requiring a booted simulator, possible side effects on app state, and what happens on failure. This is adequate but not fully transparent.

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, no filler, and the core action is front-loaded. Every sentence contributes either the operational mechanism or the intended use cases.

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 two-parameter tool, the description covers the operation, mechanism, and common use cases. It lacks explicit notes about the simulator needing to be booted and does not describe the return/error behavior, but the schema handles the UDID prerequisite guidance. Overall, this is sufficient for a competent agent to use it correctly in most cases.

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

Parameters4/5

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

Schema coverage is only 50%, and the `url` parameter has no schema description and only a `uri` format. The tool description adds meaning by framing the URL as a deep link, universal link, or onboarding route, which clarifies the expected value. The `udid` parameter is already well described in the schema with guidance to use `simulator_list`.

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 names the specific action ('Open a URL in the simulator'), identifies the underlying command (`xcrun simctl openurl`), and lists concrete verification scenarios. It is clearly distinct from siblings like `launch_app` because it targets URL/deep-link opening rather than plain app launching.

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 explicitly states when to use the tool: 'Use to verify deep links, universal links, onboarding routes, and state restoration.' It does not mention exclusions or alternatives, so it falls just short of a 5, but the intended context is clear.

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