Garmin MCP Server
Provides tools for fetching daily wellbeing snapshots (sleep, Body Battery, HRV, stress, Training Readiness, training status) from Garmin Connect, evaluating workloads against recovery signals, and summarizing sleep/recovery context.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Garmin MCP Servercheck my Garmin wellbeing snapshot for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Garmin MCP Server
Garmin MCP Server exposes Garmin Connect wellness and recovery metrics to MCP-compatible AI assistants. It helps agents incorporate sleep, recovery, and training context when planning work.
Capabilities
Fetch daily wellbeing snapshots from Garmin Connect
Summarize sleep, Body Battery, HRV, stress, Training Readiness, and training status
Recommend an appropriate workload level from current recovery signals
Provide a guardrail tool for assistants before accepting heavy workloads
Cache Garmin session tokens locally to avoid repeated logins
Related MCP server: Garmin MCP Server
MCP Tools
Tool | Description |
| Returns a concise daily snapshot with recovery metrics and workload recommendation. |
| Evaluates a proposed workload against current Garmin recovery signals. |
| Returns focused sleep and recovery context for a given date. |
MCP Resource
Resource | Description |
| Today's wellbeing snapshot as JSON. |
MCP Prompt
Prompt | Description |
| Instructions for using Garmin context during workload planning. |
Installation
npm install
npm run buildRun the interactive login:
npm run loginThe login command prompts for your Garmin email and password, authenticates once, and writes reusable session tokens to .garmin-tokens. Your password is not written to disk.
Create a local environment file only if you want to customize settings:
Copy-Item .env.example .envExample .env:
GARMIN_TOKEN_DIR=.garmin-tokens
GARMIN_IS_CN=falseYou can also set GARMIN_EMAIL and GARMIN_PASSWORD in .env for non-interactive environments, but the recommended local setup is npm run login.
Claude Desktop Configuration
Add the server to your Claude Desktop MCP configuration:
{
"mcpServers": {
"garmin": {
"command": "node",
"args": ["C:\\Users\\joao.siqueira\\Documents\\garmin-mcp-server\\dist\\index.js"],
"env": {
"GARMIN_TOKEN_DIR": "C:\\Users\\joao.siqueira\\Documents\\garmin-mcp-server\\.garmin-tokens"
}
}
}
}You can also place GARMIN_EMAIL and GARMIN_PASSWORD in the env block instead of using .env.
Recommended Agent Guidance
Use Garmin context as part of planning, especially when I propose a heavy workload, late-day push, risky refactor, production change, or many tickets in one day.
Before agreeing to heavy work, call garmin_workload_guard or garmin_wellbeing_snapshot.
If sleep, Body Battery, HRV, stress, or Training Readiness are poor, push back concretely: reduce ticket count, split the work, defer risky items, and create a stopping point.
Do not moralize or diagnose health. Treat the metrics as planning context, not medical advice.
If Garmin data is unavailable, say that plainly and fall back to normal workload planning.Development
npm run dev
npm run login
npm run typecheck
npm run buildSecurity
Do not commit
.envor token cache directories.Prefer token reuse over repeated credential logins.
Treat all Garmin data as private health-related context.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tavaresiqueira/garmin-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server