Cotlet.dev
Provides tools for interacting with a user's Garmin Connect account, enabling AI agents to read training and health data such as sleep, HRV, pace, heart rate, cadence, and VO2 max trends, and to build and schedule workouts on the Garmin calendar.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cotlet.dev Build me a 10 km tempo run workout and schedule it for Thursday."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpTools: 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 connectOr 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
Start free: https://cotlet.dev/signup?app=garmin&utm_source=github&utm_medium=readme&utm_campaign=garmin
Available Tools
7 toolsgarmin_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
Scored across 7 tools
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'.
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.
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.
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
Related MCP Connectors
Adaptive running coach MCP server — training data, plans, and recovery for AI assistants.
Pace is a remote MCP server that exposes wearable and fitness data to Claude via the Model Context Protocol. It connects to Garmin, Oura, Whoop, Polar, Fitbit and 20+ devices and provides 15 tools for querying sleep, activity, recovery, and training data. Hosted on Google Cloud Run, OAuth 2.1 authentication, Streamable HTTP transport. Instructions: First you need to create an account at: https://pacetraining.co and connect your wearables. After that you can connect the remote Server via Custom Connector in Claude and OAuth 2.1 Flow startet.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
tri-train is a training platform for triathletes that syncs activities from Strava and Garmin and exposes them to Claude through a remote MCP server. Ask Claude how your last block went, why your run pace dropped, or whether you are fresh enough for Sunday's race, and it answers from your real data: activities with laps and grade-adjusted pace, weekly load and the performance management chart (CTL/ATL/TSB), sleep, HRV and resting heart rate, and your race calendar with predictions. Claude can also act: create and adjust planned workouts with structured intervals, push them to your Garmin watch, add races and write notes. Every change is journaled and can be undone. Read and write access are separate OAuth scopes, and the server enforces them on every call. Built and hosted in Switzerland by a triathlete; data stays on our own servers (Swiss revDSG / GDPR).
Related MCP Servers
- AlicenseAqualityCmaintenanceAn 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.97223 npm190MIT
- AlicenseBqualityBmaintenanceLocal-first MCP server that connects AI agents to your Garmin sleep, HRV, Body Battery, stress, training readiness and activities, keeping tokens on your machine.242484 npm13MIT
- AlicenseNot gradedqualityCmaintenanceMCP 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.24MIT
- AlicenseNot gradedqualityDmaintenanceA 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