Strava MCP for AI. Analyze performance, track routes, and log workouts from chat.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
Strava MCP Server connects your AI agent to all your fitness data. Use natural language commands to pull workout metadata, track athlete stats over time, and manage routes without leaving your chat window.
It reads every activity log, segment detail, and profile metric you need for training analysis.
What your AI can do
Create manual activity
Adds a new workout activity that you didn't record on Strava.
Get activity details
Retrieves detailed information for a specific past workout.
Get athlete profile
Pulls your core profile and biographical data from Strava.
Lists all past athletic activities and retrieves detailed metadata like distance, heart rate data, and elevation gain.
Accesses your profile and performance metrics to track overall progress over time.
Pulls detailed information on available routes or starred segments for training planning.
Creates or modifies activities programmatically, ensuring your training records are always current.
Lists the clubs you belong to, giving a clear overview of your athletic community participation.
Ask an AI about this
Waiting for input…
Strava MCP Server: 12 Tools for Athletic Tracking
Use these twelve tools to query every aspect of your Strava data—from simple profile reads to complex manual activity creation and statistical analysis.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Strava on VinkiusCreate Manual Activity
Adds a new workout activity that you didn't record on Strava.
Get Activity Details
Retrieves detailed information for a specific past workout.
Get Athlete Profile
Pulls your core profile and biographical data from Strava.
Get Route Details
Gets specific information about a saved route you plan to run.
Get Segment Details
Retrieves metrics and details for a specific race segment.
Get Athlete Statistics
Calculates and retrieves overall performance statistics for the athlete.
List Athlete Activities
Generates a list of all your completed athletic activities.
List Athlete Clubs
Lists the names and details of all the clubs you are joined to on Strava.
List Athlete Routes
Retrieves a list of routes you have saved or created.
List Starred Segments
Lists all the race segments you've marked as favorites.
Test Strava Auth
Verifies that the API connection and access token are working correctly.
Modify Activity
Updates key details for an existing workout entry in your log.
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Strava, then connect any of our 5,000+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,000+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Strava. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 12 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Pulling weekly training metrics usually means switching between five different screens and exporting three messy CSV files.
Right now, if you want to know your total distance, elevation gain, and average heart rate for a given period, you open the app. You click 'Activities.' Then you scroll back weeks of logs. You manually calculate the totals in a spreadsheet, hoping you didn't miss any entries or mix up run types.
With this MCP server, you just talk to your agent. You tell it: 'Show me my total stats for running last month.' The system runs `list_athlete_activities` and instantly returns one clean summary containing the distance, elevation, and average HR zones. No clicking, no spreadsheets.
Strava MCP Server lets you manage complex workout data through conversation.
You used to have to manually go into the app's edit screen to fix a typo or misremembered time for an old run. It was clunky, required multiple clicks just to adjust one number, and sometimes didn't save correctly.
Now, you tell your agent: 'I need to update my workout from last Tuesday—it was 7 miles, not 5.' The tool `modify_activity` handles the whole process. It updates the record accurately using simple commands.
What your AI can actually do with this
Look, this isn't some basic dashboard connection. This server plugs your AI client right into every corner of your Strava data. You can run complex queries and manage your whole fitness history using nothing but natural language commands. It's built for people who need the deep dive—the kind of analysis that separates good training from killer training.
Before you do anything else, remember to kick things off with test_strava_auth to make sure your connection and access token are legit. After that, here’s what you can actually get done.
Checking Your Numbers and Profile
You gotta know who you are before you analyze the runs. Use get_athlete_profile to pull all your core biographical data. For a big picture of how you've been performing over time, get_athlete_statistics calculates and pulls those overall performance metrics for the athlete. You can also see what clubs you belong to by calling list_athlete_clubs, giving you a quick rundown of where you fit in your athletic community.
Digging into Activity History
To view past workouts, call list_athlete_activities and it spits out every completed activity log. If you want the nitty-gritty on one specific workout—like how far you went, your heart rate data, or that elevation gain—you use get_activity_details. You can then take that detailed info and make sure it's right by calling modify_activity to update key details for an entry.
If you did a workout but forgot to hit record, don’t sweat it; just run create_manual_activity to log the new effort.
Mapping Out Routes and Segments
Planning your next session? You can get all your saved paths listed by running list_athlete_routes, and then use get_route_details for specific info on any route you plan to hit. For race segments—those intense little stretches that count against your PR—you've got options too. Call list_starred_segments to see all the favorite sections marked in your profile, or if you need the precise metrics and details for one of those key spots, just run get_segment_details.
In Short: You can list every single segment you've saved using list_starred_segments, check out everything about your overall performance with get_athlete_statistics, or pull detailed stats on a specific workout. It handles the entire lifecycle of your training data, from logging and viewing to planning and tracking community engagement.
019dd169-41f2-700a-bf1a-f91749610f8c Here's how it actually works
The bottom line is, your AI client handles all the API calls; you just talk to it.
First, subscribe to this server and provide your Strava Access Token (OAuth2) in the developer settings.
Next, prompt your AI client. You tell it exactly what you need—for example: 'What was my average pace last month?'
The agent calls the relevant tool (get_athlete_statistics) and returns a structured summary of your performance metrics.
Who is this actually for?
This server is for serious athletes and coaches who deal with data volume. It's for the coach tired of logging into Strava, exporting CSVs, and opening a spreadsheet just to calculate total elevation gain across five different workouts. It’s built for people whose job requires reading pattern from raw time-series fitness data.
Uses the agent to pull comparative stats—'Compare my running pace this month versus last quarter'—without switching apps.
Automates retrieving activity logs for multiple clients and monitors training progress via natural conversation, saving time on manual data collection.
Uses the tools to programmatically retrieve workout metadata (distance, heart rate) in structured formats for deep pattern analysis.
What Changes When You Connect
Get immediate workout insights. Instead of navigating to the Activity tab, you simply ask your agent for details on a specific run using get_activity_details. You get the data instantly.
Track progress with minimal effort. Use get_athlete_statistics to monitor how your overall performance changes over time—it pulls all the necessary metrics into one summary.
Plan training paths accurately. Need to know the elevation gain on a specific stretch? Ask the agent using get_segment_details. It gives you precise measurements for route planning.
Keep records current. If you forget to log a workout, use create_manual_activity or modify_activity to update your profile without leaving your chat interface.
See your whole network at once. Use list_athlete_clubs to keep track of community involvement and activity across all your joined groups.
See it in action
Quickly summarizing a training block
You just finished a marathon training week and need to know the total distance, elevation, and average heart rate. Instead of opening Strava's dashboard and clicking through logs, you prompt your agent: 'Show me my summary for last week.' The agent runs list_athlete_activities and compiles all the necessary stats into a single report.
Checking a segment difficulty before an event
You're planning a race on a new hill. You don't know how tough it is until you get there. Instead, you ask your agent to check the stats for that specific stretch using get_segment_details. The agent pulls up its metrics, letting you gauge if you need extra training time.
Updating a forgotten workout
You ran 10 miles yesterday but forgot to hit the 'Start' button. You don't want to mess with the Strava mobile app. Instead, you use create_manual_activity in your chat and input the distance and estimated time. Your log is fixed instantly.
Comparing current performance to past goals
You're trying to break a personal best pace. You ask: 'How is my average running pace this month compared to last quarter?' The agent runs get_athlete_statistics and provides a detailed comparison of your metrics, showing exactly where you improved.
The honest tradeoffs
Treating the chat like a simple search bar
Typing 'show me my activities' and expecting raw JSON output. This doesn't help if you just want to know your total distance last month.
Be specific about the data needed. Ask: 'What was my combined mileage from all running activities in May?' The agent knows it needs list_athlete_activities but is directed to calculate a sum, providing a clean answer.
Manually logging every single workout
Opening the Strava app and manually entering details for every run—it's slow, tedious, and easy to get distances wrong.
Let the agent handle it. Use create_manual_activity when you need to fix a log entry, keeping the process confined to your chat window.
Assuming one tool does everything
Asking only for 'stats' and getting nothing useful because stats often require data from multiple sources (profile + activities).
Be explicit about the required data points. Say: 'Give me my current profile details AND the average heart rate of my last three runs.' This prompts the agent to use both get_athlete_profile and list_athlete_activities.
When It Fits, When It Doesn't
Use this server if your primary need is data aggregation, analysis, or workflow automation. If you need to know 'How far did I run on April 12th?'—this works great. If you need to check the live map view of a route while running, this won't help; that requires the native app. Use it when you need complex data comparisons (e.g., comparing average pace vs. elevation gain month-over-month) or when you want to update logs without opening Strava. Don't use it if your only goal is visual browsing of historical maps—use a dedicated mapping tool for that. This server excels at turning raw, siloed data into summarized intelligence.
Questions you might have
How do I check if the Strava MCP Server is working? +
Run the test_strava_auth tool. This confirms your API connection and access token are valid, letting you know immediately if there's an issue before running complex queries.
What does list_athlete_activities do? +
It pulls a comprehensive list of all the athletic activities recorded on your account. This is the starting point for getting any historical data.
Can I get segment details using get_segment_details? +
Yes, get_segment_details retrieves specific metrics and information about a race segment you are interested in tracking or planning around.
What's the difference between list_athlete_activities and get_activity_details? +
Listing activities (list_athlete_activities) gives you a summary of many workouts. Getting details (get_activity_details) requires you to specify one workout ID, giving you all the granular data for just that single run.
How do I use get_athlete_statistics? +
You prompt your agent and ask for a comparison or summary (e.g., 'Compare my stats this month to last'). The agent uses get_athlete_statistics to calculate the metrics you need.
What does `test_strava_auth` do? +
It verifies your API credentials and connection status. Running this tool confirms that your Strava Access Token works correctly with the server before you attempt any data retrieval or modification. This is always a good first step to ensure full connectivity.
How does `modify_activity` update my workout info? +
modify_activity allows you to change existing activity records programmatically. You can correct inaccurate data, add notes, or adjust parameters for a specific logged session. This is useful when your manual log needs refinement after the fact.
What does `list_athlete_clubs` show me? +
list_athlete_clubs retrieves a list of all clubs you are currently joined to on Strava. It gives you an immediate overview of your athletic community involvement and the names associated with those groups.
How do I find my Strava Access Token? +
Log in to Strava Developers, create an API application, and you will find your Access Token in the settings. Note that you may need to use the OAuth flow to generate a long-lived or refreshed token.
We've already built the connector for Strava. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 12 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.