Skip to main content
Glama

Start a routine

start_run

Starts a run of one of the person's routines on their iPhone, by the routine's name (any case) or id. Its card appears on the Lock Screen. The answer carries run, the new run's id, for set_value, next_step and the rest. A routine that allows several at once gets one more run each time; give each a name ("Onboarding Acme") and the values its steps or name quote ({param:company}) so they can be told apart. One that runs one at a time and is already going answers alreadyGoing with the run that is going, unless restart is true.

Input Schema

NameRequiredDescriptionDefault
nameNoWhat this run is called, if not the routine's name. Up to 80 characters.
valuesNoValues the run starts with, by key — the keys the routine's steps and name quote as {param:key}. Up to 20.
restartNoFor a routine that runs one at a time and is already going: end that run and begin again. Only when the person asked to start over.
routineYesThe routine's name or id.
ask_firstNoWait for the person to say yes on the phone before it begins. Use it when they asked you to check with them first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that a card appears on the Lock Screen, that the response carries `run` (the new run's id) for set_value/next_step, and that a single-run routine already in progress returns alreadyGoing with the existing run unless `restart` is true. That is real behavioral context an agent could not infer from readOnlyHint=false / idempotentHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool does, then the return value, then the concurrency/restart cases — a sensible order. Some phrasing is dense and awkward ('the `values` its steps or name quote ({param:company})'), but every sentence carries information.

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?

With no output schema, the description correctly explains the return shape (`run` id, alreadyGoing case). It covers concurrency and restart semantics well. It does not mention what happens when the routine name is unknown or whether the phone must be reachable, which are the remaining gaps for a mutation tool.

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 already 100%, so the baseline is 3; the description earns more by explaining why `name` and `values` matter (telling concurrent runs apart) and how `restart` interacts with the alreadyGoing outcome. It adds rationale the per-property schema text does not carry, though it says nothing about `ask_first`.

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 specific verb and resource: starts a run of one of the person's routines on their iPhone, resolved by name (any case) or id. An agent can tell what it does without opening the schema. It does not, however, distinguish itself from the sibling start_new_run or from plan_run, so sibling differentiation is missing.

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

Usage Guidelines3/5

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

The description gives conditional guidance for parameter choices — supply a `name` and `values` when the routine allows concurrent runs so they can be told apart, and `restart` only when the routine is single-run and already going. It never says when to pick this tool over start_new_run, plan_run, or start_new_run alternatives, so tool selection is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.