Garmin MCP Server

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.

Category
Visit Server

README

MseeP.ai Security Assessment Badge

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

Local Development

  1. Install the required packages on a new environment:
uv sync

Remote Deployment (Railway)

Want to host this MCP server remotely and access it from AI assistants like Poke? See:

Running the Server

Configuration

Your Garmin Connect credentials are read from environment variables:

  • GARMIN_EMAIL: Your Garmin Connect email address
  • GARMIN_EMAIL_FILE: Path to a file containing your Garmin Connect email address
  • GARMIN_PASSWORD: Your Garmin Connect password
  • GARMIN_PASSWORD_FILE: Path to a file containing your Garmin Connect password

File-based secrets are useful in certain environments, such as inside a Docker container. Note that you cannot set both GARMIN_EMAIL and GARMIN_EMAIL_FILE, similarly you cannot set both GARMIN_PASSWORD and GARMIN_PASSWORD_FILE.

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": "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"
      }
    }
  }
}

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 from the project root:

npx @modelcontextprotocol/inspector uv run garmin-mcp

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

Troubleshooting

If you encounter login issues:

  1. Verify your credentials 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

Garming Connect one-time code

If you have one-time codes enabled in your account, you need to login at the command line first to set the token in the interactive cli.

The app expects either the env var GARMIN_EMAIL or GARMIN_EMAIL_FILE. You can store these in files with the following command.

echo "your_email@example.com" > ~/.garmin_email
echo "your_password" > ~/.garmin_password
chmod 600 ~/.garmin_email ~/.garmin_password

Then you can manually run the login script.

GARMIN_EMAIL_FILE=~/.garmin_email GARMIN_PASSWORD_FILE=~/.garmin_password uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp

You will likely see

Garmin Connect MFA required. Please check your email/phone for the code.
Enter MFA code: XXXXXX
Oauth tokens stored in '~/.garminconnect' directory for future use. (first method)

Oauth tokens encoded as base64 string and saved to '~/.garminconnect_base64' file for future use. (second method)

After setting the token at the cli, you can use the following in Claude, without the env vars because the Oauth tokens have been set.

"garmin": {
  "command": "uvx",
  "args": [
    "--python",
    "3.12",
    "--from",
    "git+https://github.com/Taxuspt/garmin_mcp",
    "garmin-mcp"
  ]
}

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured