Garmin Connect MCP
README.md
# Garmin Connect MCP
MCP server that connects Claude Desktop with your Garmin Connect account.
## Available tools
| Tool | Description |
|---|---|
| `get_recent_activities` | Latest N activities with key metrics |
| `get_activity_details` | Full metrics for a specific activity by ID |
| `get_activity_splits` | Lap/split data for an activity |
| `get_activity_hr_zones` | Time in each heart rate zone |
| `get_stats_for_date` | Daily stats: steps, calories, resting HR, stress, sleep |
| `get_activities_by_date` | Activities in a date range, filterable by type |
## Installation
1. Clone the repo and create a virtual environment:
```bash
python3 -m venv garmin-mcp-env
source garmin-mcp-env/bin/activate
pip install -r requirements.txt
```
2. Configure Claude Desktop (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"garmin": {
"command": "/ABSOLUTE/PATH/TO/garmin-mcp-env/bin/python",
"args": ["/ABSOLUTE/PATH/TO/garmin-mcp/server.py"],
"env": {
"GARMIN_EMAIL": "your@email.com",
"GARMIN_PASSWORD": "your_password"
}
}
}
}
```
3. Restart Claude Desktop.
## Notes
- Credentials are stored in plain text in `claude_desktop_config.json` — never commit that file.
- Do not move `garmin-mcp-env/` after creation — venvs use absolute paths and break when relocated.
## Dependencies
- [garminconnect](https://github.com/cyberjunky/python-garminconnect) 0.3.6+
- [mcp](https://github.com/anthropics/mcp) — Anthropic MCP SDK