Skip to main content
Glama

How to connect Garmin Connect to Claude Code, ChatGPT and any AI agent

Yes, Claude, ChatGPT and other AI agents can work in your Garmin Connect account. Garmin's own API is pull-only and made for developers. Cotlet.dev connects your own Garmin Connect account to any AI agent, so the AI can read your training and build and schedule workouts for you.

What you can ask

Build a 10 km tempo run workout and put it on my Garmin calendar for Thursday.

How did my sleep and HRV change over the last 4 weeks?

Plan my next 8 weeks for a half marathon and schedule the workouts.

Compare my last three long runs: pace, heart rate, cadence.

What's my VO2 max trend this year?

Related MCP server: Garmin MCP

Connect in 2 minutes

Get your API key at https://cotlet.dev/app and export it as COTLET_API_KEY.

Claude Code

claude mcp add --transport http cotlet https://cotlet.dev/mcp/v1 --header "Authorization: Bearer $COTLET_API_KEY"

ChatGPT

Settings → Apps → add connector URL https://cotlet.dev/mcp/v1, then sign in with Cotlet.dev. No API key needed.

Cursor

Copy .cursor/mcp.json from this repo into your project:

{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": {
        "Authorization": "Bearer ${COTLET_API_KEY}"
      }
    }
  }
}

Run it locally (stdio)

This repo is a real MCP server. It speaks MCP over stdio, lists its Garmin Connect tools without any key, and forwards every tool call to the hosted Cotlet.dev server. The hosted URL above stays the recommended way. Use this when your client only starts local servers.

{"mcpServers":{"garmin":{"command":"uvx","args":["garmin-cotlet-mcp"],"env":{"COTLET_API_KEY":"your-key"}}}}

Or with Docker:

docker build -t garmin-mcp .
docker run -i --rm -e COTLET_API_KEY garmin-mcp

Tools: garmin_guide, garmin_status, garmin_open, garmin_read, garmin_click, garmin_type, garmin_close. Without COTLET_API_KEY a tool call answers: "Set COTLET_API_KEY. Get a key at https://cotlet.dev/app".

Command line

Python 3.10+, nothing else to install. From PyPI:

pip install garmin-cotlet-mcp        # or run it once: uvx garmin-cotlet-mcp connect
garmin-cotlet-mcp connect

Or straight from this repo:

export COTLET_API_KEY="your-key"
python3 garmin_agent.py connect   # ready config for Claude Code, Cursor, ChatGPT
python3 garmin_agent.py status    # is Garmin Connect ready in your Cotlet.dev account
python3 garmin_agent.py guide     # Garmin Connect screens and sign-in link
python3 garmin_agent.py read      # open Garmin Connect, read the page, close the browser
python3 garmin_agent.py tools     # list Cotlet.dev tools
python3 garmin_agent.py serve     # start the stdio MCP server (same as no argument)

Questions from Garmin Connect users

Does Garmin Connect have an API?

Garmin has a personal, pull-only API and a business Health API for developers. Neither lets an AI agent create and schedule workouts for you. Cotlet.dev works in your own Garmin Connect account, so it can.

How do I connect my Garmin to Claude AI?

Add Cotlet.dev to Claude (the claude mcp add command above, or a custom connector in the Claude app), sign in to Garmin Connect once in your Cotlet.dev Cloud Browser, and ask Claude about your training.

How do I connect Garmin Connect to ChatGPT?

Add Cotlet.dev as an app in ChatGPT (Settings → Apps, connector URL https://cotlet.dev/mcp/v1), sign in to Garmin Connect once in your Cotlet.dev Cloud Browser, and ask ChatGPT in plain words. No code and no Garmin Connect API key.

Is there a Garmin Connect MCP server?

Garmin Connect has no official MCP server. Cotlet.dev is a hosted MCP server that works in Garmin Connect for you, 24/7, with Claude, ChatGPT, Cursor, Codex, n8n, Make and Zapier.

Find it on

Also works with


More: https://cotlet.dev/integrations/garmin-api-mcp-server?utm_source=github&utm_medium=readme&utm_campaign=garmin

Start free: https://cotlet.dev/signup?app=garmin&utm_source=github&utm_medium=readme&utm_campaign=garmin

Available Tools

7 tools
garmin_clickBInspect

Click a numbered element on the current Garmin Connect page.

Inputs: element (required).

garmin_closeAInspect

Close the Garmin Connect browser session when the work is done, so credits stop running.

Inputs: no named parameters.

garmin_guideBInspect

How to work in Garmin Connect (workouts and training data): its screens and the sign-in link. Call this first.

Inputs: task.

garmin_openBInspect

Open a Garmin Connect page in your signed-in Cloud Browser (default https://connect.garmin.com) to work with workouts and training data.

Inputs: url.

garmin_readBInspect

Read the current Garmin Connect page: its text and numbered buttons, links and fields.

Inputs: element.

garmin_statusBInspect

Check that your Cotlet.dev account and Garmin Connect are ready: account, credits and Garmin Connect connection.

Inputs: no named parameters.

garmin_typeBInspect

Type text into a numbered field on the current Garmin Connect page.

Inputs: text (required), element (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool maps to a distinct phase of the workflow: onboarding (garmin_guide), readiness check (garmin_status), and a clean browser primitive set (open/read/click/type/close). The only near-overlap is guide vs. status, but their descriptions clearly separate 'how-to instructions' from 'account/connection check'.

    Naming Consistency4/5

    All tools share a predictable garmin_ prefix, which makes the set easy to scan. However, guide and status are noun-style names while open/read/click/type/close are verbs, a minor deviation from a pure verb_noun convention.

    Tool Count5/5

    Seven tools is well-scoped for a single-site browser automation workflow. Each tool earns its place: two setup/context tools plus five minimal browser primitives, with no redundancy.

    Completeness4/5

    The surface covers the full browse loop (open, read, click, type, close) plus onboarding and status, which is enough for most Garmin Connect tasks. Minor gaps exist for navigation/scroll/back and verification of results (e.g. screenshot or wait), but agents can work around these by re-reading the page.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      An MCP server that provides access to Garmin Connect fitness, health, and training data through 61 specialized tools. It enables users to query activities, sleep metrics, and performance stats directly within AI clients like Claude or Cursor.
      97
      223 npm
      190
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Local-first MCP server that connects AI agents to your Garmin sleep, HRV, Body Battery, stress, training readiness and activities, keeping tokens on your machine.
      2
      42
      484 npm
      13
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server that connects Garmin Connect data to Claude, enabling training analysis, recovery checks, and personalized plans based on real metrics like HRV, training load, and activities.
      24
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A local MCP server that exposes your Garmin Connect data—sleep, HRV, training readiness, workouts, and more—to any MCP-compatible AI assistant. Runs entirely on your machine and keeps your Garmin credentials private.
      MIT