- Home
- MCP servers
- Garmin
Garmin
- python
180
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
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.
How to use
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.
How to install
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.
Step 1 — Pre-authenticate (one-time)
# 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 ~/.garminconnect
Step 1b — Verify credentials (optional)
uv run garmin-mcp-auth --verify
Step 1c — Alternative credential methods
If MFA is not enabled, you can pass credentials via environment variables instead of the interactive flow.
GARMIN_EMAIL=your@email.com GARMIN_PASSWORD=secret garmin-mcp-auth
Step 2 — Configure the MCP client (Claude Desktop)
Add 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"
]
}
}
}
Step 3 — Start the server in Claude Desktop
Restart Claude Desktop to connect to the Garmin MCP Server. Your Garmin data will be available to your MCP client.
Step 4 — Alternative local run (optional)
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"
]
}
}
}
Step 5 — Quick verification with MCP Inspector
You can inspect and test the available tools using the MCP Inspector from the project root.
npx @modelcontextprotocol/inspector uv run garmin-mcp
Available tools
get_activity
Fetches the list of recent activities with pagination support.
get_activity_details
Retrieves detailed information for a specific activity, including GPS data and charts.
list_activities
Lists recent activities with pagination to browse through history.
get_health_metrics
Access health metrics such as steps, heart rate, sleep, stress, and respiration.
get_body_composition
View body composition data collected over time.
get_training_status
Track training status and readiness indicators.
get_readiness
Retrieve readiness metrics related to training load and recovery.
manage_gear
Manage gear and equipment information.
get_workouts
Access workouts and training plans.
get_training_plans
View available training plans and schedules.
get_weekly_health_aggregates
Fetch weekly aggregates for health metrics like steps and stress.
delete_activity
Destructive operation to delete an activity (intentionally skipped for safety).
delete_blood_pressure
Destructive operation to delete blood pressure records (intentionally skipped for safety).