garmin_mcp

MCP.Pizza Chef: Taxuspt

The Garmin MCP server connects to Garmin Connect to provide structured access to fitness and health data such as recent activities, detailed activity info, health metrics (steps, heart rate, sleep), and body composition. It enables MCP-compatible clients like Claude to query and interact with Garmin data securely and efficiently, facilitating AI-driven workflows around personal health and fitness insights.

Use This MCP server To

Retrieve recent Garmin fitness activities for analysis Access detailed workout data for performance tracking Query health metrics like heart rate and sleep patterns Fetch body composition data for health monitoring Integrate Garmin data into AI-powered fitness coaching Enable AI clients to summarize fitness trends over time Automate health report generation from Garmin metrics Combine Garmin data with other health sources for insights

README

Garmin MCP Server

This Model Context Protocol (MCP) server connects to Garmin Connect and exposes your fitness and health data to Claude and other MCP-compatible clients.

Features

  • List recent activities
  • Get detailed activity information
  • Access health metrics (steps, heart rate, sleep)
  • View body composition data

Setup

  1. Install the required packages on a new environment:
virtualenv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
  1. Create a .env file in the project root with your Garmin credentials:
GARMIN_EMAIL=your.email@example.com
GARMIN_PASSWORD=your-password

Running the Server

With Claude Desktop

  1. Create a configuration in Claude Desktop:

Edit your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add this server configuration:

{
  "mcpServers": {
    "garmin": {
      "command": "python", // if you created a new environment this should be "<root_folder>/.venv/bin/python"
      "args": ["<path to>/garmin_mcp/garmin_mcp_server.py"]
    }
  }
}

Replace the path with the absolute path to your server file.

  1. Restart Claude Desktop

With MCP Inspector

For testing, you can use the MCP Inspector:

npx @modelcontextprotocol/inspector python /Users/adomingues/Documents/claude_filesystem/garmin_mcp/garmin_mcp_server.py

Usage Examples

Once connected in Claude, you can ask questions like:

  • "Show me my recent activities"
  • "What was my sleep like last night?"
  • "How many steps did I take yesterday?"
  • "Show me the details of my latest run"

Security Note

This server requires your Garmin Connect credentials in the .env file. Keep this file secure and never commit it to a repository.

Troubleshooting

If you encounter login issues:

  1. Verify your credentials in the .env file are correct
  2. Check if Garmin Connect requires additional verification
  3. Ensure the garminconnect package is up to date

For other issues, check the Claude Desktop logs at:

  • macOS: ~/Library/Logs/Claude/mcp-server-garmin.log
  • Windows: %APPDATA%\Claude\logs\mcp-server-garmin.log

garmin_mcp FAQ

How do I set up the Garmin MCP server?
Install required packages in a virtual environment, add Garmin credentials in a .env file, and run the server as per the README instructions.
What Garmin data can this MCP server access?
It provides access to recent activities, detailed activity information, health metrics like steps, heart rate, sleep, and body composition data.
Can I use this server with multiple MCP clients?
Yes, it is designed to work with any MCP-compatible client such as Claude Desktop.
How is my Garmin login information secured?
Credentials are stored locally in a .env file and used only by the server; ensure your environment is secure.
Does this server support real-time data updates?
It accesses Garmin Connect data on demand; real-time streaming is not currently supported.
What platforms can I run the Garmin MCP server on?
It can run on any platform supporting Python and virtual environments, including macOS, Windows, and Linux.
How do I configure Claude Desktop to use this server?
Add the Garmin MCP server configuration to Claude Desktop's config file as described in the README.
Is the Garmin MCP server open source?
Yes, it is available on GitHub for review, modification, and contribution.