Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Run Coach

БесплатноНе проверен

An MCP server that pulls your Strava data and gives you a run recommendation from Claude, rendered as a dashboard.

GitHubEmbed

Описание

An MCP server that pulls your Strava data and gives you a run recommendation from Claude, rendered as a dashboard.

README

An MCP server that pulls your Strava data and gives you a run recommendation from Claude, rendered as a dashboard.

image

What it does

  • Fetches recent activities and all-time stats from the Strava API
  • Shows them in a Prefab UI dashboard (rides, runs, distance, suffering index)
  • Has a button that sends your last N days of runs to Claude and gets back a plain-English recommendation for today's run

Stack

  • FastMCP — the MCP server itself, with FastMCPApp for the UI-facing tools
  • Prefab — the dashboard UI, written in Python instead of JSX
  • Anthropic API — generates the run recommendation
  • httpx — talks to Strava
  • uv — dependency management and running the thing

Setup

1. Install dependencies

uv add fastmcp anthropic httpx

2. Strava API access

You need a Strava API app (create one at strava.com/settings/api) and a one-time OAuth flow to get a refresh token. Scope needs to include activity:read_all — the default read scope isn't enough.

Run the setup script (not part of the server itself) to get your first refresh_token, then it lives in strava_tokens.json.

3. Environment variables

Create a .env:

ANTHROPIC_API_KEY=sk-ant-...
STRAVA_CLIENT_ID=...
STRAVA_CLIENT_SECRET=...
STRAVA_TOKEN_PATH=./strava_tokens.json

4. Run it

uv run --env-file .env --with fastmcp fastmcp dev apps mcpserver.py --reload

Project structure

mcpserver.py       # the server: tools, UI, everything
strava_auth.py      # token refresh logic
strava_tokens.json  # your access/refresh token (gitignored)
.env                 # secrets (gitignored)

How the recommendation flow works

  1. Dashboard loads → fetches Strava data server-side, renders stats
  2. Click "Get Recommendation" → calls get_run_recommendation, a private tool the UI can hit but the model can't call directly in chat
  3. That tool re-fetches recent runs, trims to the fields that matter (distance, pace, HR, suffer score), sends them to Claude with a coaching system prompt
  4. Response comes back, gets dropped into the page via state

Considerations

  • Strava rate limits are tight (100 req/15min, 1000/day)
  • max_tokens needs headroom if thinking is ever turned on — thinking and output share the budget

from github.com/GWilson97/MCP_Run_Recommender

Установка Run Coach

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/GWilson97/MCP_Run_Recommender

FAQ

Run Coach MCP бесплатный?

Да, Run Coach MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Run Coach?

Нет, Run Coach работает без API-ключей и переменных окружения.

Run Coach — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Run Coach в Claude Desktop, Claude Code или Cursor?

Открой Run Coach на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Run Coach with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai