
# Garmin Personal MCP
**Ask your AI about your Garmin data, on Garmin's official API.**
[](https://glama.ai/mcp/servers/Mason-Levyy/garmin-personal-mcp)
[](https://pypi.org/project/garmin-personal-mcp/)
[](https://github.com/Mason-Levyy/garmin-personal-mcp/actions/workflows/ci.yml)
[](https://github.com/Mason-Levyy/garmin-personal-mcp/blob/main/pyproject.toml)
[](https://github.com/Mason-Levyy/garmin-personal-mcp/stargazers)
[](https://github.com/Mason-Levyy/garmin-personal-mcp/blob/main/LICENSE)
[](https://cursor.com/en/install-mcp?name=garmin&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJnYXJtaW4tcGVyc29uYWwtbWNwIl19)
[](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522garmin%2522%252C%2522command%2522%253A%2522uvx%2522%252C%2522args%2522%253A%255B%2522garmin-personal-mcp%2522%255D%257D)
[](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522garmin%2522%252C%2522command%2522%253A%2522uvx%2522%252C%2522args%2522%253A%255B%2522garmin-personal-mcp%2522%255D%257D)
[Quickstart](#quickstart) · [Tools](#tools) · [Authentication](#authentication) · [Changelog](https://github.com/Mason-Levyy/garmin-personal-mcp/blob/main/CHANGELOG.md)
Garmin Personal MCP is a free, open-source MCP server that connects your
Garmin Connect account to Claude, Cursor, VS Code, or any other MCP client.
Ask about last night's sleep, HRV trends, Body Battery, stress, training load,
weight, or a specific run, all from your real Garmin account. It runs on
Garmin's official Personal API with a revocable key, so it never needs your
Garmin password, and it's read-only.
Published on PyPI as [`garmin-personal-mcp`](https://pypi.org/project/garmin-personal-mcp/)
and in the official MCP Registry as `io.github.Mason-Levyy/garmin-personal-mcp`.
> **Unofficial project, official API.** This isn't made by Garmin, but it only
> talks to Garmin's documented
> [Personal API](https://developer.garmin.com/gc-developer-program/personal/personal-api)
> through [Garmin's own Python client](https://github.com/garmin/connect-personal-api-python).
## How is this different from other Garmin MCP servers?
Most Garmin MCP servers sign in with your Garmin password through the
unofficial `garminconnect` library, which breaks whenever Garmin changes its
login. In October 2026 Garmin opened a Personal
API for individuals. This server uses it:
- **No password, no scraping**: a revocable Personal API key you create in
Garmin Connect, exchanged for short-lived tokens
- **The whole Personal API**: every working endpoint in Garmin's reference
has a tool, with every documented filter
- **Any date range**: ranges longer than an endpoint allows (28 days for
steps, 31 for sleep, and so on) are split into requests for you
- **Model-sized responses**: all-day sample arrays are left out unless you ask
for them
- **Read-only**: the Personal API can't change your account, and neither can
this server
## Quickstart
1. Save your Personal API key (one-time; see [Authentication](#authentication)):
```bash
uvx garmin-personal-mcp auth
```
2. Add the server to your client. The install buttons at the top do this in
one click for Cursor and VS Code.
**Claude Code**
```bash
claude mcp add garmin -- uvx garmin-personal-mcp
```
Or install it as a plugin, which asks for your key in place of step 1:
```
/plugin install garmin-personal-mcp --marketplace Mason-Levyy/garmin-personal-mcp
```
**Claude Desktop** (`claude_desktop_config.json`), **Cursor**
(`~/.cursor/mcp.json`), **Windsurf** (`~/.codeium/windsurf/mcp_config.json`),
and **Cline** (`cline_mcp_settings.json`) all take the same entry:
```json
{
"mcpServers": {
"garmin": {
"command": "uvx",
"args": ["garmin-personal-mcp"]
}
}
}
```