Overview
What is Garmin MCP?
This Model Context Protocol (MCP) server connects to Garmin Connect and exposes your fitness and health data to Claude and other MCP-compatible clients. It leverages the python-garminconnect library to access Garmin’s API.
How to use Garmin MCP?
Authenticate once by running uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp-auth. Then add the server to your MCP client (e.g., Claude Desktop) using the uvx command with the garmin-mcp tool. Optionally filter which of the 110+ tools are exposed via the GARMIN_ENABLED_TOOLS or GARMIN_DISABLED_TOOLS environment variables.
Key features of Garmin MCP
- List and paginate recent activities
- Edit activity name, type, description, and more
- Access health metrics: steps, heart rate, sleep, stress
- View body composition, training status, and readiness
- Manage gear, workouts, and training plans
- Download raw activity files (FIT, GPX, TCX, CSV)
Use cases of Garmin MCP
- Query your weekly training load and recovery status from Garmin Connect
- Download a FIT file for detailed power and cadence analysis
- Create and schedule interval workouts without writing Garmin JSON
- Monitor HRV trend, VO₂ max, and respiration rate over time
- Manage gear and equipment mileage directly from an LLM chat
FAQ from Garmin MCP
How do I authenticate for the first time?
Run garmin-mcp-auth in your terminal. It will prompt for your Garmin email, password, and an MFA code if enabled. OAuth tokens are saved to ~/.garminconnect and are valid for approximately 6 months.
Can I limit which tools are available to the LLM?
Yes. Set GARMIN_ENABLED_TOOLS (comma‑separated allowlist) or GARMIN_DISABLED_TOOLS (denylist) as environment variables. Only matching tools will be registered, reducing context for the LLM.
What data is not accessible through this server?
A few endpoints are intentionally skipped: high‑volume activity details (GPS tracks), sport‑specific workout uploads, and destructive operations like deleting activities. These can be requested via GitHub issues.
Where are downloaded activity files saved?
Files go to the directory specified in the download_activity_file call argument, the GARMIN_FIT_DOWNLOAD_DIR environment variable, or a persisted directory set via set_fit_download_dir. On first run, no directory is configured and the tool will prompt you to set one.
Does the server require my Garmin credentials in the MCP config?
No. After the one‑time authentication step, tokens are stored locally. You can omit GARMIN_EMAIL and GARMIN_PASSWORD from the MCP client configuration.