← watchout.run

INDIVIDUAL MCP TOOL

make_workout_links

Create the links for one running workout: page_url (shareable page with watch/FIT and calendar buttons), gen_url (Apple .workout), fit_url (Garmin FIT), plus calendar artifacts when start is given.

watchout.runnone authenticationAvailability not checked

LIVE ENDPOINT

https://watchout.run/mcp

No auth detected

Connect to this endpoint to inspect the live schema for make_workout_links and invoke it with your own arguments.

Indexed input schema

{}

Risk classification

Potential side effects detected · medium confidence · heuristic, not a guarantee.

  • A tool name or description contains a write-action term.

Parent server

watchout.run

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.watchout]
url = "https://watchout.run/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "watchout": {
      "type": "http",
      "url": "https://watchout.run/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: watchout
Remote MCP URL: https://watchout.run/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "watchout": {
      "url": "https://watchout.run/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "watchout": {
      "type": "http",
      "url": "https://watchout.run/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "watchout",
  "transport": "streamable-http",
  "url": "https://watchout.run/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

Related tools

  • runner_profile_interview — The one-time 'grill me' setup interview method: mine the runner's Strava history for routes/laps/hills/paces, confirm one decision at a time, and save the resulting profile in YOUR memory (this server stores nothing).
  • make_plan_links — Create a whole training plan (any horizon) in one call: plan_url (page with Add-all-to-Calendar and Send-all-to-Garmin), ics_url (ONE import = whole plan; ics_upsert_url for Google), a per-session manifest, `calendar` (ready-to-write events + a 📋 anchor for hosts with calendar tools — prefer writing those directly), and optionally ONE intervals.icu bulk body.
  • show_plan_progress — Render the runner's plan progress as an at-a-glance card + computed stats.
  • read_workout_link — Decode a pasted WatchOut link (/w, /ics, /gen, /fit, /plan, /plan.ics) back into make_workout_links-shaped fields + uid + revision — the link IS the state, so this recovers any session or plan in a fresh chat (ask the runner to paste it from the calendar event's URL row).
  • whats_new — Server changelog for version awareness.
  • pull_strava_routes — Read the runner's SAVED Strava routes when your own Strava tools can't (most can't — the official connector is activities-only).
  • fetch_strava_handoff — Collect what the runner sent from a WatchOut page (routes, activities, or an applied-confirmation — see pull_strava_routes / get_strava_activities / log_to_strava).
  • now — The server clock — call it FIRST in a fresh conversation (or whenever unsure what day it is) to anchor 'today': your own sense of date drifts.