Skip to content
Agentmart
Submit a tool

Garmin Connect

Garmin Connect on Garmin's official Personal API: sleep, HRV, body battery, activities.

Connector by Mason-Levyy · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 30
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/mason-levyy-garmin-personal-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Garmin Connect on Garmin's official Personal API: sleep, HRV, body battery, activities.

Use cases: data-analysis

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
24 read · 1 write · 0 delete · 1 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Python package

Tools by what they do 26

Read from the source code; the running server may list different tools.

Read 24 · Look things up without changing anything.

  • garmin_get_activity
  • garmin_get_activity_workouts
  • garmin_get_body_battery
  • garmin_get_daily_summaries
  • garmin_get_daily_summary
  • garmin_get_day
  • garmin_get_fitness_age
  • garmin_get_food_log
  • garmin_get_heart_rate
  • garmin_get_heart_rate_zones
  • garmin_get_hrv
  • garmin_get_hrv_summaries
Show 12 more tools
  • garmin_get_hydration
  • garmin_get_menstrual_cycle
  • garmin_get_menstrual_day
  • garmin_get_profile
  • garmin_get_sleep
  • garmin_get_sleep_summaries
  • garmin_get_spo2
  • garmin_get_steps
  • garmin_get_stress
  • garmin_get_weight
  • garmin_get_weight_goals
  • garmin_get_wellness_activities

Write 1 · Create, change, send or run things.

  • garmin_download_activity

Not yet classified 1 · We could not tell from the name and description.

  • garmin_search_activities

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • GARMIN_PERSONAL_API_KEY

Other settings (environment variables or headers).

  • GARMIN_MCP_DOWNLOAD_DIR

Network hosts it talks to 3

  • connect.garmin.com · found in code
  • github.com · found in code
  • raw.githubusercontent.com · found in code

Files it touches

  • Any path the agent passes to its tools

Tools (26)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • garmin_download_activityDownload activity file

    Download an activity's original file (a ZIP, usually holding a .fit) and save it on the machine running this server as activity-<activity_id>.zip, replacing any earlier download. Returns the saved path, size, and the files inside. activity_id: activityId from garmin_search_activities. directory: a subfolder of the download folder to save in, e.g. "races" (default: the download folder itself). The download folder is GARMIN_MCP_DOWNLOAD_DIR, else a garmin folder in the Downloads directory; paths that lead outside it are rejected.

  • garmin_get_activityGet activity

    Full detail for one activity: summary metrics (distance, time, pace, HR, power, cadence, elevation, training effect, calories), device and location metadata, and split/lap summaries. activity_id: activityId from garmin_search_activities or garmin_get_day.

  • garmin_get_activity_workoutsGet activity workouts

    The structured workout(s) followed during an activity, step by step with targets. activity_id: activityId from garmin_search_activities or garmin_get_day.

  • garmin_get_body_batteryGet body battery

    Daily Body Battery: amount charged and drained, plus the events that moved it (sleep, activities, stress) with Garmin's feedback. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today). Any length works; long ranges are fetched 31 days at a time. chunks: split each day into this many intervals (e.g. 24 for hourly) and include each interval's lowest and highest level. Omitted, the every-few-minutes readings are left out to keep the response small.

  • garmin_get_daily_summariesGet daily summaries

    Daily wellness summaries across a date range, grouped per day (movement, calories, heart rate, intensity minutes, stress, body battery, hydration, respiration, pulse ox, jet lag). About 1-2 KB per day, so for a long trend in one metric prefer garmin_get_steps, garmin_get_stress, or garmin_get_sleep_summaries. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today). Ranges over a year are fetched in yearly requests.

  • garmin_get_daily_summaryGet daily summary

    Every all-day wellness total for one date: steps, distance, floors, total/active/BMR calories, intensity minutes, heart rate, stress, body battery, SpO2, respiration, and time active/sedentary/asleep. date: YYYY-MM-DD (default: today).

  • garmin_get_dayGet day overview

    One day at a glance: daily summary (steps, calories, intensity minutes, resting HR, stress, body battery), last night's sleep, HRV, body battery, stress, and the day's activities. A section Garmin has no data for yet comes back as {"error": ...} while the rest still load. date: YYYY-MM-DD (default: today).

  • garmin_get_fitness_ageGet fitness age

    Fitness age versus chronological age as of a date, the achievable fitness age, and the components behind it (vigorous days and minutes, resting heart rate, BMI or body fat %), or the reason none is available. date: YYYY-MM-DD (default: today). full_history_scan: search all history for the latest value; false limits it to the 28 days before date.

  • garmin_get_food_logGet food log

    Foods logged in Garmin Connect's nutrition tracker for a day, with serving sizes, calories and nutrients consumed, nutrition goals, and a per-meal breakdown. date: YYYY-MM-DD (default: today). meal_id: limit to one meal; ids appear in mealDetails of an unfiltered call. include_media: also return logged food photos.

  • garmin_get_heart_rateGet heart rate

    Resting, minimum, and maximum heart rate for a day, the 7-day resting average, and any abnormal high/low heart rate alerts. date: YYYY-MM-DD (default: today). include_samples: also return the all-day readings (large).

  • garmin_get_heart_rate_zonesGet heart rate zones

    Heart rate zone floors per sport, with the training method and the resting, max, and lactate threshold heart rates the zones were built on. generate_defaults: return Garmin's default zones when none are configured.

  • garmin_get_hrvGet HRV night

    One night of heart-rate variability: the summary (last-night average, 5-minute high, weekly average, baseline band, status) plus every reading taken during sleep. date: YYYY-MM-DD, the morning you woke up (default: today).

  • garmin_get_hrv_summariesGet HRV summaries

    Nightly HRV summaries across a date range: last-night average, weekly average, baseline band, status, and Garmin's feedback. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today).

  • garmin_get_hydrationGet hydration

    Daily water intake, goal, estimated sweat loss, and intake logged during activities, all in mL. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today). Any length works; long ranges are fetched 31 days at a time.

  • garmin_get_menstrual_cycleGet menstrual cycle

    Menstrual cycle summary as of a date: current phase, day in cycle, days until the next phase, period length, fertile window, predicted ovulation and cycle length, and pregnancy details when tracking a pregnancy. date: YYYY-MM-DD (default: today).

