Garmin Connect — Claude Code MCP server: what it does, how to install
Brings Garmin Connect health metrics and workout stats into your AI assistant. Connects read-only through Garmin's official Personal API with a dedicated key.
claude mcp add --env GARMIN_PERSONAL_API_KEY=<GARMIN_PERSONAL_API_KEY> --env GARMIN_MCP_DOWNLOAD_DIR=<GARMIN_MCP_DOWNLOAD_DIR> --transport stdio garmin-connect -- uvx garmin-personal-mcpWhat Garmin Connect does
This MCP server links models to your personal fitness records, covering sleep logs, Body Battery and workouts. Rather than scraping the web portal or storing account passwords, it talks to Garmin's official Personal API client. The integration is strictly read-only, preventing any accidental edits to your account history.
Long date queries are handled automatically. If a metric has window limits, such as 28 days for step totals or 31 days for sleep, the server segments the query into separate calls behind the scenes. It also strips out raw high-frequency day samples unless asked, keeping prompt context within reasonable limits.
Without uv and an active key generated in Garmin Connect settings, the server will not return any data. You can authenticate once in your terminal with uvx garmin-personal-mcp auth or supply GARMIN_PERSONAL_API_KEY directly.
What it helps with
- inspect overnight sleep quality and HRV trends
- compare pace and heart rate across recent runs
- check recovery markers like Body Battery and stress
- pull step logs across multiple months without manual chunking
Example prompts for the agent
- How did I sleep last night and what is my current Body Battery?
- Compare the average pace and heart rate from my last three runs.
- Show my monthly HRV trend to check if recovery is dipping.
How to install Garmin Connect
Platform CLI
claude mcp add --env GARMIN_PERSONAL_API_KEY=<GARMIN_PERSONAL_API_KEY> --env GARMIN_MCP_DOWNLOAD_DIR=<GARMIN_MCP_DOWNLOAD_DIR> --transport stdio garmin-connect -- uvx garmin-personal-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from garmin-personal-mcp <command>
Platform CLI
codex mcp add garmin-connect --env GARMIN_PERSONAL_API_KEY=<GARMIN_PERSONAL_API_KEY> --env GARMIN_MCP_DOWNLOAD_DIR=<GARMIN_MCP_DOWNLOAD_DIR> -- uvx garmin-personal-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from garmin-personal-mcp <command>
Config file
{
"mcpServers": {
"garmin-connect": {
"command": "uvx",
"args": [
"garmin-personal-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "<GARMIN_PERSONAL_API_KEY>",
"GARMIN_MCP_DOWNLOAD_DIR": "<GARMIN_MCP_DOWNLOAD_DIR>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from garmin-personal-mcp <command>
Config file
{
"servers": {
"garmin-connect": {
"type": "stdio",
"command": "uvx",
"args": [
"garmin-personal-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "<GARMIN_PERSONAL_API_KEY>",
"GARMIN_MCP_DOWNLOAD_DIR": "<GARMIN_MCP_DOWNLOAD_DIR>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from garmin-personal-mcp <command>
Platform CLI
gemini mcp add -e GARMIN_PERSONAL_API_KEY=<GARMIN_PERSONAL_API_KEY> -e GARMIN_MCP_DOWNLOAD_DIR=<GARMIN_MCP_DOWNLOAD_DIR> garmin-connect uvx garmin-personal-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from garmin-personal-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Garmin Connect
How do you install Garmin Connect in Claude Code?
Run claude mcp add garmin-personal-mcp -e GARMIN_PERSONAL_API_KEY=<GARMIN_PERSONAL_API_KEY> -- uvx garmin-personal-mcp in your terminal with your personal token.
What does the Garmin Connect MCP server do?
It grants your AI assistant read access to personal health and workout metrics, including sleep, HRV, stress, and activity logs via Garmin's official API.
Does this MCP server require my Garmin account password?
No. It uses a revocable personal API token created in your Garmin Connect settings, keeping your login credentials private.