The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Garmin Workouts MCP listing page.
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.
reps end conditions.preview_workout_payload so payloads can be inspected before upload.validate_workout for early schema and mapping errors.resolve_supported_strength_exercise for quick mapping checks.get_workout_input_schema for machine-readable client integration.walking as a supported sport type, which is also reflected in the prompt/schema.Garmin-backed tools authenticate lazily when they are called:
GARMIN_EMAIL and GARMIN_PASSWORDThe server can start without credentials. Tools that do not talk to Garmin, such as payload preview and schema inspection, still work without secrets.
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.
Run tests in Docker Compose:
Build the runtime image:
Smoke test the stdio server startup without Garmin credentials:
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.