
Garmin Workouts MCP
io.github.pranciskusPublished by GitHub account pranciskusv0.1.2Updated Oct 24, 2026
Manage Garmin Connect workouts, including strength workouts with mapped exercises.
Overview
A local MCP server that lets an assistant build, validate, preview, upload and manage Garmin Connect workouts, with a focus on strength training.
- What you can do
- Build and preview Garmin workout payloads, including strength steps with reps and exercise mappings, before upload. Validate workout schemas and resolve supported strength exercises or inspect the input schema. List, get, delete and schedule workouts, and view calendar and activity data in Garmin Connect. Upload workouts, including walking and other supported sport types.
- When to use it
- Useful when you want an assistant to draft or adjust structured Garmin workouts, especially strength sessions with mapped exercises, and push them to Garmin Connect after checking the payload. Also handy for reviewing, scheduling or cleaning up existing workouts and calendar entries.
- Requirements
- Runs as a local stdio process, typically via the published Docker image. Garmin-backed tools need a Garmin Connect account, supplied through the GARMIN_EMAIL and GARMIN_PASSWORD environment variables; the server starts without them, and preview and schema tools work without credentials. Network access to Garmin Connect is required for account tools.
Installation
In SourceWeft
- Open Garmin Workouts MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Garmin Workouts MCP
garmin-workouts-mcp is a standalone MCP server for Garmin Connect workouts.
It is intended as a focused extension for workflows that need a bit more structure around Garmin workout payloads, especially strength training.
This project is packaged as a stdio MCP server and can be published as an OCI image for MCP registries and Glama deployment. It is not a standalone public HTTP MCP endpoint.
[Garmin Workouts MCP server]Additions
- Supports Garmin strength workout steps with
repsend conditions. - Supports exercise metadata via explicit Garmin enums or friendly aliases.
- Adds
preview_workout_payloadso payloads can be inspected before upload. - Adds
validate_workoutfor early schema and mapping errors. - Adds
resolve_supported_strength_exercisefor quick mapping checks. - Adds
get_workout_input_schemafor machine-readable client integration. - Includes
walkingas a supported sport type, which is also reflected in the prompt/schema. - Keeps the familiar list/get/delete/schedule/calendar/activity tools.
Environment
Garmin-backed tools authenticate lazily when they are called:
- Authentication path:
GARMIN_EMAILandGARMIN_PASSWORD
The server can start without credentials. Tools that do not talk to Garmin, such as payload preview and schema inspection, still work without secrets.
Workout Input
The upload and preview tools accept a JSON object shaped like this:
For strength exercises, either pass a friendly alias:
or explicit Garmin enums:
You can also inspect the accepted structure programmatically through get_workout_input_schema, or resolve likely Garmin strength mappings with resolve_supported_strength_exercise.
Development
Run tests in Docker Compose:
Build the runtime image:
Smoke test the stdio server startup without Garmin credentials:
Publishing
The intended OCI image location is:
Registry metadata lives in server.json. The OCI image carries the required label:
Glama ownership metadata lives in glama.json. It declares the GitHub maintainer account that can claim and manage the Glama listing.
Source: README.md at commit 106b5b9
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts