{
  "markdown": "<!-- mcp-name: io.github.ArjanLig/strava-mcp -->\n# Strava MCP Server\n\n[![MCP Badge](https://lobehub.com/badge/mcp/arjanlig-strava-mcp-server)](https://lobehub.com/mcp/arjanlig-strava-mcp-server)\n\nConnect your Strava training data to Claude. This MCP server turns Claude into your personal training coach — analyzing your training load, planning workouts, and tracking your progress. Works with cycling, running, and any sport you track on Strava.\n\n![Strava MCP](strava_claude_mcp_logo.svg)\n\n## Install\n\nWorks with [Claude Desktop](https://claude.ai/download) and [claude.ai](https://claude.ai) on any plan. Free plans can add 1 custom connector (remove any existing connector first), Pro and Max are unlimited.\n\n### 1. Create a Strava API app\n\nThis takes about 2 minutes. You need a free Strava API app so Claude can access your data.\n\n1. Go to [strava.com/settings/api](https://www.strava.com/settings/api)\n2. Fill in the form — **Application Name**, **Category**, and **Description** can be anything (e.g. \"My Claude connector\")\n3. Set **Authorization Callback Domain** to `strava-mcp-web.vercel.app`\n4. Click **Create** and note your **Client ID** and **Client Secret**\n\n### 2. Add the connector\n\n1. Open Claude Desktop or [claude.ai](https://claude.ai)\n2. Go to **Settings → Connectors → Add custom connector**\n3. Paste this URL and save:\n\n```\nhttps://strava-mcp-web.vercel.app/mcp\n```\n\n### 3. Connect\n\nClick **Connect** on the newly added connector. This opens a page where you enter your Strava Client ID and Client Secret, then authorize with Strava.\n\nThat's it! Ask Claude about your training.\n\n## Tools\n\nThe server exposes 10 tools:\n\n| Tool | Description |\n|---|---|\n| `get_recent_activities` | Your last activities with distance, duration, and heart rate |\n| `get_activity_details` | Deep dive into a specific activity — power, HR, speed, suffer score |\n| `get_training_load_analysis` | ATL, CTL, TSB with training advice and 8-week trends |\n| `get_weekly_stats` | Weekly volume — activities, kilometers, hours |\n| `get_weekly_training_plan` | Weekly plan based on current fitness and fatigue |\n| `get_gear_maintenance` | Bike/shoe km totals with chain, cassette, tire warnings |\n| `get_power_curve` | Best power outputs (5s–60min), FTP estimate, monthly comparison |\n| `get_hr_zone_distribution` | Time in each HR zone with polarized training advice |\n| `get_hr_drift_analysis` | Cardiac drift in steady rides — aerobic efficiency indicator |\n| `check_workout_quality` | Interval consistency, power decoupling, recovery scoring |\n\n## Example conversations\n\n> \"I want to ride tonight, what should I do?\"\n> \"How is my training load looking?\"\n> \"Check the quality of my last interval workout\"\n> \"When do I need to replace my chain?\"\n> \"What's my FTP and how does it compare to last month?\"\n> \"Am I spending enough time in zone 2?\"\n> \"I'm training for a 150km race in April — am I on track?\"\n\n## How it works\n\nClaude pulls your Strava data in real-time and reasons about it in context — your recent rides, fitness trend, fatigue level, and goals.\n\n**Training load analysis** uses the standard PMC model:\n- **ATL** (7-day) — how tired you are now\n- **CTL** (42-day) — your fitness level\n- **TSB** — CTL minus ATL. Positive = fresh, negative = fatigued\n- **Ramp rate** — week-over-week load change, with injury risk warnings\n\n**Gear maintenance** tracks km on each bike and shoe, warning when chain (3000km), cassette (6000km), tires (5000km), or cables (8000km) need attention.\n\n**Power curve** finds your best efforts across durations and estimates FTP at 95% of your 20-minute power.\n\n**HR analysis** covers zone distribution (are you polarizing enough?) and cardiac drift (is your aerobic base improving?).\n\n## Limitations\n\n- Training load uses suffer score / HR — it underestimates fatigue from strength training or activities where HR stays low\n- Power features require a power meter or smart trainer\n- The weekly plan is a heuristic, not a replacement for a certified coach\n\n## Troubleshooting\n\n**Connector not working?**\nRemove and re-add the connector in Settings → Connectors.\n\n**Authentication error?**\nCheck that your Strava API app has `strava-mcp-web.vercel.app` as the callback domain.\n\n## Website\n\n[strava-mcp-web.vercel.app](https://strava-mcp-web.vercel.app)\n\n## Built with\n\n- [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) — Anthropic's open standard for connecting AI to external tools\n- [Strava API v3](https://developers.strava.com/) — Access to athlete activities and metrics\n\n## License\n\nMIT\n",
  "bytes": 4539,
  "sha": "1541af578724025ac8b9290531f3fe2ebcda62ee756a8d9f96451057585bee86",
  "repo_slug": "arjanlig/strava-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_arjanlig_strava_mcp_4c2ad2d1/readme"
}