Remote MCP server for your Strava activities, segments, and routes
Connect Runs on your machine
claude mcp add strava-mcp -e STRAVA_CLIENT_ID=<STRAVA_CLIENT_ID> -e STRAVA_CLIENT_SECRET=<STRAVA_CLIENT_SECRET> -e PUBLIC_URL=<PUBLIC_URL> -e STRAVA_ACCESS_TOKEN=<STRAVA_ACCESS_TOKEN> -e STRAVA_REFRESH_TOKEN=<STRAVA_REFRESH_TOKEN> -e MCP_AUTH_TOKEN=<MCP_AUTH_TOKEN> -e PORT=<PORT> -e TOKEN_DATA_DIR=<TOKEN_DATA_DIR> -e ROUTE_EXPORT_PATH=<ROUTE_EXPORT_PATH> -- docker run -i --rm ghcr.io/ljcl/strava-mcp:3.0.0
{
"mcpServers": {
"strava-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ljcl/strava-mcp:3.0.0"
],
"env": {
"STRAVA_CLIENT_ID": "<STRAVA_CLIENT_ID>",
"STRAVA_CLIENT_SECRET": "<STRAVA_CLIENT_SECRET>",
"PUBLIC_URL": "<PUBLIC_URL>",
"STRAVA_ACCESS_TOKEN": "<STRAVA_ACCESS_TOKEN>",
"STRAVA_REFRESH_TOKEN": "<STRAVA_REFRESH_TOKEN>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>",
"PORT": "<PORT>",
"TOKEN_DATA_DIR": "<TOKEN_DATA_DIR>",
"ROUTE_EXPORT_PATH": "<ROUTE_EXPORT_PATH>"
}
}
}
}
{
"mcpServers": {
"strava-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ljcl/strava-mcp:3.0.0"
],
"env": {
"STRAVA_CLIENT_ID": "<STRAVA_CLIENT_ID>",
"STRAVA_CLIENT_SECRET": "<STRAVA_CLIENT_SECRET>",
"PUBLIC_URL": "<PUBLIC_URL>",
"STRAVA_ACCESS_TOKEN": "<STRAVA_ACCESS_TOKEN>",
"STRAVA_REFRESH_TOKEN": "<STRAVA_REFRESH_TOKEN>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>",
"PORT": "<PORT>",
"TOKEN_DATA_DIR": "<TOKEN_DATA_DIR>",
"ROUTE_EXPORT_PATH": "<ROUTE_EXPORT_PATH>"
}
}
}
}
{
"servers": {
"strava-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ljcl/strava-mcp:3.0.0"
],
"env": {
"STRAVA_CLIENT_ID": "<STRAVA_CLIENT_ID>",
"STRAVA_CLIENT_SECRET": "<STRAVA_CLIENT_SECRET>",
"PUBLIC_URL": "<PUBLIC_URL>",
"STRAVA_ACCESS_TOKEN": "<STRAVA_ACCESS_TOKEN>",
"STRAVA_REFRESH_TOKEN": "<STRAVA_REFRESH_TOKEN>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>",
"PORT": "<PORT>",
"TOKEN_DATA_DIR": "<TOKEN_DATA_DIR>",
"ROUTE_EXPORT_PATH": "<ROUTE_EXPORT_PATH>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
STRAVA_CLIENT_IDRequired | Strava API client ID |
STRAVA_CLIENT_SECRETRequired, secret | Strava API client secret |
PUBLIC_URLRequired | Public HTTPS URL used for the Strava OAuth callback |
STRAVA_ACCESS_TOKENOptional, secret | Optional initial access token from setup-auth |
STRAVA_REFRESH_TOKENOptional, secret | Optional initial refresh token from setup-auth |
MCP_AUTH_TOKENOptional, secret | Shared secret gating /mcp and the OAuth web routes (recommended when internet-facing) |
PORTOptional | Server port (default 3000) |
TOKEN_DATA_DIROptional | Override token storage directory (default ./data) |
ROUTE_EXPORT_PATHOptional | Absolute directory for exported route files |
Details
| Package | ghcr.io/ljcl/strava-mcp:3.0.0 (OCI, streamable-http) |
| First published | 23 Aug 2026 |
| Last updated | 23 Aug 2026 |
| Registry name | io.github.ljcl/strava-mcp |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
