Routine Run: write a routine
by routinerun.com · remote · no sign-in to list tools · v1.0.1 · published by com.routinerun
Write a step-by-step routine and get a link that opens it in Routine Run on iPhone. No sign-in.
3 tools: 2 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http routine-writer https://api.routinerun.com/mcp/publicFindings
Matches of fixed checks, with the text they matched.
The server marks "how_to_write_a_routine" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "how_to_write_a_routine" says "write": a word for a change.
- Warnroutine_link
The server marks "routine_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "routine_link" says "link": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
3 tools
Changes things 2Claude Code: ask
how_to_write_a_routineThe JSON form Routine Run reads a routine in: every field and every action a step can take.1 finding
Why it is in this group
- The name "how_to_write_a_routine" says "write": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "how_to_write_a_routine" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "how_to_write_a_routine" says "write": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: How to write a routine
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
routine_linkChecks a routine written in the form how_to_write_a_routine describes and returns a link.1 finding
Why it is in this group
- The name "routine_link" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "routine_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "routine_link" says "link": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Make a link that opens a routine in the app
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 1Claude Code: allow
find_starter_routineSearches the routines the app ships — mornings, focus, on call, chores and more — by words in their name or description.No findings
Why it is in this group
- The name "find_starter_routine" says "find": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Find a ready routine
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http routine-writer https://api.routinerun.com/mcp/publicRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__routine-writer__find_starter_routine"
],
"ask": [
"mcp__routine-writer__how_to_write_a_routine",
"mcp__routine-writer__routine_link"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as routine-writer. Review it before you use it.