MCP.Market

Coach MCP server

by snoozelieb·io.github.snoozelieb/coach-mcp·v1.3.0·2 stars

Adaptive AI training coach MCP server backed by Garmin Connect

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

not scanned yet

Adoption
Growing

2 stars26 downloads/wk

Reviews

Write one

Nobody has reviewed Coach yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Coach tools

No tool declarations could be read from the package source. They show once the server is installed.

Not scanned yet. New listings are scanned within a day or two of arriving.

How Coach compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
78/100
higher than 57% of 48,255 servers
GitHub stars
2
more than 75% of 28,688 servers
Downloads a week
26
more than 13% of 12,191 servers with a package

Release history: 2 versions in the registry since 2026-06-10, latest 2026-10-26, typically one every 138 days.

Install Coach in Claude Code, Cursor or VS Code

claude mcp add coach-mcp -- uvx garmin-coach-mcp
Add to Cursor

What the publisher says

From the Coach repository's README, as published. We do not edit it. Read it on GitHub

coach-mcp

<!-- mcp-name: io.github.snoozelieb/coach-mcp -->

An opinionated AI training coach as an MCP server. It pulls your real data from Garmin Connect and prescribes with authority — science-based load management (ACWR), code-enforced injury gates (the server rejects plans that violate an active injury restriction, no matter what the LLM says), and persistent coaching memory so decisions, rationale, and your adaptation patterns survive between conversations. It will tell you "no" when your enthusiasm exceeds your capacity.

All health data and credentials stay on your machine — see Security & Privacy.

Quickstart

You need Python 3.12+, a free Garmin Connect account, and an MCP client (Claude Code, Claude Desktop, or Cursor).

Option A: uvx (recommended)

No install step — your MCP client runs the server on demand:

uvx garmin-coach-mcp

Jump to Connect your MCP client and use uvx as the command.

Option B: from source

git clone https://github.com/snoozelieb/coach-mcp.git
cd coach-mcp

python -m venv .venv
# Linux/macOS:
source .venv/bin/activate
# Windows:
.venv\Scripts\activate

pip install -r requirements.txt
cp .env.example .env   # then edit: GARMIN_EMAIL, GARMIN_PASSWORD
python server.py

Connect your MCP client

The server needs two environment variables: GARMINEMAIL and GARMINPASSWORD. Optional: COACHDATADIR (where your coaching data lives) and ANTHROPICAPIKEY (only for the standalone daily_loop.py --llm script). From a source checkout, a .env file works too.

Claude Code

claude mcp add coach-mcp \
  --env GARMIN_EMAIL=you@example.com \
  --env GARMIN_PASSWORD=your_garmin_password \
  -- uvx garmin-coach-mcp

Or in .mcp.json:

{
  "mcpServers": {
    "coach-mcp": {
      "command": "uvx",
      "args": ["garmin-coach-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@example.com",
        "GARMIN_PASSWORD": "your_garmin_password",
        "COACH_DATA_DIR": "/path/to/your/coach-data"
      }
    }
  }
}

Running from source instead: claude mcp add coach-mcp -- python /full/path/to/coach-mcp/server.py

Claude Desktop

In claudedesktopconfig.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "coach-mcp": {
      "command": "uvx",
      "args": ["garmin-coach-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@example.com",
        "GARMIN_PASSWORD": "your_garmin_password",
        "COACH_DATA_DIR": "/path/to/your/coach-data"
      }
    }
  }
}

Cursor

In .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "coach-mcp": {
      "command": "uvx",
      "args": ["garmin-coach-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@example.com",
        "GARMIN_PASSWORD": "your_garmin_password",
        "COACH_DATA_DIR": "/path/to/your/coach-data"
      }
    }
  }
}

If you installed with pip install garmin-coach-mcp instead of uvx, use "command": "garmin-coach-mcp" with no args in any of the blocks above.

First run

  1. Create your profile. From a source checkout, run the interactive wizard:
python scripts/setup_wizard.py

It creates your athlete profile, training config, and empty plan/memory files in the data directory. Alternatively, create the two required files by hand and let the coach fill in the rest via conversation:

echo '{"personal":{"name":null},"injury_history":[],"life_constraints":{}}' > data/athlete.json
   echo '{"events":[],"current_block":{"phase":"base"}}' > data/training_config.json
  1. Pull your Garmin baseline. In your MCP client, say:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Coach: common questions

Is Coach MCP server safe?
Mostly: it is graded B (78/100). Read the Coach safety report
How do I install Coach?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Coach need an API key?
Yes. The registry entry asks for GARMIN_PASSWORD.
Is Coach maintained?
The last commit was 69 days ago (2026-08-27). The latest release is v1.3.0.
How does Coach compare with other MCP servers?
safety score 78/100 (higher than 57% of 48,255 servers); github stars 2 (more than 75% of 28,688 servers); downloads a week 26 (more than 13% of 12,191 servers with a package). Full comparison.