Live

Garmin, in Claude.

Everything your watch knows — training, sleep, recovery, health — in a conversation. Ask questions, spot trends, and let Claude plan workouts that land right back on your wrist. (A hosted MCP server, under the hood.)

Connect in 2 minutes Server URL: https://garmin-mcp.moghwan.io/garmin/mcp

What is this?

Garmin Connect collects an enormous amount of data about you — but exploring it means tapping through app screens, one metric at a time. This plugs your Garmin account straight into Claude, so you can just ask: “How did I sleep this week?”, “Compare my last three long runs”, “Why is my training readiness low today?” Under the hood it’s a hosted MCP (Model Context Protocol) server — but you never have to think about that.

Claude sees the same numbers your watch does, and can do what the app can’t: correlate sleep with performance, summarize a season, or build next week’s training plan and schedule it straight to your device.

What Claude can see & do

Activities

Runs, rides, swims, strength — with splits, heart-rate zones, power, weather, and gear for every activity.

Sleep & recovery

Sleep stages and scores, HRV, Body Battery, stress, and morning training readiness.

Health metrics

Steps, heart rate, respiration, SpO2, blood pressure, hydration, and weight trends.

Training & performance

Training status and load, VO2max trend, race predictions, endurance and hill scores, personal records.

Workouts & planning

Not just reading: Claude can build interval, strength, and Zone 2 workouts and schedule them onto your Garmin calendar.

Nutrition & more

Food logging, weigh-ins, body composition, gear tracking, devices, badges, and challenges.

How to connect

Step 1

Copy the server URL

https://garmin-mcp.moghwan.io/garmin/mcp

Step 2

Add it to Claude

Settings → Connectors → Add custom connector. Paste the URL and nothing else — leave the optional OAuth Client ID and Client Secret fields empty. Works on phone, desktop, and web.

Step 3

Sign in once

Claude opens a sign-in page — enter your Garmin Connect email and password (and an MFA code if prompted).

Step 4

Start asking

Claude picks up all the Garmin tools automatically. Try “How did I sleep last night?”

Before you sign in: your Garmin password is used once and never stored — only encrypted session tokens (AES-256-GCM) are kept so the gateway can reach your data. Your health data passes through on demand and is not stored. Only use this gateway if you trust the operator: this instance is run by moghwan (hey@moghwan.io). Details in Security & trust. Not affiliated with Garmin — see the FAQ.

Using ChatGPT instead of Claude? Same URL, different menus — follow the Connect Garmin to ChatGPT guide.

Free to use — if it earns a spot in your routine, buy me a beer to keep it running.

Tips & tricks

Prompts that show what the connector can really do — skills and ready-made prompt packs will land here too.

Prompt

Weekly review

“Summarize my training week: volume, intensity, sleep quality, and how my body handled the load. What should I change next week?”

Prompt

Coach mode

“Build me a 3-run week targeting a sub-50 10k — base it on my recent training load and schedule the workouts to my watch.”

Prompt

Sleep detective

“Look at the last month: which habits correlate with my worst sleep scores — late workouts, stress peaks, anything else?”

Questions & answers

Is this an official Garmin product?

No. missingmcp is an independent, open-source project, not affiliated with or endorsed by Garmin. It connects through the same unofficial access that open-source tools like garmin_mcp and python-garminconnect use — the sign-in and data endpoints of Garmin’s own apps.

Why not use Garmin’s official API?

In October 2026 Garmin relaunched its Connect Developer Program with three tiers. None of them could replace this connector:

  • Much less data. All three cover activities and the core health summaries — but not training readiness, training status, race predictions, or most of the tools listed below.
  • Little or no writing. Personal is read-only; the business tiers can send workouts and courses to your watch, but none can log food, weigh-ins or gear, or edit activities.
  • Personal — free access to your own data with a key you create in Garmin Connect. Its terms say the key may be used only by you, in tools you run yourself, and must not be shared with any third party — so a hosted service can’t accept it.
  • Starter — for organizations, with limited user capacity (this connector already has more users than that). Data is pushed to the app, which has to store it — and we don’t want to keep a copy of your health data.
  • Enterprise — paid per active user.
