Turn plain language into real workouts on your Garmin watch: pace, HR, power, intervals, swim sets.
MCPpedia last refreshed this data
io.github.slaat/garmin-connect-workouts-mcp is an MCP server that turn plain language into real workouts on your Garmin watch: pace, HR, power, intervals, swim sets. Its tool list has not been published yet over stdio and http, requires no API key, and scores 82/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"garmin-workouts": {
"args": [
"-y",
"garmin-connect-workouts-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Turn plain language into real workouts on your Garmin watch: pace, HR, power, intervals, swim sets.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y 'garmin-connect-workouts-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked garmin-connect-workouts-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in health
MCP server for the ClinicalTrials.gov v2 API. Search trials, retrieve study details and results, and match patients to eligible trials.
Search ClinicalTrials.gov: find studies, retrieve results, match patients to candidate trials.
BioMCP: Biomedical Model Context Protocol
Control FL Studio with Claude: in-DAW mixing, diagnosis, routing, and composition.
MCP Security Weekly
Get CVE alerts and security updates for io.github.slaat/garmin-connect-workouts-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP (Model Context Protocol) server that turns natural-language workout descriptions into structured workouts in Garmin Connect. Describe a session in plain English and the calling model builds a typed step-by-step workout that this server encodes into Garmin's workout API format and creates directly in your account.
workoutTargetType table.5x1km becomes a single repeat group, not five
duplicated steps, so the watch shows an actual rep counter.claude mcp add garmin-workouts npx garmin-connect-workouts-mcp
Add to your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"garmin-workouts": {
"command": "npx",
"args": ["-y", "garmin-connect-workouts-mcp"]
}
}
}
Then restart Claude Desktop.
Garmin Connect's web client authenticates with session cookies plus a CSRF token, not a password grant this server could hold on to. So the first time you create a workout (or whenever the session has expired):
authenticate_garmin tool. It opens
a real browser window at connect.garmin.com for you to log in normally.~/.config/garmin-connect-workouts-mcp/auth.json with 600 permissions
(owner read/write only).No password is ever stored - only the resulting session cookies and CSRF
token. Garmin sessions expire, so you may be prompted to re-authenticate
between sessions; the server detects this automatically and tells you when
to run authenticate_garmin again. The login browser uses a persistent,
isolated profile under ~/.config/garmin-connect-workouts-mcp/browser-profile/
so Garmin can remember the device across logins - it never touches your
personal browser profile.
| Tool | Description |
|---|---|
create_garmin_workout | Create a structured workout with steps, targets, and repeat blocks. |
list_garmin_workouts | List workouts in the Garmin Connect account. |
get_garmin_workout | Fetch the full structure of one workout. |
update_garmin_workout | Replace an existing workout's contents, keeping its id. |
delete_garmin_workout | Delete a workout. |
schedule_garmin_workout | Put a workout on the Garmin Connect calendar for a date. |
check_garmin_auth | Check whether the stored Garmin session still works. |
authenticate_garmin | Authenticate with Garmin Connect (opens a browser). |