Garmin Connect (treinos)

io.github.mcp-dirPublished by GitHub account mcp-dirv0.1.0Updated Oct 24, 2026

List, fetch, create, edit (replace), delete and schedule structured workouts on Garmin Connect (runn

VerifiedStreamable HTTPWeb executableLocation & LifestyleProductivity & Workflow

Overview

AI-generated overview

Remote MCP server that lets an assistant list, create, edit, delete and schedule structured workouts on Garmin Connect.

What you can do
  • List and fetch saved Garmin workouts, including full segment, step and target structure
  • Create, replace or delete structured workout templates, with bulk IDs supported
  • Schedule workouts onto the Garmin calendar, list a month's scheduled entries, and unschedule them
  • Manage linked Garmin logins and check connection status
  • Use platform helpers for version info, bug reports, toolkit state, marketplace search and authentication
When to use it
Useful when you want an assistant to build or adjust structured training sessions and place them on a Garmin Connect calendar without opening the Garmin app. Suits coaches or athletes managing recurring workout templates and schedules.
Requirements
Runs as a remote endpoint at api.mcp.ai over streamable HTTP; nothing to install locally. A Garmin Connect account must be linked through the server's connect flow, and IDE agents may need an access token supplied as an Authorization Bearer header.
Before you install
The server can create, replace, delete and unschedule workouts, and edits work by uploading a new workout and deleting the old one, so changes are not trivially reversible. It handles Garmin account credentials and access tokens; treat the bearer token as a secret. Bug reports can include recent conversation messages.

Installation

In SourceWeft

  1. Open Garmin Connect (treinos) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.mcp-dir%2Fgarmin-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "garmin-connect-treinos": {
      "type": "http",
      "url": "https://api.mcp.ai/p_garmin"
    }
  }
}

README

This repository has no README.

Tools

16

garmin_list_accounts

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

Parametersaccount

garmin_list_workouts

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

Parameterslimitstartaccount

garmin_get_workout

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.

Parametersaccountworkout_idrequiredworkout_ids

garmin_submit_workout

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 automatically (see workout.description). Multi-sport: sportTypeKey multi_sport (typically sportTypeId 5) with one segment per discipline. Returns workout_id and raw_data.

Parametersaccountworkoutrequired

garmin_edit_workout

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.

Parametersaccountworkoutrequiredworkout_idrequiredworkout_ids

garmin_delete_workout

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

Parametersaccountworkout_idrequiredworkout_ids

garmin_schedule_workout

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.

Parametersdaterequiredaccountworkout_idrequiredworkout_ids

garmin_list_scheduled_workouts

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

Parametersyearrequiredmonthrequiredaccount

garmin_get_scheduled_workout

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

Parametersaccountscheduled_workout_idrequiredscheduled_workout_ids

garmin_unschedule_workout

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

Parametersaccountscheduled_workout_idrequiredscheduled_workout_ids

show_version

Show Version

Show the current MCP platform and adapter versions.

Takes no parameters.

report_bug

Report Bug

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

Parameterscontextmessagerequiredconversation

connect

Connection Status

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.

Takes no parameters.

toolkit_info

Toolkit Info

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

Takes no parameters.

marketplace

Marketplace

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 MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

Parameterslimitqueryactionmcp_idmessagetool_idargumentsimmediatetier_slugprompt_bodyprompt_slugprompt_tool+11 more

authenticate

Authenticate

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

Parameterstoken

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

75% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.