← watchout.run

INDIVIDUAL MCP TOOL

log_to_strava

After a run, prepare a Strava activity update the runner applies with one tap: returns update_url (their browser writes via their OWN Strava app; the token never touches this server; omit activity_id and they pick the run there).

watchout.runnone authenticationAvailability not checked

LIVE ENDPOINT

https://watchout.run/mcp

No auth detected

Connect to this endpoint to inspect the live schema for log_to_strava 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.
  • A tool name, description or schema mentions credentials.

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

  • 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.
  • 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).