strava mcp for VS Code
io.github.ljcl/strava-mcp
Remote MCP server for your Strava activities, segments, and routes
client:VS Code
transport:stdio
runtime:oci
Install strava mcp in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "strava-client-id",
"description": "STRAVA_CLIENT_ID",
"password": true
},
{
"type": "promptString",
"id": "strava-client-secret",
"description": "STRAVA_CLIENT_SECRET",
"password": true
},
{
"type": "promptString",
"id": "public-url",
"description": "PUBLIC_URL",
"password": true
},
{
"type": "promptString",
"id": "strava-access-token",
"description": "STRAVA_ACCESS_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "strava-refresh-token",
"description": "STRAVA_REFRESH_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "mcp-auth-token",
"description": "MCP_AUTH_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "port",
"description": "PORT",
"password": true
},
{
"type": "promptString",
"id": "token-data-dir",
"description": "TOKEN_DATA_DIR",
"password": true
},
{
"type": "promptString",
"id": "route-export-path",
"description": "ROUTE_EXPORT_PATH",
"password": true
}
],
"servers": {
"strava-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ljcl/strava-mcp:3.0.0"
],
"env": {
"STRAVA_CLIENT_ID": "${input:strava-client-id}",
"STRAVA_CLIENT_SECRET": "${input:strava-client-secret}",
"PUBLIC_URL": "${input:public-url}",
"STRAVA_ACCESS_TOKEN": "${input:strava-access-token}",
"STRAVA_REFRESH_TOKEN": "${input:strava-refresh-token}",
"MCP_AUTH_TOKEN": "${input:mcp-auth-token}",
"PORT": "${input:port}",
"TOKEN_DATA_DIR": "${input:token-data-dir}",
"ROUTE_EXPORT_PATH": "${input:route-export-path}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs