Strava MCP Server
Connects Strava training data to Claude, enabling personalized coaching through analysis of training load, workout planning, gear maintenance, and power metrics.
README
<!-- mcp-name: io.github.ArjanLig/strava-mcp -->
Strava MCP Server
Connect 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.
Install
Works with Claude Desktop and claude.ai on any plan. Free plans can add 1 custom connector (remove any existing connector first), Pro and Max are unlimited.
1. Create a Strava API app
This takes about 2 minutes. You need a free Strava API app so Claude can access your data.
- Go to strava.com/settings/api
- Fill in the form — Application Name, Category, and Description can be anything (e.g. "My Claude connector")
- Set Authorization Callback Domain to
strava-mcp-web.vercel.app - Click Create and note your Client ID and Client Secret
2. Add the connector
- Open Claude Desktop or claude.ai
- Go to Settings → Connectors → Add custom connector
- Paste this URL and save:
https://strava-mcp-web.vercel.app/mcp
3. Connect
Click Connect on the newly added connector. This opens a page where you enter your Strava Client ID and Client Secret, then authorize with Strava.
That's it! Ask Claude about your training.
Tools
The server exposes 10 tools:
| Tool | Description |
|---|---|
get_recent_activities |
Your last activities with distance, duration, and heart rate |
get_activity_details |
Deep dive into a specific activity — power, HR, speed, suffer score |
get_training_load_analysis |
ATL, CTL, TSB with training advice and 8-week trends |
get_weekly_stats |
Weekly volume — activities, kilometers, hours |
get_weekly_training_plan |
Weekly plan based on current fitness and fatigue |
get_gear_maintenance |
Bike/shoe km totals with chain, cassette, tire warnings |
get_power_curve |
Best power outputs (5s–60min), FTP estimate, monthly comparison |
get_hr_zone_distribution |
Time in each HR zone with polarized training advice |
get_hr_drift_analysis |
Cardiac drift in steady rides — aerobic efficiency indicator |
check_workout_quality |
Interval consistency, power decoupling, recovery scoring |
Example conversations
"I want to ride tonight, what should I do?" "How is my training load looking?" "Check the quality of my last interval workout" "When do I need to replace my chain?" "What's my FTP and how does it compare to last month?" "Am I spending enough time in zone 2?" "I'm training for a 150km race in April — am I on track?"
How it works
Claude pulls your Strava data in real-time and reasons about it in context — your recent rides, fitness trend, fatigue level, and goals.
Training load analysis uses the standard PMC model:
- ATL (7-day) — how tired you are now
- CTL (42-day) — your fitness level
- TSB — CTL minus ATL. Positive = fresh, negative = fatigued
- Ramp rate — week-over-week load change, with injury risk warnings
Gear maintenance tracks km on each bike and shoe, warning when chain (3000km), cassette (6000km), tires (5000km), or cables (8000km) need attention.
Power curve finds your best efforts across durations and estimates FTP at 95% of your 20-minute power.
HR analysis covers zone distribution (are you polarizing enough?) and cardiac drift (is your aerobic base improving?).
Limitations
- Training load uses suffer score / HR — it underestimates fatigue from strength training or activities where HR stays low
- Power features require a power meter or smart trainer
- The weekly plan is a heuristic, not a replacement for a certified coach
Troubleshooting
Connector not working? Remove and re-add the connector in Settings → Connectors.
Authentication error?
Check that your Strava API app has strava-mcp-web.vercel.app as the callback domain.
Website
Built with
- Model Context Protocol (MCP) — Anthropic's open standard for connecting AI to external tools
- Strava API v3 — Access to athlete activities and metrics
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.