The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Garmin Connect MCP
MCP server enabling LLMs to interact with Garmin Connect - activities, health metrics, sleep data, and training analysis
Install
uvx garmin-connect-mcp authInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →Garmin Connect MCP Server
A Model Context Protocol (MCP) server for Garmin Connect integration. Access your activities, health data, training metrics, and more through Claude and other LLMs.
Overview
This MCP server provides 22 tools to interact with your Garmin Connect account, organized into 8 categories:
- Activities (3 tools) - Query activities and view detailed metrics
- Analysis (2 tools) - Compare activities and find similar workouts
- Health & Wellness (4 tools) - Access health metrics, sleep, heart rate, and activity data
- Training (3 tools) - Analyze training periods and performance trends
- User Profile (1 tool) - Access profile, statistics, and personal records
- Challenges & Goals (2 tools) - Track goals, PRs, badges, and challenges
- Devices & Gear (2 tools) - Manage devices and equipment
- Weight Management (2 tools) - Track weight data
- Other (3 tools) - Workouts, manual data entry, women's health tracking
Additionally, the server provides:
- 3 MCP Resources - Athlete profile, training readiness, and daily health for ongoing context
- 6 MCP Prompts - Templates for common queries (training analysis, sleep quality, readiness checks, activity analysis, run comparison, health summary)
Prerequisites
- uv (the package requires Python 3.12+, which uv can manage), OR
- Docker
Installation & Setup
How Authentication Works
- Credential Authentication - Run the setup command to save credentials
- MFA Support - If MFA is enabled, the setup command prompts for your code
- Token Storage - OAuth tokens saved to
~/.garminconnect/and automatically refreshed - Persistence - Tokens persist across runs (UV on host, Docker requires volume mount)
Option 1: Using uvx
uvx garmin-connect-mcp auth
This will prompt for your credentials, complete Garmin authentication, and save OAuth tokens
for the MCP server to reuse. It writes credentials to ~/.garminconnect.env by default
and saves OAuth tokens under ~/.garminconnect/.
If you prefer manual configuration, create ~/.garminconnect.env yourself:
GARMIN_EMAIL=your-email@example.com
GARMIN_PASSWORD=your-password
Option 2: Using Docker
# Pull the image
docker pull ghcr.io/eddmann/garmin-connect-mcp:latest
Then configure credentials using one of these methods:
Interactive Setup
# Create the env file first (Docker will create it as a directory if it doesn't exist)
touch garmin-connect-mcp.env
# Run the setup script and persist generated tokens
docker run -it --rm \
-v "/ABSOLUTE/PATH/TO/garmin-connect-mcp.env:/app/.env" \
-v "/ABSOLUTE/PATH/TO/.garminconnect-docker:/root/.garminconnect" \
ghcr.io/eddmann/garmin-connect-mcp:latest \
auth
This will prompt for your credentials, complete Garmin authentication, and save credentials to
garmin-connect-mcp.env. If you have MFA enabled, enter the code during this setup step.
Manual Setup
Create a garmin-connect-mcp.env file manually in your current directory:
GARMIN_EMAIL=your-email@example.com
GARMIN_PASSWORD=your-password
MFA Support for Docker
If you have MFA enabled on your Garmin account:
Similar plugs
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)