Skip to main content
Glama

askew_run

Run an Apple Shortcut on a locked iPhone and retrieve the result. Input must match the route’s inputExample; data is end-to-end encrypted.

Instructions

Run a Shortcut (route) on the user's iPhone and get the result back. Works while the phone is locked. Input and result are end-to-end encrypted. Call askew_list_routes first: each route lists an inputExample and the input MUST use exactly those keys (dates 'YYYY-MM-DD HH:mm'); a mismatched input is rejected before anything runs. Waits up to wait seconds; if status is 'unknown', poll with askew_get_run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waitNo결과를 기다릴 초(0이면 즉시 반환)
inputYesInput for the Shortcut. MUST follow the route's inputExample from askew_list_routes (same JSON keys; dates as 'YYYY-MM-DD HH:mm'). A JSON object for routes whose example is an object; a plain string only for routes whose example is a string.
routeIdNo
routeNameNo
idempotencyKeyNo같은 요청을 다시 보낼 때 같은 키를 쓰면 중복 실행되지 않음

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden, and it discloses important behavior: locked-phone operation, end-to-end encryption, validation before execution, a blocking wait, and an 'unknown' status requiring polling. It does not spell out that Shortcuts can have side effects or detail permission requirements, so it is not a 5.

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?

Four dense sentences with the core operation first, followed by the most important constraints and polling behavior. No filler or repetition of schema fields.

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 no-output-schema, async execution tool, it covers prerequisites, input validation, wait semantics, and polling. It is slightly incomplete on selecting the route via routeId vs routeName and on expected success/error result shapes, but it is closer to complete than most definitions.

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 description strongly clarifies `input` (exact keys, date format, mismatched-input rejection) and partly explains `wait` via the timeout sentence. However, routeId and routeName are not explained, and the description never mentions idempotencyKey beyond what the schema already says, leaving 60%-coverage gaps partially unaddressed.

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 opening sentence uses a specific verb-resource pair ('Run a Shortcut (route) on the user's iPhone') and clearly differentiates the tool from sibling list/get tools by saying the run returns the result, while listing routes first and polling with askew_get_run.

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?

It gives an explicit precondition ('Call askew_list_routes first'), a hard constraint on input keys and date format, and a concrete error-handling path ('if status is "unknown", poll with askew_get_run'). This tells the agent exactly when and how to use the tool.

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