Show 11 more tools
  • garmin_get_menstrual_dayGet menstrual cycle day

    One day in detail: logged symptoms, flow, mood, and other entries, that day's cycle summary, and weekly weight goal ranges during pregnancy. date: YYYY-MM-DD (default: today). today: the reference date for predictions (default: today). reduced: return a lighter response. skip_baby_movement: leave out kick counts. include_analysis: add Garmin's cycle analysis.

  • garmin_get_profileGet profile settings

    Profile settings: display name, measurement system and display formats, time zone, hydration units and containers, and preferred training days. Check measurementSystem before converting units for the user.

  • garmin_get_sleepGet sleep

    The full sleep record for the night ending on date: sleep score and its components, deep/light/REM/awake seconds, start and end times, overnight heart rate, SpO2, respiration, sleep stress, naps, and Garmin's feedback. date: YYYY-MM-DD, the morning you woke up (default: today, i.e. last night).

  • garmin_get_sleep_summariesGet sleep summaries

    Nightly sleep records across a date range, same fields as garmin_get_sleep. Use it for sleep trends. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today). Any length works; long ranges are fetched 31 days at a time.

  • garmin_get_spo2Get SpO2

    Blood oxygen (pulse ox) for a day: average, lowest, latest, sleep average, 7-day average, hourly averages, and altitude acclimation. date: YYYY-MM-DD (default: today). include_samples: also return every individual reading (large).

  • garmin_get_stepsGet steps

    Daily total steps, distance (meters), and step goal. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today). Any length works; long ranges are fetched 28 days at a time.

  • garmin_get_stressGet stress

    Daily overall stress level (0-100) and seconds spent in high, medium, low, and rest stress. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today). Any length works; long ranges are fetched 28 days at a time.

  • garmin_get_weightGet weight

    Daily weight summaries over a range, the range average, and the nearest weigh-ins before and after it (handy when the range itself has none). Weights are in grams; body composition (BMI, body fat %, muscle and bone mass) appears when a smart scale recorded it. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today). include_all: list every weigh-in per day with its time and body composition, not just the latest.

  • garmin_get_weight_goalsGet weight goals

    Weight goals in effect during a date range and their target ranges. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today).

  • garmin_get_wellness_activitiesGet wellness activities

    Wellness activities recorded by the device, each with its type, start and end time, per-metric summary values, and time in zones. Regular workouts like runs and rides are in garmin_search_activities instead. start, end: YYYY-MM-DD inclusive (default: the 7 days ending today).

  • garmin_search_activitiesSearch activities

    Recorded activities (runs, rides, swims, strength, dives, ...), newest first, with name, type, start time, distance, duration, pace/speed, HR, power, cadence, calories, elevation, and training effect. Pass an activityId to garmin_get_activity for splits and full detail. All filters are optional and combine: start, end: YYYY-MM-DD, by the activity's local start date. search: text in the activity name or description. activity_type: parent type key, e.g. running, cycling, swimming, strength_training, hiking, walking. activity_subtype: a child key such as trail_running or indoor_cycling. excluded…

Compare and alternatives

    Featured in

    Signals

    Stars
    30
    Forks
    3
    Open issues
    0
    Contributors
    2
    Weekly downloads
    697
    Last commit
    Oct 24, 2026 (4 days ago)
    Last release
    Oct 22, 2026 (6 days ago)
    Last package publish
    Oct 22, 2026 (6 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.Mason-Levyy/garmin-personal-mcp
    Version
    0.1.1
    Auth
    API key
    Packages
    pypi garmin-personal-mcp
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from Mason-Levyy

    Cite this page

    Garmin Connect MCP server. Agent Mart. https://agentmart.dev/connectors/mason-levyy-garmin-personal-mcp (last updated 2026-10-24)