Skip to main content
Glama

ios_type_secret

Type a stored secret from the host keychain directly into an iOS device without exposing its value in the transcript. Use for passwords and one-time codes.

Instructions

Type a stored secret without ever seeing its value.

The value is read from the host keychain and sent straight to the device. Use this for every password and one-time code; never put a real credential into ios_type, where it would enter the transcript.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refNoA ref from the last observation, such as 'e7'. Preferred.
submitNoPress return afterwards.
targetNoPlain description of the element, e.g. 'the Send button'. Used if no ref.
idem_keyNoOptional key making a retry a no-op. Pass the same key when repeating an action you are unsure completed.
secret_refYesName of a stored secret, e.g. 'icloud-password'. Not the value.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Install Server

TDQS

A4.5/5.0
Behavior4/5

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

The description adds meaningful behavioral context beyond the annotations: the secret is read from the host keychain, sent directly to the device, and never enters the transcript. This is valuable security-relevant information that annotations do not capture. It slightly falls short of a 5 because it doesn't mention potential keychain access prompts or failure behavior if the secret is missing, but the annotations already cover the general safety profile.

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?

The description is compact and front-loaded: the key benefit ('without ever seeing its value') is stated first, followed by the operational flow and the critical usage rule. Every sentence earns its place with no filler or redundancy.

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?

Given the presence of a comprehensive input schema, output schema, and annotations, the description covers the essential security context and usage boundaries. It clearly explains the tool's purpose, data flow, and the main alternative, which is sufficient for an agent to select and invoke the tool correctly. No critical missing information was found.

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?

The input schema provides 100% parameter description coverage, so the description does not need to repeat parameter semantics. The description does add a high-level hint that secret_ref is a secret name rather than a value, but the schema already states this explicitly. Thus the baseline score of 3 applies.

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 clearly states a specific action ('Type a stored secret') and a distinguishing behavior: it never reveals the secret value and reads it from the host keychain. This immediately separates it from the sibling `ios_type` tool, which is the main alternative.

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

Usage Guidelines5/5

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

The description explicitly says when to use this tool ('for every password and one-time code') and when not to use `ios_type` ('never put a real credential into `ios_type`'). It names the sibling tool and gives a clear routing rule, leaving no guesswork for the agent.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/emazaheri/ios-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server