mcp-dir avatar

Garmin Connect (treinos)

mcp-dir/garmin-mcp

This server connects to Garmin Connect's unofficial API to manage structured workouts for running, cycling, swimming, and multisport. You can list, create, edit, replace, delete, and schedule workouts directly from Claude or any MCP client. Authentication happens via Garmin email and password with encrypted OAuth token storage to minimize repeated logins. The source indicates zero tools are currently exposed despite the description promising full CRUD operations, so verify the actual implementation before relying on it for workout automation. It's free and hosted at api.mcp.ai/p_garmin, no local setup required. Reach for this if you're training on Garmin devices and want an AI to build or modify your workout calendar without opening Garmin Connect.

tools
15
transport
HTTP
last updated
Jun 10, 2026

Install

From registry metadata
$ npx add-mcp https://api.mcp.ai/p_garmin --name garmin-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http garmin-mcp https://api.mcp.ai/p_garmin

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 15 tools

Verified live against the running server on Nov 6, 2026.

garmin_list_accountsList all Garmin logins linked to this install (id, email, label, created_at).1 params

List all Garmin logins linked to this install (id, email, label, created_at).

Parameters* required
accountstring
garmin_list_workoutsList saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin).3 params

List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin).

Parameters* required
accountstring
limitnumber
default: 20
startnumber
default: 0
garmin_get_workoutGet one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string. Bulk support: accepts workout_ids for batched execution.3 params

Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string. Bulk support: accepts workout_ids for batched execution.

Parameters* required
accountstring
workout_id*string
workout_idsarray
garmin_submit_workoutCreate a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO). You may omit displayOrder/displayable everywhere and the endCondition on RepeatGroupDTO — the server normalizes them...2 params

Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO). You may omit displayOrder/displayable everywhere and the endCondition on RepeatGroupDTO — the server normalizes them...

Parameters* required
accountstring
workout*object
garmin_edit_workoutReplace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id. Bulk support: accepts workout_ids for batched execution.4 params

Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id. Bulk support: accepts workout_ids for batched execution.

Parameters* required
accountstring
workout*object
workout_id*string
workout_idsarray
garmin_delete_workoutDelete a workout template from Garmin Connect by workout_id. Bulk support: accepts workout_ids for batched execution.3 params

Delete a workout template from Garmin Connect by workout_id. Bulk support: accepts workout_ids for batched execution.

Parameters* required
accountstring
workout_id*string
workout_idsarray
garmin_schedule_workoutSchedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data. Bulk support: accepts workout_ids for batched execution.4 params

Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data. Bulk support: accepts workout_ids for batched execution.

Parameters* required
accountstring
date*string
workout_id*string
workout_idsarray
garmin_list_scheduled_workoutsList calendar scheduled workouts for a given month/year from Garmin calendar-service.3 params

List calendar scheduled workouts for a given month/year from Garmin calendar-service.

Parameters* required
accountstring
month*number
year*number
garmin_get_scheduled_workoutGet one scheduled workout entry by scheduled_workout_id. Bulk support: accepts scheduled_workout_ids for batched execution.3 params

Get one scheduled workout entry by scheduled_workout_id. Bulk support: accepts scheduled_workout_ids for batched execution.

Parameters* required
accountstring
scheduled_workout_id*string
scheduled_workout_idsarray
garmin_unschedule_workoutRemove workout from calendar by scheduled_workout_id (does not delete the workout template). Bulk support: accepts scheduled_workout_ids for batched execution.3 params

Remove workout from calendar by scheduled_workout_id (does not delete the workout template). Bulk support: accepts scheduled_workout_ids for batched execution.

Parameters* required
accountstring
scheduled_workout_id*string
scheduled_workout_idsarray
show_versionShow the current MCP platform and adapter versions.

Show the current MCP platform and adapter versions.

No parameters. Call it with no arguments.

report_bugReport a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.3 params

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

Parameters* required
contextstring
default:
conversationstring
default: []
message*string
connectReturns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

No parameters. Call it with no arguments.

toolkit_infoReturns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

No parameters. Call it with no arguments.

marketplaceThe official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one...23 params

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one...

Parameters* required
actionstring
one of search · describe · install · uninstall · subscribe · canceldefault: search
argumentsstring
default: {}
cancel_commentstring
default:
cancel_reasonstring
one of too_expensive · missing_features · switched_service · unused · customer_service · too_complex
conversationstring
default: []
immediateboolean
default: false
limitnumber
default: 10
mcp_idstring
default:
messagestring
default:
prompt_bodystring
default:
prompt_categorystring
default:
prompt_descriptionstring
default:
prompt_slugstring
default:
prompt_targetsarray
prompt_titlestring
default:
prompt_toolstring
default:
prompt_varsstring
default: {}
querystring
default:
report_contextstring
default:
request_detailsstring
default:

+3 more parameters. See the server's own documentation for the full schema.

Sponsors

Readme

Garmin Connect (treinos)

Garmin Connect (treinos) para Claude, Cursor e agentes de IA

Listar, obter, criar, editar (substituir), apagar e agendar treinos estruturados no Garmin Connect (corrida, ciclismo, natação, multi-sport / triatlo). Usa a API não oficial via sessão Garmin (email + senha); tokens OAuth são guardados encriptados para reduzir logins.

  • 📊 0 ferramentas
  • 🔒 Somente leitura
  • 💬 Funciona com qualquer cliente MCP: Claude Desktop, Cursor, VS Code, Cline, Continue
  • 🔑 Login via magic-link (sem senha)

English version · Documentação completa · Skill pra agentes


Instalar em 1 clique

Claude (Web e Desktop)

A Anthropic unificou a instalação de MCPs em claude.ai/customize/connectors. O mesmo link serve pra Claude Web e Claude Desktop (basta estar logado):

➕ Abrir no Claude e conectar


View the full README on GitHub

Details

Repository
github.com/mcp-dir/garmin-mcp
Categories
Search & Web Crawling, Automation & Workflows
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026

More from mcp-dir

Related Search & Web Crawling MCP servers

View all
1mirrormemory-ai avatarMirror Memory MCP Servermirrormemory-ai/mcp-serverPersonal knowledge base MCP server with semantic search, auto-categorization, metadata extraction0stars
2mkibrick avatarCompShopmkibrick/compshopSearch 350+ compensation surveys by industry, region, or job title. Independent directory.0stars
3n0moreher0 avatarVenira Mcpn0moreher0/venira-mcpWorkspace-scoped MCP server for coding agents: files, search, shell, checkpoints, PR/CI, audit.0stars
4navifare avatarNavifare Mcpnavifare/navifare-mcpFlight price comparison MCP server. Search multiple booking sources to find better flight prices.0stars
5negimaru1025 avatarHoShynegimaru1025/hoshySearch Rakuten Ichiba products and compare prices via Claude. Zero setup, no API key needed.0stars
6tier-1-protocol avatarTier 1 Protocoltier-1-protocol/tier1-protocol-connectorSearch files while they stay encrypted: the problem DARPA chased for a decade. Exact quotes back.0stars