Garmin Connect MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "GARMIN_EMAIL=${GARMIN_EMAIL}" -e "GARMIN_PASSWORD=${GARMIN_PASSWORD}" garmin-connect -- npx -y @nicolasvegam/garmin-connect-mcp
Required:GARMIN_EMAILGARMIN_PASSWORD
README.md

Access your fitness, health, and training data from MCP clients.

garmin-connect-mcp

MCP server for Garmin Connect. Access your fitness, health, and training data from Claude Code, Claude Desktop, Cursor, Windsurf, or any MCP client.

61 tools across 7 categories: activities, daily health, trends, sleep, body composition, performance/training, and profile/devices.

API endpoints and authentication flow based on `python-garminconnect` by cyberjunky.

Requirements

  • Node.js 20+
  • A Garmin Connect account (email and password)

Installation

Claude Code

claude mcp add garmin -e GARMIN_EMAIL=you@email.com -e GARMIN_PASSWORD=yourpass -- npx -y @nicolasvegam/garmin-connect-mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "@nicolasvegam/garmin-connect-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@email.com",
        "GARMIN_PASSWORD": "yourpass"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "@nicolasvegam/garmin-connect-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@email.com",
        "GARMIN_PASSWORD": "yourpass"
      }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "@nicolasvegam/garmin-connect-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@email.com",
        "GARMIN_PASSWORD": "yourpass"
      }
    }
  }
}

Any MCP Client

Run the server with environment variables:

GARMIN_EMAIL=you@email.com GARMIN_PASSWORD=yourpass npx -y @nicolasvegam/garmin-connect-mcp

The server communicates over stdio using the Model Context Protocol.

Available Tools

Activities (12 tools)

Tool Description
get_activities List recent activities with pagination
get_activities_by_date Search activities within a date range
get_last_activity Get the most recent activity
count_activities Get total number of activities
get_activity Summary data for a specific activity
get_activity_details Detailed metrics: HR, pace, elevation time series
get_activity_splits Per-km or per-mile split data
get_activity_weather Weather conditions during activity
get_activity_hr_zones Time in each heart rate zone
get_activity_exercise_sets Strength training sets (reps, weight)
get_activity_types All available activity types
get_progress_summary Fitness stats over a date range by activity type

Daily Health (14 tools)

Tool Description
get_daily_summary Full daily summary (steps, calories, distance, etc.)
get_steps Step count for a date
get_steps_chart Intraday step data throughout the day
get_heart_rate Heart rate data (resting, max, zones, time series)
get_resting_heart_rate Resting heart rate for a date
get_stress Stress levels and time series
get_body_battery Body Battery energy levels (date range)
get_body_battery_events Battery charge/drain events for a day
get_respiration Breathing rate data
get_spo2 Blood oxygen saturation
get_intensity_minutes Moderate/vigorous intensity minutes
get_floors Floors climbed chart data
get_hydration Daily hydration/water intake
get_daily_events Daily wellness events

Trends (4 tools)

Tool Description
get_daily_steps_range Daily step counts over a date range
get_weekly_steps Weekly step aggregates
get_weekly_stress Weekly stress aggregates
get_weekly_intensity_minutes Weekly intensity minutes

Sleep (2 tools)

Tool Description
get_sleep_data Sleep stages, score, bed/wake times
get_sleep_data_raw Raw sleep data with HR and SpO2

Body Composition (5 tools)

Tool Description
get_body_composition Weight, BMI, body fat %, muscle mass (date range)
get_latest_weight Most recent weight entry
get_daily_weigh_ins All weigh-ins for a date
get_weigh_ins Weigh-in records over a date range
get_blood_pressure Blood pressure readings (date range)

Performance & Training (11 tools)

Tool Description
get_vo2max VO2 Max estimate (running/cycling)
get_training_readiness Training Readiness score
get_training_status Training status and load
get_hrv Heart Rate Variability
get_endurance_score Endurance fitness score
get_hill_score Climbing performance sco

Tools (6)

get_activitiesList recent activities with pagination
get_daily_summaryFull daily summary including steps, calories, and distance
get_heart_rateRetrieve heart rate data including resting, max, zones, and time series
get_sleep_dataGet sleep stages, score, and bed/wake times
get_body_compositionRetrieve weight, BMI, body fat percentage, and muscle mass over a date range
get_vo2maxGet VO2 Max estimate for running or cycling

Environment Variables

GARMIN_EMAILrequiredThe email address associated with your Garmin Connect account
GARMIN_PASSWORDrequiredThe password for your Garmin Connect account

Configuration

claude_desktop_config.json
{"mcpServers": {"garmin": {"command": "npx", "args": ["-y", "@nicolasvegam/garmin-connect-mcp"], "env": {"GARMIN_EMAIL": "you@email.com", "GARMIN_PASSWORD": "yourpass"}}}}

Try it

What was my average resting heart rate over the last week?
Summarize my sleep quality and duration for last night.
Show me the details of my most recent running activity, including heart rate zones.
What is my current VO2 Max and training status?
How many steps did I take on average per day last month?

Frequently Asked Questions

What are the key features of Garmin Connect?

Access to 61 specialized tools for fitness and health data. Support for activity tracking, sleep metrics, and body composition. Performance and training analytics including VO2 Max and HRV. Compatible with Claude Desktop, Cursor, Windsurf, and other MCP clients. Retrieves detailed time-series data for heart rate, stress, and respiration.

What can I use Garmin Connect for?

Analyzing long-term fitness trends by querying historical activity data. Integrating health metrics into daily AI-assisted productivity reports. Reviewing recovery and training readiness scores before planning workouts. Monitoring sleep patterns and body battery levels to optimize daily schedules.

How do I install Garmin Connect?

Install Garmin Connect by running: claude mcp add garmin -e GARMIN_EMAIL=you@email.com -e GARMIN_PASSWORD=yourpass -- npx -y @nicolasvegam/garmin-connect-mcp

What MCP clients work with Garmin Connect?

Garmin Connect works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Garmin Connect docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare