Garmin Connect MCP Server and API by Cotlet
RemoteAbout Garmin Connect MCP Server and API by Cotlet
Garmin Connect MCP Server and API by Cotlet connects AI clients to a Garmin Connect account for fitness and health tracking. It lets users review training data and create or schedule workouts through a hosted MCP service, with a local stdio server and CLI.
Key features
- 01Review activities and health metrics
- 02Compare training sessions
- 03Create and schedule workouts
- 04Read Garmin Connect pages through tools
- 05Connect through hosted MCP or stdio
- 06Configure clients with the CLI
Use cases
- 01Track changes in sleep and HRV
- 02Compare pace and heart rate across runs
- 03Plan training and schedule workouts on the calendar
MCP support
The hosted Cotlet.dev service exposes Garmin Connect operations to MCP clients. A local stdio server lists tools and forwards calls to the hosted service.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://cotlet.dev/mcp/v1/garmin/connectclaude mcp add --transport http dev-cotlet-garmin https://cotlet.dev/mcp/v1/garmin/connect{"mcpServers":{"dev-cotlet-garmin":{"type":"http","url":"https://cotlet.dev/mcp/v1/garmin/connect"}}}Open in Cursor{"servers":{"dev-cotlet-garmin":{"type":"http","url":"https://cotlet.dev/mcp/v1/garmin/connect"}}}Open in VS Code{"mcpServers":{"dev-cotlet-garmin":{"type":"http","url":"https://cotlet.dev/mcp/v1/garmin/connect"}}}{"mcpServers":{"dev-cotlet-garmin":{"serverUrl":"https://cotlet.dev/mcp/v1/garmin/connect"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://cotlet.dev/mcp/v1/garmin/connecthttps://cotlet.dev/mcp/v1/garminAuth requiredTools
Details
From the project READMEHow 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?
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
- Garmin Connect on Cotlet.dev
- PyPI package garmin-cotlet-mcp
- Glama
- Step-by-step guide (PDF) on Internet Archive
Also works with
- Mangomint MCP
- Wanderlog MCP
- SmugMug MCP
- Housecall Pro MCP
- Medium MCP
- Crexi MCP
- DistroKid MCP
- LinkedIn MCP
- EstimateOne MCP
- All apps connected through Cotlet.dev
Start free: https://cotlet.dev/signup?app=garmin&utm_source=github&utm_medium=readme&utm_campaign=garmin
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.