AI-Powered
Garmin Health Analytics

Build intelligent health assistants and data analysis tools with seamless access to Garmin's comprehensive fitness metrics. Designed specifically for AI agents and modern Python applications.

from garmy import AuthClient, APIClient
import asyncio

# Create an AI health agent
async def health_agent():
    auth_client = AuthClient()
    api_client = APIClient(auth_client=auth_client)

    # AI agent analyzes multiple metrics
    sleep_data = await api_client.metrics.get('sleep').get_async()
    readiness = await api_client.metrics.get('training_readiness').get_async()

    return analyze_health_trends(sleep_data, readiness)

Built for AI-First Health Analytics

🤖

AI-First Design

Built specifically for AI health agents and intelligent assistants with native MCP integration for seamless Claude Desktop connectivity.

High Performance

Async/await support for concurrent data fetching, optimized for real-time AI applications and large-scale health analytics.

🛡️

Type Safe

Full type hints and runtime validation ensure reliable AI workflows with comprehensive error handling.

📊

Rich Metrics

Complete access to sleep, heart rate, stress, training readiness, HRV, body battery, and 15+ health metrics.

🗣️

Natural Language

Query health data using conversational commands through Model Context Protocol integration.

🔄

Auto-Discovery

Automatic metric registration and API endpoint discovery for seamless integration with new Garmin features.

Comprehensive Health Metrics

Access 15+ comprehensive health and fitness metrics from your Garmin devices with type-safe, validated data structures.

😴

Sleep Tracking

Sleep stages, efficiency, and scores

❤️

Heart Rate

Resting, max, zones, and HRV

🎯

Training Readiness

Readiness scores and factors

Body Battery

Energy levels and recovery

🧘

Stress Levels

Stress measurements and patterns

👟

Steps & Activity

Daily steps, goals, and activities

🫁

Respiration

Breathing rate measurements

🔥

Calories

Daily calorie burn and goals

Claude Desktop
Integration

Native Model Context Protocol (MCP) support enables seamless integration with Claude Desktop. Ask questions about your health data using natural language.

Example Queries:

  • 💬 "How was my sleep quality this week?"
  • 💬 "Am I ready for training today?"
  • 💬 "Show me my stress patterns"
  • 💬 "Create a health summary report"
Setup MCP Server
# Install with MCP support
pip install garmy[mcp]

# Start MCP server for Claude Desktop
garmy-mcp serve --transport stdio

# Add to Claude Desktop config:
{
  "mcpServers": {
    "garmy": {
      "command": "/path/to/python",
      "args": ["-m", "garmy.mcp", "serve"],
      "env": {
        "GARMIN_EMAIL": "your_email",
        "GARMIN_PASSWORD": "your_password"
      }
    }
  }
}

Get Started in 3 Steps

1

Install Garmy

pip install garmy
# Or with MCP support
pip install garmy[mcp]

Install via pip with optional MCP integration for AI assistants.

2

Authenticate

from garmy import AuthClient

auth_client = AuthClient()
auth_client.login("email", "password")

Secure authentication with your Garmin Connect credentials.

3

Analyze Health Data

api_client = APIClient(auth_client)
sleep = api_client.metrics.get('sleep').get()
readiness = api_client.metrics.get('training_readiness').get()

Access comprehensive health metrics with type-safe, validated data.