Skip to main content
Glama
AlexGarciaPer

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