Skip to main content
Glama

Routine Run: write a routine

Make a link that opens a routine in the app

routine_link
Read-onlyIdempotent

Checks a routine written in the form how_to_write_a_routine describes and returns a link. Opened on an iPhone with Routine Run, it shows the routine on the app's review screen, where the person saves it or not. Nothing is kept here. Give the person the link and the JSON too, in case the link is opened somewhere else.

Input Schema

NameRequiredDescriptionDefault
routineYesThe routine: one JSON object in the form, with "routineRun": 1, a name and its steps. JSON text is read too.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / routine / description
      Previous value: -"The routine: one JSON object in the form, with \"routineRun\": 1, a name and its steps."New value: +"The routine: one JSON object in the form, with \"routineRun\": 1, a name and its steps. JSON text is read too."
    • addedInput schema / properties / routine / type
      Added value: +[
      +  "object",
      +  "string"
      +]
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is low; the description adds real context beyond them by explaining what the link does on an iPhone (opens the app's review screen, where the user chooses to save), that nothing is persisted here, and that the JSON should be passed along as a fallback.

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?

Purpose is front-loaded in the first sentence, and the remaining sentences each add operational value (link behavior, no persistence, hand off link plus JSON). The informal phrasing adds length but stays within a reasonable size.

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?

There is no output schema, so the description must describe the return, and it does: a link plus JSON with a note on the link's on-device behavior. Combined with annotations covering the safety profile, an agent has enough to invoke and route the result, though invalid-routine/error behavior is left unstated.

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?

Schema coverage is 100% and the single parameter is already documented in the schema as accepting an object or JSON text. The description adds only an indirect pointer to how_to_write_a_routine for the format, so baseline 3 is appropriate.

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 action (checks a routine, returns a link) and names the resource, and ties the input format to the sibling how_to_write_a_routine. It's distinguishable from find_starter_routine, but the phrasing is narrative rather than crisp, so it doesn't quite reach 5.

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?

Implicitly routes the agent to how_to_write_a_routine for the input form and tells it to hand the user both the link and the JSON. However, it never states when to call this tool versus find_starter_routine, nor any precondition beyond the referenced form, leaving usage largely inferred.

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.