home / mcp / garmin mcp server
Exposes Garmin Connect data to MCP clients with activities, health metrics, workouts, and profile access.
Configuration
View docs{
"mcpServers": {
"taxuspt-garmin_mcp": {
"command": "uvx",
"args": [
"--python",
"3.12",
"--from",
"git+https://github.com/Taxuspt/garmin_mcp",
"garmin-mcp"
],
"env": {
"GARMIN_EMAIL": "YOUR_GARMIN_EMAIL",
"GARMIN_PASSWORD": "YOUR_GARMIN_PASSWORD"
}
}
}
}You can connect Garmin Connect data to MCP-compatible clients and make your fitness and health information available through a configurable MCP server. This allows you to access activities, health metrics, workouts, and gear data from tools that support the Model Context Protocol.
To use the Garmin MCP Server, run it as an MCP backend and connect your preferred MCP client (such as Claude Desktop or another MCP client). The server exposes a set of tools to fetch activities, health metrics, workouts, gear, and profile information from Garmin Connect. You can authenticate once using the pre-authentication workflow, then start the server and point your MCP client at it. When you ask questions like show me my recent activities, what was my sleep last night, or how many steps did I take yesterday, the server replies with the corresponding Garmin data.
Prerequisites you need before installation include Python 3.12 or newer and a Garmin Connect account. If MFA is enabled on your Garmin account, you will complete an MFA step during authentication.
Step 1 — Pre-authenticate (one-time). Run the authentication flow to save tokens that the server will reuse.
# Install and run authentication tool
uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp-auth
# You'll be prompted for:
# - Email (or set GARMIN_EMAIL env var)
# - Password (or set GARMIN_PASSWORD env var)
# - MFA code (if enabled on your account)
# OAuth tokens will be saved to ~/.garminconnectuv run garmin-mcp-auth --verifyIf MFA is not enabled, you can pass credentials via environment variables instead of the interactive flow.
[email protected] GARMIN_PASSWORD=secret garmin-mcp-authAdd the Garmin MCP server configuration to your MCP settings without credentials. The server will automatically use the saved tokens.
{
"mcpServers": {
"garmin": {
"command": "uvx",
"args": [
"--python",
"3.12",
"--from",
"git+https://github.com/Taxuspt/garmin_mcp",
"garmin-mcp"
]
}
}
}Restart Claude Desktop to connect to the Garmin MCP Server. Your Garmin data will be available to your MCP client.
If you prefer to run the MCP server from your own environment, you can use a local copy of the repository.
{
"mcpServers": {
"garmin-local": {
"command": "uv",
"args": [
"--directory",
"<full path to your local repository>/garmin_mcp",
"run",
"garmin-mcp"
]
}
}
}You can inspect and test the available tools using the MCP Inspector from the project root.
npx @modelcontextprotocol/inspector uv run garmin-mcpFetches the list of recent activities with pagination support.
Retrieves detailed information for a specific activity, including GPS data and charts.
Lists recent activities with pagination to browse through history.
Access health metrics such as steps, heart rate, sleep, stress, and respiration.
View body composition data collected over time.
Track training status and readiness indicators.
Retrieve readiness metrics related to training load and recovery.
Manage gear and equipment information.
Access workouts and training plans.
View available training plans and schedules.
Fetch weekly aggregates for health metrics like steps and stress.
Destructive operation to delete an activity (intentionally skipped for safety).
Destructive operation to delete blood pressure records (intentionally skipped for safety).