Privacy-first MCP server for Strava activities, streams, routes and training.
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 STRAVA_REDIRECT_URI=<STRAVA_REDIRECT_URI> -e STRAVA_TOKEN_PATH=<STRAVA_TOKEN_PATH> -e STRAVA_PRIVACY_MODE=<STRAVA_PRIVACY_MODE> -e STRAVA_CACHE=<STRAVA_CACHE> -e STRAVA_CACHE_PATH=<STRAVA_CACHE_PATH> -e STRAVA_NO_CACHE=<STRAVA_NO_CACHE> -- npx -y [email protected]
{
"mcpServers": {
"strava-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"STRAVA_CLIENT_ID": "<STRAVA_CLIENT_ID>",
"STRAVA_CLIENT_SECRET": "<STRAVA_CLIENT_SECRET>",
"STRAVA_REDIRECT_URI": "<STRAVA_REDIRECT_URI>",
"STRAVA_TOKEN_PATH": "<STRAVA_TOKEN_PATH>",
"STRAVA_PRIVACY_MODE": "<STRAVA_PRIVACY_MODE>",
"STRAVA_CACHE": "<STRAVA_CACHE>",
"STRAVA_CACHE_PATH": "<STRAVA_CACHE_PATH>",
"STRAVA_NO_CACHE": "<STRAVA_NO_CACHE>"
}
}
}
}
{
"mcpServers": {
"strava-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"STRAVA_CLIENT_ID": "<STRAVA_CLIENT_ID>",
"STRAVA_CLIENT_SECRET": "<STRAVA_CLIENT_SECRET>",
"STRAVA_REDIRECT_URI": "<STRAVA_REDIRECT_URI>",
"STRAVA_TOKEN_PATH": "<STRAVA_TOKEN_PATH>",
"STRAVA_PRIVACY_MODE": "<STRAVA_PRIVACY_MODE>",
"STRAVA_CACHE": "<STRAVA_CACHE>",
"STRAVA_CACHE_PATH": "<STRAVA_CACHE_PATH>",
"STRAVA_NO_CACHE": "<STRAVA_NO_CACHE>"
}
}
}
}
{
"servers": {
"strava-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"STRAVA_CLIENT_ID": "<STRAVA_CLIENT_ID>",
"STRAVA_CLIENT_SECRET": "<STRAVA_CLIENT_SECRET>",
"STRAVA_REDIRECT_URI": "<STRAVA_REDIRECT_URI>",
"STRAVA_TOKEN_PATH": "<STRAVA_TOKEN_PATH>",
"STRAVA_PRIVACY_MODE": "<STRAVA_PRIVACY_MODE>",
"STRAVA_CACHE": "<STRAVA_CACHE>",
"STRAVA_CACHE_PATH": "<STRAVA_CACHE_PATH>",
"STRAVA_NO_CACHE": "<STRAVA_NO_CACHE>"
}
}
}
}
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_IDOptional | Strava OAuth client ID. Optional when configured with strava-mcp-server setup. |
STRAVA_CLIENT_SECRETOptional, secret | Strava OAuth client secret. Prefer strava-mcp-server setup so this secret is stored in ~/.strava-mcp/config.json instead of MCP client config. |
STRAVA_REDIRECT_URIOptional | Redirect URI configured in the Strava Developer Dashboard. Optional when configured with strava-mcp-server setup. |
STRAVA_TOKEN_PATHOptional | Optional local path for OAuth tokens. Defaults to ~/.strava-mcp/tokens.json. |
STRAVA_PRIVACY_MODEOptional | Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Strava API payloads, not continuous 24/7 raw sensor telemetry. |
STRAVA_CACHEOptional | Optional SQLite cache toggle. Set to true or sqlite to enable. |
STRAVA_CACHE_PATHOptional | Optional local SQLite cache path. Defaults to ~/.strava-mcp/cache.sqlite. |
STRAVA_NO_CACHEOptional | Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 29 May 2026 |
| Last updated | 29 May 2026 |
| Registry name | io.github.davidmosiah/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.
