# ===========================================
# Strava API Credentials (required for both modes)
# Get these from: https://www.strava.com/settings/api
# ===========================================
STRAVA_CLIENT_ID=your_client_id_here
STRAVA_CLIENT_SECRET=your_client_secret_here
# ===========================================
# stdio Mode (Claude Desktop)
# These tokens are obtained via: npm run setup
# ===========================================
STRAVA_ACCESS_TOKEN=your_access_token_here
STRAVA_REFRESH_TOKEN=your_refresh_token_here
STRAVA_EXPIRES_AT=unix_timestamp_here
# ===========================================
# HTTP Mode (ChatGPT, REST clients)
# Only needed when running: npm run start:http
# ===========================================
# OAuth client credentials for external clients (ChatGPT, etc.)
# You create these - they're used by clients to authenticate with YOUR server
# Generate with: openssl rand -hex 16
OAUTH_CLIENT_ID=your_oauth_client_id_here
OAUTH_CLIENT_SECRET=your_oauth_client_secret_here
# JWT secret for signing access tokens (required for HTTP mode)
# Generate with: openssl rand -base64 32
JWT_SECRET=your_random_secret_here
# JWT expiration time (optional, default: 7d)
# Examples: 1h, 24h, 7d, 30d
JWT_EXPIRES_IN=7d
# OAuth callback URL (required for HTTP mode)
# Must match the callback domain registered in your Strava app
STRAVA_REDIRECT_URI=http://localhost:3000/auth/strava/callback
# SQLite database path (optional, default: ./data/strava-mcp.db)
DATABASE_PATH=./data/strava-mcp.db
# HTTP server port (optional, default: 3000)
HTTP_PORT=3000
# ===========================================
# OAuth Scope (for reference)
# ===========================================
# Read-only: read,activity:read_all,profile:read_all
# Read+Write: read,activity:read_all,activity:write,profile:read_all