Garmin MCP Server
Provides tools to retrieve daily summaries, heart rate, steps, sleep, stress, body battery, activities, activity details, GPS tracks, LiveTrack real-time positions, HRV, and training readiness from Garmin Connect.
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 ServerShow my daily summary 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
OpenClaw Platform Β· Port 8422
FastMCP server for Garmin Connect β live GPS tracking, health metrics, and activity data for AI agents.
β‘ Quick Start
# 1. Clone / enter project
cd garmin-mcp
# 2. Install dependencies
pip install -r requirements.txt
# 3. Configure credentials
cp .env.example .env
# Edit .env β set GARMIN_EMAIL and GARMIN_PASSWORD
# 4. Run server
python server.pyServer starts at: http://localhost:8422
First run logs into Garmin Connect and caches the session token at ~/.garmin_mcp_tokens.
Subsequent runs reuse the cached token (no re-login needed).
Related MCP server: Garmin MCP Server
π οΈ Tools (12 total)
# | Tool | Description |
1 |
| Steps, HR, stress, calories, sleep, distance |
2 |
| Resting/max HR + time-series timeline |
3 |
| 15-min interval step breakdown |
4 |
| Deep/light/REM/awake stages + score |
5 |
| Avg/max stress + ASCII chart |
6 |
| Energy levels over 1β7 day range |
7 |
| Recent activities with IDs for drill-down |
8 |
| Full activity stats + lap splits |
9 |
| GPS coordinates from recorded activity |
10 |
| Real-time position via LiveTrack polling |
11 |
| HRV last-night + weekly average |
12 |
| Today's readiness score + factors |
π‘ LiveTrack Real-time GPS
On your Garmin device β start activity β enable LiveTrack
Garmin sends a share URL to your contacts, e.g.:
https://livetrack.garmin.com/session/abc123.../token/xyz...Extract the session token (between
/session/and/token/)Call
garmin_get_livetrackwith that token β positions update ~every 4 seconds
π OpenClaw Integration
Add to your OpenClaw config:
skills:
- name: garmin-health
transport: streamable-http
url: http://localhost:8422Or connect via MCP protocol URL in Claude Desktop:
http://localhost:8422/sseπ Auth Notes
Uses the unofficial
garminconnectPython library (no Garmin Developer Program approval needed)Tokens cached at
~/.garmin_mcp_tokensβ delete this file to force re-loginGarmin may prompt for 2FA on first login in some regions
Rate limiting: avoid calling more than ~100 times/hour to prevent IP blocks
π Project Structure
garmin-mcp/
βββ server.py # FastMCP server (12 tools)
βββ garmin_client.py # Auth + session wrapper
βββ models.py # Pydantic v2 input models
βββ utils.py # Markdown/JSON formatters
βββ requirements.txt
βββ .env.example
βββ README.mdπ Response Formats
All tools support response_format:
"markdown"(default) β human-readable tables, great for chat UIs"json"β raw Garmin API data, great for downstream processing
Built for the Dr. Arty+ Team Β· OpenClaw Platform Β· 2026
This server cannot be installed
Maintenance
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kritsanan1/garmin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server