Garmin MCP Server
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 me my recent activities"
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 (Model Context Protocol) Server
A Model Context Protocol server that provides seamless integration with Garmin Connect, allowing AI assistants to access your Garmin fitness and health data.
Features
Activity Data: Access recent activities, detailed workout information
Health Metrics: Retrieve heart rate, sleep, and stress data
Daily Statistics: Get daily activity summaries and statistics
Device Information: Query connected Garmin device details
Date Range Queries: Fetch historical data for specific time periods
Related MCP server: GC-MCP
Prerequisites
Python 3.8 or higher
A Garmin Connect account
MCP-compatible AI assistant (Claude Desktop, etc.)
Installation
Clone this repository:
git clone https://github.com/hsavelli/Garmin-MCP.git
cd Garmin-MCPInstall dependencies:
pip install garminconnect mcpNote: in some instances you might need to use the command pip3 instead.
Configuration
For Claude Desktop
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"garmin": {
"command": "python",
"args": ["/path/to/garmin_mcp.py"]
}
}
}Note: in some instances you might need to use the command python3 instead.
Usage
Once configured, the MCP server provides the following capabilities:
Resources
The server exposes these Garmin data resources:
garmin://activities/recent- Recent activities listgarmin://stats/daily- Today's statisticsgarmin://health/heart-rate- Heart rate datagarmin://health/sleep- Sleep tracking datagarmin://health/stress- Stress level measurementsgarmin://device/info- Connected device information
Tools
Available tools for interacting with Garmin Connect:
authenticate_garmin - Authenticate with your Garmin Connect account
Parameters:
email,password
get_activity_details - Get detailed information about a specific activity
Parameters:
activity_id
get_stats_range - Get statistics for a date range
Parameters:
start_date,end_date(format: YYYY-MM-DD)
sync_device - Trigger device sync with Garmin Connect
Example Interactions
In your AI assistant, you can:
"Authenticate with my Garmin account using email@example.com"
"Show me my recent activities"
"What was my heart rate data today?"
"Get my sleep data from last night"
"Show me my activity statistics for the past week"Security Notes
Credentials are never stored by the MCP server
Authentication is required for each session
All data is fetched directly from Garmin Connect API
No data is cached or persisted locally
Development
Project Structure
garmin_mcp.py # Main MCP server implementation
README.md # This fileAdding New Features
To add new Garmin data endpoints:
Add a new resource in
list_resources()Implement the data fetching logic in
read_resource()Create a helper method for the specific data type
Optionally add a new tool in
list_tools()for advanced functionality
Troubleshooting
Authentication Issues
Ensure your Garmin Connect credentials are correct
Check if you have 2FA enabled (may require app-specific password)
Verify your account isn't locked due to too many attempts
Connection Errors
Check your internet connection
Garmin Connect may be temporarily unavailable
Rate limiting may apply for excessive requests
MCP Connection Issues
Verify the path to
garmin_mcp.pyin your configurationEnsure Python is in your system PATH
Check MCP server logs for detailed error messages
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
This project is not affiliated with, endorsed by, or sponsored by Garmin Ltd. or its subsidiaries. It uses the unofficial garminconnect Python library to interact with Garmin Connect services.
Acknowledgments
garminconnect - Python library for Garmin Connect
Model Context Protocol - MCP specification and SDK
This server cannot be installed
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
- 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/hsavelli/Garmin-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server