Is this allowed by Garmin’s Terms of Use?

Not officially. Garmin’s Terms of Use ask you not to share your account credentials with third parties or use access methods Garmin hasn’t made available — and signing in here does both. In theory Garmin could suspend an account over that; we’re not aware of it ever doing so to users of open-source tools like this one, which thousands of people use. Still, it’s your call.

Can it stop working?

It’s been running reliably since summer 2026, but yes, it could at any time — if Garmin changes its sign-in, blocks this kind of access, or asks us to stop. And if Garmin ships its own MCP server, we’ll point you to it, just as we did when Rohlík launched theirs.

What do you do to keep the footprint small?

Your data is fetched only when you ask Claude something — no background polling, no copy of your health data kept. Sign-ins are rate-limited and never retried in a loop. Your password is used once and never stored (see Security & trust).

Is there an official alternative?

If you’re a developer, Garmin’s free Personal API gives you sanctioned, read-only access to your own data for tools you build and run yourself.

Under the hood

The Garmin smarts come from garmin_mcp, an open-source MCP server by Taxuspt — full credit to that project. It runs here unmodified; this site only operates it and adds the missing piece: a secure multi-user sign-in (OAuth 2.1), so you can connect from any Claude app without running a server or touching a config file yourself.

Everything is open source: the connector logic in garmin_mcp by Taxuspt, the gateway in missingmcp by Vaclav Slajs. Audit either — or self-host the whole thing.

All tools

All 154 tools this connector currently exposes, grouped by area — straight from the garmin_mcp source (e79df6f). Click a group to expand.

