Getting Started¶
Prerequisites¶
- Python 3.11+
- A Garmin, WHOOP, or Strava account (at least one)
- An API key for at least one LLM provider (for the AI chat feature)
Installation¶
git clone https://github.com/ladkam/coaching-mcp.git
cd coaching-mcp
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Copy the example environment file
cp .env.example .env
Configuration¶
Edit .env with your credentials. At minimum you need:
- At least one device — Garmin credentials or WHOOP/Strava OAuth app
- An LLM API key — for the AI coaching chat (Anthropic recommended)
# .env (minimum viable config)
GARMIN_EMAIL=your@email.com
GARMIN_PASSWORD=your-garmin-password
ANTHROPIC_API_KEY=sk-ant-...
See Configuration for the full variable reference.
Running the Server¶
Web UI Mode (HTTP)¶
Opens a web server at http://localhost:8000 with:
- Dashboard with daily health metrics
- AI coaching chat
- Workout logging
- Settings and device management
MCP Mode (stdio)¶
Runs as an MCP server over stdio for integration with AI clients like Claude Desktop. See Claude Desktop setup.
Connecting Devices¶
Garmin¶
Set your Garmin Connect credentials in .env:
Cadence uses the Garmin Connect API directly — no developer app registration needed.
WHOOP¶
WHOOP requires an OAuth app. See the WHOOP integration guide for setup.
Strava¶
Strava also requires an OAuth app. See the Strava integration guide for setup.
First Steps¶
Once the server is running:
- Sign up at
http://localhost:8000/signup - Connect devices in Settings or during onboarding
- Check the dashboard for your daily briefing
- Try the chat — ask "How did I sleep last night?" or "Am I ready to train today?"