Coach MCP server
io.github.snoozelieb/coach-mcp·v1.3.0·2 starsAdaptive AI training coach MCP server backed by Garmin Connect
not scanned yet
2 stars26 downloads/wk
Reviews
Write oneNobody 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.
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
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-mcpJump 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.pyConnect 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-mcpOr 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
- Create your profile. From a source checkout, run the interactive wizard:
python scripts/setup_wizard.pyIt 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- 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.