Strava MCP Unofficial MCP Server
by davidmosiahio.github.davidmosiah/strava-mcpv0.4.6
Privacy-first MCP server for Strava activities, streams, routes and training.
context tax
queued
security
queued
cold start
queued
freshness
Active2d ago
Install Strava MCP Unofficial MCP server
Install in Claude Code
claude mcp add strava-mcp-unofficial -e STRAVA_CLIENT_SECRET='<strava-client-secret>' -- npx -y strava-mcp-unofficialInstall in Cursor
{
"mcpServers": {
"strava-mcp-unofficial": {
"command": "npx",
"args": [
"-y",
"strava-mcp-unofficial"
],
"env": {
"STRAVA_CLIENT_SECRET": "<strava-client-secret>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"strava-mcp-unofficial": {
"command": "npx",
"args": [
"-y",
"strava-mcp-unofficial"
],
"env": {
"STRAVA_CLIENT_SECRET": "<strava-client-secret>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"strava-mcp-unofficial": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"strava-mcp-unofficial"
],
"env": {
"STRAVA_CLIENT_SECRET": "<strava-client-secret>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"strava-mcp-unofficial": {
"command": "npx",
"args": [
"-y",
"strava-mcp-unofficial"
],
"env": {
"STRAVA_CLIENT_SECRET": "<strava-client-secret>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| STRAVA_CLIENT_ID | — | — | Strava OAuth client ID. Optional when configured with strava-mcp-server setup. |
| STRAVA_CLIENT_SECRET | — | yes | 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_URI | — | — | Redirect URI configured in the Strava Developer Dashboard. Optional when configured with strava-mcp-server setup. |
| STRAVA_TOKEN_PATH | — | — | Optional local path for OAuth tokens. Defaults to ~/.strava-mcp/tokens.json. |
| STRAVA_PRIVACY_MODE | — | — | Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full Strava API payloads, not continuous 24/7 raw sensor telemetry. |
| STRAVA_CACHE | — | — | Optional SQLite cache toggle. Set to true or sqlite to enable. |
| STRAVA_CACHE_PATH | — | — | Optional local SQLite cache path. Defaults to ~/.strava-mcp/cache.sqlite. |
| STRAVA_NO_CACHE | — | — | 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. |
Freshness
Active — last maintenance signal 2d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 2d ago · GitHub
Latest release
2026-08-29 · 42d ago · GitHub · v0.6.4
Package published
no data · npm/PyPI
Registry entry updated
2026-05-29 · 4mo ago · official registry · v0.4.6
FAQ
›How do I install the Strava MCP Unofficial MCP server in Claude Code?
Run: claude mcp add strava-mcp-unofficial -e STRAVA_CLIENT_SECRET='<strava-client-secret>' -- npx -y strava-mcp-unofficial. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Strava MCP Unofficial require an API key?
Yes. It expects STRAVA_CLIENT_SECRET, of which 1 is a secret.
›Can I use Strava MCP Unofficial as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Strava MCP Unofficial in the official MCP registry?
Yes, as io.github.davidmosiah/strava-mcp.