MCP server that exposes your Strava athletic data as tools for Claude and other LLMs
Project description
strava-mcp-agent
Give Claude access to your Strava data. An MCP server that exposes your runs, rides, swims, and all Strava metrics as tools for AI-powered coaching, analysis, and conversation.
What it does
strava-mcp-agent connects your Strava account to any MCP-compatible client (Claude Desktop, Claude Code, etc.) and provides 13 tools covering every aspect of your athletic data:
| Tool | Description |
|---|---|
get_athlete |
Your profile — name, weight, FTP, bio |
get_athlete_stats |
All-time & recent totals for run/bike/swim |
list_activities |
Browse activities with date/type filtering |
get_activity |
Full detail for one activity (splits, HR, cadence, weather) |
get_activity_zones |
Heart-rate and power zone distribution |
get_activity_laps |
Per-lap pace, HR, and distance breakdown |
get_activity_streams |
Raw sensor data (GPS, HR, cadence, watts, altitude) |
get_starred_segments |
Your starred segments |
get_segment_efforts |
Efforts on a specific segment |
get_routes |
Routes you've created |
get_gear |
Shoe/bike details and mileage |
get_clubs |
Clubs you belong to |
get_running_summary |
AI-ready coaching summary (weekly mileage, pace trends, best efforts, HR stats) |
Quick Start
Step 1: Install
pip install strava-mcp-agent
Step 2: Create a Strava API app (one time)
Go to strava.com/settings/api and fill in:
| Field | What to enter |
|---|---|
| Application Name | Anything (e.g. My Claude MCP) |
| Category | Pick any |
| Club | Leave blank |
| Website | http://localhost |
| Authorization Callback Domain | localhost |
The callback domain must be
localhost— this is what allows the setup wizard to receive the authorization code on your machine.
Click Create. On the next page, copy your Client ID (a number like 123456) and Client Secret (a long code like abc123def456...).
Step 3: Run the setup wizard
strava-mcp-token
It will:
- Ask for your Client ID and Client Secret
- Open your browser — click Authorize on the Strava page
- Auto-detect your OS (macOS / Linux / Windows)
- Find the Python that has the package installed
- Write the Claude Desktop config file for you
Step 4: Restart Claude Desktop
That's it. Your 13 Strava tools are ready. Just ask Claude about your runs.
Manual setup (if you prefer)
Click to expand
Add to your Claude Desktop config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"strava": {
"command": "strava-mcp",
"env": {
"STRAVA_CLIENT_ID": "your_client_id",
"STRAVA_CLIENT_SECRET": "your_client_secret",
"STRAVA_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}
Usage Examples
Once connected, just talk to Claude:
- "How was my running this month?"
- "Compare my last 5 runs — am I getting faster?"
- "What's my average heart rate on long runs vs tempo runs?"
- "Show me my weekly mileage trend for the past 2 months"
- "What gear has the most miles on it?"
The get_running_summary tool is especially powerful for coaching — it computes weekly mileage, pace trends, best 5K/10K efforts, and heart rate stats, all in one call.
Security
Credentials are loaded from environment variables only — never hardcoded. The server uses Strava's OAuth2 refresh token flow and automatically handles token renewal.
Requirements
- Python 3.10+
- A Strava account with API access
- MCP-compatible client (Claude Desktop, Claude Code, etc.)
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file strava_mcp_agent-0.2.0.tar.gz.
File metadata
- Download URL: strava_mcp_agent-0.2.0.tar.gz
- Upload date:
- Size: 19.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
931ff561c2fec104102b80b03716db4492aaa9ac312bdb91ad6c8d3377942238
|
|
| MD5 |
3a1d36ea11176e8103064f909c327511
|
|
| BLAKE2b-256 |
0925c037f5c7dde82be3d5186cd7ed438a35b5566994706fa128ec1410aa5a7f
|
File details
Details for the file strava_mcp_agent-0.2.0-py3-none-any.whl.
File metadata
- Download URL: strava_mcp_agent-0.2.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbf4a7b43209ce8f549428f6fda4424f867798a14056a742d82b5d74aecb86e2
|
|
| MD5 |
d4d237ab37a8f8d512454bba3ec03440
|
|
| BLAKE2b-256 |
ac5a3b9f2d675b91f4d857f293aff4609fbdde1971d77c98a799e8cb0ac8cec4
|