Strava MCP Server
A remote Model Context Protocol server for the Strava API that runs serverless on AWS Lambda.
What is this?
The Strava MCP Server is a production-ready Model Context Protocol server that enables AI assistants like Claude to interact with your Strava account. It runs completely serverless on AWS Lambda, staying within the FREE tier for personal use.
Key Features
- π Automatic OAuth Token Refresh - Set it and forget it
- βοΈ Serverless AWS Lambda - Runs in the free tier
- π± Claude Web & Mobile OAuth - Secure connector support
- π 11 Strava API Tools - Activities, athlete stats, streams, clubs, uploads
- π― Activity Enrichment - Transform generic workout titles into detailed training logs
- β‘ Built with Bun - Fast builds and deployments
Quick Start
1. Prerequisites
- Bun installed
- AWS Account (free tier)
- AWS SAM CLI installed
- Strava API credentials
2. Clone and Install
git clone https://github.com/Stealinglight/StravaMCP.git
cd StravaMCP
bun install
3. Get Strava Credentials
node get-token.js YOUR_CLIENT_ID YOUR_CLIENT_SECRET
4. Build and Deploy
bun run build:lambda
bun run deploy
Follow the prompts to enter your Strava credentials and AWS region.
5. Connect to Claude
After deployment, copy the ClaudeConnectionUrl and add it to Claude:
Claude Web: Settings β Connectors β Add custom connector (OAuth, base URL) Claude Mobile: Settings β MCP Servers β Add Server
Architecture
βββββββββββββββββββ
β Claude (Web/App)β
ββββββββββ¬βββββββββ
β Streamable HTTP
βΌ
βββββββββββββββββββ
β AWS Lambda β
β Function URL β
ββββββββββ¬βββββββββ
β MCP Protocol
βΌ
βββββββββββββββββββ
β Strava API β
βββββββββββββββββββ
Available Tools
Activities
get_activities- List recent activitiesget_activity_by_id- Get detailed activity infocreate_activity- Create manual activitiesupdate_activity- Enrich activities with detailsget_activity_zones- Get heart rate/power zones
Athlete
get_athlete- Get profile informationget_athlete_stats- Training statistics
Streams
get_activity_streams- Time-series telemetry data
Clubs
get_club_activities- Club member activities
Uploads
create_upload- Upload FIT/TCX/GPX filesget_upload- Check upload status
Why Serverless?
Traditional MCP servers run locally and canβt be used with Claude web or mobile. By deploying to AWS Lambda:
- β Access your Strava data from any device
- β Works with Claude web and mobile
- β Zero infrastructure to manage
- β Free tier means $0/month for personal use
- β Auto-scales from zero to thousands of requests
Cost
$0/month under AWS Free Tier for typical use:
- 1M Lambda requests/month (FREE forever)
- 400,000 GB-seconds compute/month (FREE for 12 months)
- Typical usage: < 10,000 requests/month
Documentation
- Deployment Guide - Step-by-step AWS deployment
- Free Tier Guide - Stay within AWS free tier limits
- API Reference - All 11 MCP tools documented
- Examples - Common use cases
Links
Made with β€οΈ by Stealinglight