Activities · 22 tools
get_activities_by_date
Get activities between specified dates with pagination support.
get_activities_fordate
Get activities for a specific date
get_activity
Get detailed information for a single activity.
set_activity_name
Set or update the name of an activity.
set_activity_type
Change the activity type (sport) of an activity.
set_activity_description
Set or update the free-text description (notes) of an activity.
set_activity_event_type
Set the event type of an activity.
set_perceived_effort
Set the perceived effort (RPE) for an activity.
set_activity_feel
Set how an activity felt ('How did you feel?').
get_activity_splits
Get splits for an activity
get_activity_typed_splits
Get typed splits for an activity
get_activity_split_summaries
Get split summaries for an activity
get_activity_weather
Get weather data for an activity.
get_activity_hr_in_timezones
Get heart rate data in different time zones for an activity
get_activity_power_in_timezones
Get power distribution across training zones for an activity.
get_activity_gear
Get gear data used for an activity
get_activity_exercise_sets
Get exercise sets for strength training activities
set_activity_exercise_sets
Replace the exercise sets on a strength (or other rep-counting) activity.
count_activities
Get total count of activities in the user's Garmin account
get_activities
Get activities with pagination support.
create_manual_activity
Log a manual activity in Garmin Connect — useful for activities done without a watch.
get_activity_types
Get all available activity types
Health & wellness · 33 tools
get_stats
Get daily activity stats with curated essential metrics
get_stats_range
Get lightweight per-day calorie and step totals for a date range.
get_energy_balance
Estimate a composition-derived TDEE from logged intake, Garmin's claimed expenditure, and body-composition change over a date range.
get_user_summary
Get user summary data (compatible with garminconnect-ha)
get_body_composition
Get body composition data for a single date or date range
get_stats_and_body
Get stats and body composition data
get_steps_data
Get detailed steps data with 15-minute intervals
get_daily_steps
Get steps data for a date range
get_training_readiness
Get training readiness data with curated metrics
get_body_battery
Get body battery data with events
get_body_battery_events
Get body battery events data
get_blood_pressure
Get blood pressure data
get_floors
Get floors climbed data
get_rhr_day
Get resting heart rate data
get_heart_rates
Get full heart rate time-series data
get_heart_rates_summary
Get heart rate summary with essential metrics (lightweight version)
get_hydration_data
Get hydration data
get_sleep_data
Get full sleep data with all details
get_sleep_summary
Get sleep summary with only essential metrics (lightweight version)
get_sleep_summary_range
Get lightweight sleep summaries for every night in a date range.
get_stress_data
Get full stress time-series data
get_stress_summary
Get stress summary with essential metrics (lightweight version)
get_respiration_data
Get full respiration time-series data
get_respiration_summary
Get respiration summary with essential metrics (lightweight version)
get_spo2_data
Get SpO2 (blood oxygen) data
get_all_day_stress
Get all-day stress data
get_all_day_events
Get daily wellness events data
get_lifestyle_logging_data
Get lifestyle logging data for a specific date
get_weekly_steps
Get weekly step data aggregates
get_weekly_stress
Get weekly stress data aggregates
get_weekly_intensity_minutes
Get weekly intensity minutes data aggregates
get_morning_training_readiness
Get morning training readiness score
get_recovery_time_remaining
Get remaining recovery time in hours for a day.
Profile & settings · 6 tools
get_full_name
Get user's full name from profile
get_unit_system
Get user's preferred unit system from profile
get_user_profile
Get user profile information
get_userprofile_settings
Get user profile settings
get_heart_rate_zones
Get the user's saved heart-rate training-zone configuration.
set_heart_rate_zones
Set an account-level heart-rate training-zone configuration for one sport.
Devices · 6 tools
get_devices
Get all Garmin devices associated with the user account
get_device_last_used
Get information about the last used Garmin device
get_device_settings
Get settings for a specific Garmin device
get_primary_training_device
Get information about the primary training device
get_device_solar_data
Get solar data for a specific device
get_device_alarms
Get alarms from all Garmin devices
Gear · 3 tools
get_gear
Get all gear registered with the user account
add_gear_to_activity
Associate gear with an activity
remove_gear_from_activity
Remove gear association from an activity
Weight & body composition · 5 tools
get_weigh_ins
Get weight measurements between specified dates
get_daily_weigh_ins
Get weight measurements for a specific date
delete_weigh_ins
Delete weight measurements for a specific date
add_weigh_in
Add a new weight measurement
add_weigh_in_with_timestamps
Add a new weight measurement with specific timestamps
Challenges & badges · 9 tools
get_goals
Get Garmin Connect goals (active, future, or past).
get_personal_record
Get personal records for user
get_earned_badges
Get earned badges for user
get_adhoc_challenges
Get user-created social/group challenges (e.g., step competitions with friends)
get_available_badge_challenges
Get official Garmin badge challenges available to join
get_badge_challenges
Get all badge challenges the user has joined (completed and in-progress)
get_non_completed_badge_challenges
Get badge challenges currently in progress (not yet completed)
get_race_predictions
Get predicted race times based on current fitness level
get_inprogress_virtual_challenges
Get in-progress virtual challenges/expeditions
Training & performance · 18 tools
get_progress_summary_between_dates
Get progress summary for a metric between dates
get_hill_score
Get hill score data between dates
get_endurance_score
Get endurance score data between dates
get_training_effect
Get training effect data for a specific activity.
get_hrv_data
Get Heart Rate Variability (HRV) data
get_fitnessage_data
Get fitness age data
get_training_status
Get training status with curated metrics
get_cycling_ftp
Get the latest cycling Functional Threshold Power (FTP) data.
get_lactate_threshold
Get lactate threshold data
request_reload
Request reload of epoch data
get_training_load_trend
Get the Performance Management Chart (CTL/ATL/TSB) over a date range.
get_training_load_balance
Get Garmin's Load Focus — the distribution of the trailing-month training load across Aerobic Low, Aerobic High, and Anaerobic intensity bands, plus the system's feedback phrase (e.g. AEROBIC_HIGH_SHORTAGE, BALANCED…
get_hrv_trend
Get HRV (Heart Rate Variability) trend over a date range.
get_vo2max_trend
Get VO2 max trend over a date range.
get_respiration_trend
Get overnight respiration rate trend over a date range.
get_running_tolerance
Get Running Tolerance for a single day.
get_running_tolerance_trend
Get Running Tolerance trend over a date range.
get_acclimation
Get heat and altitude acclimation status for a given date.
Workouts · 14 tools
get_workouts
Get all workouts with curated summary list
get_workout_by_id
Get detailed information for a specific workout
download_workout
Download a workout as a FIT file
upload_workout
Upload a workout from JSON data
upload_workouts
Upload multiple workouts from JSON data in a single call
delete_workout
Delete a workout from Garmin Connect
delete_workouts
Delete multiple workouts from Garmin Connect in a single call
get_scheduled_workouts
Get scheduled workouts between two dates with curated summary list
get_garmin_coach_workouts
Get Garmin Coach workouts around the given date
get_training_plan_workouts
Compatibility alias for get_garmin_coach_workouts
schedule_workout
Schedule a workout to a specific calendar date
schedule_workouts
Schedule multiple workouts to specific calendar dates
unschedule_workout
Remove a scheduled workout from the Garmin Connect calendar
unschedule_workouts
Remove multiple scheduled workouts from the Garmin Connect calendar
Data management · 3 tools
add_body_composition
Add body composition data
set_blood_pressure
Set blood pressure values
add_hydration_data
Add hydration data
Women's health · 3 tools
get_pregnancy_summary
Get pregnancy summary data
get_menstrual_data_for_date
Get menstrual data for a specific date
get_menstrual_calendar_data
Get menstrual calendar data between specified dates
Nutrition · 15 tools
get_nutrition_daily_food_log
Get daily food consumption records for a date
get_nutrition_summary_between_dates
Get per-day nutrition totals for every day in a date range.
get_nutrition_daily_meals
Get daily meal summaries for a date
get_nutrition_daily_settings
Get nutrition plan/settings for a date
set_nutrition_daily_settings
Update daily nutrition goals (calorie target and macronutrient targets).
search_foods
Search Garmin's general food catalog (FatSecret + Garmin custom foods)
get_custom_foods
Search or list user's custom foods
get_custom_food_serving_units
Get available serving units for custom foods
create_custom_food
Create a custom food in the user's Garmin nutrition library
update_custom_food
Update an existing custom food in the user's Garmin nutrition library
delete_custom_food
Delete a custom food from the user's Garmin nutrition library
log_custom_food
Log a food item to a meal on a date
log_food
Quick-add a food entry with macro values to the nutrition log
delete_food_log
Delete a food log entry
upsert_and_log
Find-or-create a custom food then log it in one step
Workout builders · 6 tools
create_walk_run_workout
Create a walk/run interval workout and upload it to Garmin Connect.
create_run_workout
Create a continuous run workout and upload it to Garmin Connect.
create_run_interval_workout
Create a repeat-based interval run workout and upload it to Garmin Connect.
create_z2_walk_workout
Create a steady Z2 walking workout and upload it to Garmin Connect.
create_strength_workout
Create a strength workout and upload it to Garmin Connect.
schedule_week
Schedule a list of workouts for the week in a single call.
Courses · 5 tools
get_courses
List all courses saved on Garmin Connect.
get_course_details
Get full details of a Garmin Connect course by ID.
download_course_gpx
Download the exact official GPX file for a Garmin Connect course.
upload_course
Upload a GPX file as a Garmin Connect Course.
delete_course
Delete a course from Garmin Connect.
Activity analysis · 5 tools
get_activity_fit_messages
Retrieve and generically parse an activity's original FIT file.
get_activity_fit_data
Download and parse FIT file for an activity to expose advanced cycling data.
get_power_duration_curve
Get season-best Power Duration Curve across recent activities.
download_activity_file
Download an activity and save it to disk as a file.
set_fit_download_dir
Set and persist the default directory for downloaded activity files.
Calendar events · 1 tools
get_calendar_events
Get races and events on the Garmin Connect calendar between two dates

Your watch has the answers.

Two minutes from now you can ask for them — free, open source, revocable anytime.

Connect Garmin