# Routine Run: write a routine

> Write a step-by-step routine and get a link that opens it in Routine Run on iPhone. No sign-in.

- name: com.routinerun/routine-writer
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 99/100
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.routinerun%2Froutine-writer
- tools: https://api.protogrid.dev/v1/servers/com.routinerun%2Froutine-writer/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "routine-writer": {
      "type": "http",
      "url": "https://api.routinerun.com/mcp/public"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 97
- freshness: 100
- provenance: 100
- drivers: +repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-92% +updated-2d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 376 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 6 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 376 tokens to load them all
- tool set hash: ef0a0511d8adb8a0dbd58cc676f848dd
- tools last changed: 2026-10-14T19:54:06.090Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.routinerun/routine-writer.svg)](https://protogrid.dev/servers/com.routinerun/routine-writer)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-14 `find_starter_routine` changed (annotations)
- 2026-10-14 `routine_link` changed (inputSchema, annotations)
- 2026-10-14 `how_to_write_a_routine` changed (description, annotations)
  - before: The form Routine Run reads: every field, every action a step can take, and examples. Read it once before writing a routine for routine_link.
  - after: The JSON form Routine Run reads a routine in: every field and every action a step can take. Use it when writing a routine for routine_link, start_new_run or propose_new_routine.

Full history: https://api.protogrid.dev/v1/servers/com.routinerun%2Froutine-writer/changes

## Remotes

- https://api.routinerun.com/mcp/public (streamable-http, auth none, reachable true, uptime30d 0.9166667)

## Packages

_none_

## Tools (3)

- `find_starter_routine`: Searches the routines the app ships — mornings, focus, on call, chores and more — by words in their name or description. Each comes with its steps and a link that adds it in the app.
- `how_to_write_a_routine`: The JSON form Routine Run reads a routine in: every field and every action a step can take. Use it when writing a routine for routine_link, start_new_run or propose_new_routine.
- `routine_link`: 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.
