Garmin Connect Workouts MCP server
Turn plain language into real workouts on your Garmin watch: pace, HR, power, intervals, swim sets.
0 stars36 downloads/wk
Reviews
Write oneNobody has reviewed Garmin Connect Workouts yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Garmin Connect Workouts tools (8, 4 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
authenticate_garminAuthenticate with Garmin Connect by opening a real browser window at connect.garmin.com for you to log in normally, then capture and store only the resulting session cookies and CSRF token (never your password). Run this whenever check_garmin_auth reports no valid session, or any other tool returns its 'not authenticated' message. Requires a local display; will not work in a headless-only environm
check_garmin_authProbe whether the stored Garmin Connect session is still valid, using a cheap authenticated request rather than a local expiry check (Garmin's session cookie does not carry a reliable expiry). Use this first when unsure whether the other tools will work. Returns a message telling you to run authenticate_garmin if the session is missing or has expired; never throws.
create_garmin_workoutwrite actionCreate a new structured workout in Garmin Connect from typed steps: durations, pace/HR/power/cadence targets, repeat blocks for intervals, and swim-specific stroke/equipment/pool-length fields. Use to add a workout; to change one that exists, use update_garmin_workout instead. Returns the new workoutId and a Connect link. Returns a re-auth message, not an exception, if no valid session exists. Exa
delete_garmin_workoutwrite actionPermanently delete a workout from Garmin Connect by workoutId. This is irreversible - there is no undo or trash. Use list_garmin_workouts or get_garmin_workout first to confirm you have the right workoutId. If no valid session exists, returns a message asking you to run authenticate_garmin rather than throwing.
get_garmin_workoutFetch the complete stored structure (all steps, targets, repeat blocks) of one workout by its workoutId, as raw JSON. Use this to inspect a workout, or to get its full contents before calling update_garmin_workout, which replaces the entire workout rather than patching it. Read-only. If no valid session exists, returns a message asking you to run authenticate_garmin rather than throwing.
list_garmin_workoutsList workouts stored in the Garmin Connect account, most recent first, with each workout's name, sport, and workoutId. Use this to find a workoutId to pass to get_garmin_workout, update_garmin_workout, delete_garmin_workout, or schedule_garmin_workout. Read-only. If no valid session exists, returns a message asking you to run authenticate_garmin rather than throwing.
schedule_garmin_workoutwrite actionPut an existing workout on the Garmin Connect calendar for a specific date, so it appears as a planned session and can sync to a device. Requires a workoutId already created via create_garmin_workout or found via list_garmin_workouts - this tool does not create workouts. If no valid session exists, returns a message asking you to run authenticate_garmin rather than throwing.
update_garmin_workoutwrite actionReplace the entire contents (name, sport, steps, pool settings) of an existing workout, identified by workoutId, keeping its id. This is a full overwrite, not a partial patch - fields you omit are dropped. Call get_garmin_workout first to see the current contents before changing them. If no valid session exists, returns a message asking you to run authenticate_garmin rather than throwing.
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan8 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 18 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
Runs npx -y garmin-connect-workouts-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add garmin-connect-workouts-mcp -- npx -y garmin-connect-workouts-mcp
Garmin Connect Workouts: common questions
- Is Garmin Connect Workouts MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Garmin Connect Workouts safety report
- How do I install Garmin Connect Workouts?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Garmin Connect Workouts need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Garmin Connect Workouts maintained?
- The last commit was 18 days ago (2026-09-02). The latest release is v1.1.3.